ubuntu上apache是通过apt-get install apache2 命令安装
apache配置文件是/etc/apache2/apache2.conf,apache启动的时候会自动读取此文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行:
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
……
# Include generic snippets of statements
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
在ubuntu中module和 virtual host的配置都有两个目录,一个是available,一个是enabled,available目录是存放有效的内容,但不起作用,只有用ln 连到enabled过去才可以起作用,在/etc/apache2目录下可以看到mods-available、mods-enabled、sites-available、sites-enabled,在sites-available中存放的是有效的虚拟主机设置,site-enabled中其实是虚拟主机是否使用的开关,里边存放的是指向sites-available中文件的符号链接,所以,如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了:当在sites-enabled下建立一个指向某个虚拟主机配置文件的链 接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,根本不用去改配置文件。可以通过 a2ensite激活,a2dissite来进行虚拟机注销
实例:
1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如: localword.com)
2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/localhost/word
ServerName localword.com
ErrorLog ${APACHE_LOG_DIR}/localword.com-error.log
CustomLog ${APACHE_LOG_DIR}/localword.com-access.log combined
</VirtualHost>
3. 通过 a2ensite 激活虚拟主机配置
sudo a2ensite localword.com
sudo a2dissite localword.com
5. 重启 Apache 服务, 激活虚拟主机
sudo /etc/init.d/apache2 restart