在ubuntu系统中安装的apache2服务器,我们发现httpd.conf文件是空的,apache2.conf文件里没有DocumentRoot项,不过有一句Include /etc/apache2/sites-enabled/
在这里可以找到一个类似000-default的文件,通过ls发现他link过来的文件,源文件在 /etc/apache2下一个sites-available目录中的default文件,在这个文件里可以找到我们配置虚拟主机的代码DocumentRoot项。
所以我们要配置多个虚拟主机可以这样操作,在sites-available目录下把default文件copy一份:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mytest
然后修改mytest里面的端口号,默认目录等内容:
# 在ServerName后加上你的网站名称ServerName www.server110.com
# 如果你想多个网站名称都取得相同的网站,可以加在ServerAlias后加上其他网站别名。
# 别名间以空格隔开。
ServerAlias ftp.server110.com mail.server110.com
# 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题是可以联络网站管理员。
ServerAdmin [email protected]
# 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)
DocumentRoot /home/server110/public_html
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Allow from all
ErrorLog /home/server110/public_html/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/server110/public_html/access.log combined
ServerSignature On
如果你的服务器有多个IP,而不同的IP又有着不一样的虚拟用户的话,可以修改成:
...
启用配置
光在sites-available下建立这个文件还不够,我们还需要 把他link到enable目录下去。
sudo ln -s /etc/apache2/sites-available/mytest /etc/apache2/sites-enabled/mytest
在/etc/apache2目录下还有一个ports.conf ,要把我们配置的虚拟主机端口配置进去,类似这样的
NameVirtualHost *:80
Listen 80
NameVirtualHost *:6666
Listen 6666
最后重启apache:
sudo /etc/init.d/apache2 -k restart