apache2的配置文件通常位于/etc/apache2下面。
Linux下 Apache的配置文件是 /etc/apache2/apache2.conf,Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。
在apache2.conf里有sites-enabled目录,而在 /etc/apache2下还有一个sites-available目录,其实,这里面才是真正的配置文件,而sites- enabled目录存放的只是一些指向这里的文件的符号链接,可以通过ls -al /etc/apache2/sites-enabled/来查看。
所以,如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了:当在sites-enabled下建立一个指向某个虚拟主机配置文件的链接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,无需去改配置文件,还是很方便的。
例如:我的配置文件增加了sun_mgt1938.conf 如下
sun@karat:/etc/apache2$ ls
apache2.conf conf-available conf-enabled envvars magic mods-available mods-enabled ports.conf sites-available sites-enabled
sun@karat:/etc/apache2$ cd sites-available/
sun@karat:/etc/apache2/sites-available$ ls
000-default.conf default-ssl.conf sun.conf sun_mgt1938.conf
使用:sudo a2ensite xxxx.conf 启用配置文件
sun@karat:/etc/apache2/sites-available$ sudo a2ensite sun_mgt1938.conf
[sudo] password for sun:
Enabling site sun_mgt1938.
To activate the new configuration, you need to run:
systemctl reload apache2
sun@karat:/etc/apache2/sites-available$ sudo systemctl reload apache2
sun@karat:/etc/apache2/sites-available$ ls
000-default.conf default-ssl.conf sun.conf sun_mgt1938.conf
然后查看其文件状态:
sun@karat:/etc/apache2/sites-enabled$ ls -l
total 4
lrwxrwxrwx 1 root root 27 Jun 27 14:01 sun.conf -> ../sites-available/sun.conf
lrwxrwxrwx 1 root root 35 Jul 19 16:50 sun_mgt1938.conf -> ../sites-available/sun_mgt1938.conf
sun@karat:/etc/apache2/sites-enabled$ ls
sun.conf sun_mgt1938.conf
sun@karat:/etc/apache2/sites-enabled$ ls -ls
total 0
0 lrwxrwxrwx 1 root root 27 Jun 27 14:01 sun.conf -> ../sites-available/sun.conf
0 lrwxrwxrwx 1 root root 35 Jul 19 16:50 sun_mgt1938.conf -> ../sites-available/sun_mgt1938.conf
参考文档:
http://manpages.ubuntu.com/manpages/trusty/en/man8/a2ensite.8.html