在 Ubuntu /etc/apache2/ 目录下有个 Apache2 的主配置文件 apache2.conf。在该文件中我们可以看到有这么一行内容:
Include sites-enabled
这行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中的所有文件。而当我们列出该目录的文件时,
发现只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,不难看出
该文件的文件名中并不包含 "." 或 "#"。所以这个文件当然是要被配置文件 apache2.conf 所包含的了。打开该文件,发现
它其实是一个虚拟主机的配置文件,不过由于该文件中的虚拟主机为 *,所以它实际上是一个通用配置文件。
下面来建个虚拟主机test-shen
cd /etc/apache2/sites-available
sudo vi test-shen
<VirtualHost *:80>
ServerName test.shen.com
ServerAdmin liushen_shen@163.com
DocumentRoot /var/www/test
ErrorLog ${APACHE_LOG_DIR}/test_shen_error.log
CustomLog ${APACHE_LOG_DIR}/test_shen_access.log combined
</VirtualHost>
然后再运行命令:
sudo a2ensite test-shen
这样的话,虚拟主机站点 test-shen就已经安装好了。这时你也可以在
/etc/apache2/sites-enabled/ 目录中发现多了一个到 /etc/apache2/sites-available/test-shen的软链接。接下来就是
将 Apache2 重启来使虚拟主机站点运行起来:
sudo service apache2 restart
这样你在浏览器上输入 test.shen.com的话,就会被指向/var/www/test目录了,而输入其他指向本机的域名则都会指到缺省配置中的 /var/www 目录中。