我已经设置 apache2 来使用三个域。它们被正确指向,并且我已设置站点可用的配置文件,如下所示:
这是 hfd-server.domain1.com,它显示默认的 APACHE2 成功页面。但是,它适用于 www.hfd-server.domain1.com。不明白。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.hfd-server.domain1.com
DocumentRoot /var/www/hfd-server.domain1.com/public_html
ServerAlias hfd-server.domain1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/hfd-server.domain1.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
以下是另外两个工作配置文件:
house.domain1.com
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.house.domain1.com
DocumentRoot /var/www/house-server.domain1.com/public_html
ServerAlias house.domain1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/house.domain1.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
house.domain2.com
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.house.domain2.com
DocumentRoot /var/www/house.domain2.com/public_html
ServerAlias house.domain2.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Other Directives Here
<Directory /var/www/house.domain2.com/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
访问日志和错误日志没有显示任何异常。不确定为什么其中一个可以工作,而另一个却不行。
我没有修改 000-default.conf。我害怕修改,所以我复制了文件并启用了它们。
还有什么我可以尝试的吗?HFD-SERVER.domain1.com 链接到我想要访问的控制面板。
更新日期 12-28-17
我使用了 sudo apachectl -t -D DUMP_VHOSTS,这是它列出的内容。
VirtualHost configuration: *:80 is a NameVirtualHost
default server HFD-SERVER.domain1.us (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost hfd-server.domain1.us (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.hfd-server.domain1.us (/etc/apache2/sites-enabled/hfd-server.domain1.us.conf:1) alias hfd-server.domain1.us
port 80 namevhost house.domain1.us (/etc/apache2/sites-enabled/house.domain1.us.conf:1) alias www.house.domain1.us
port 80 namevhost house.domain2.us (/etc/apache2/sites-enabled/house.domain2.us.conf:1) alias www.house.domain2.us
似乎默认服务器是 000-default.conf。有没有办法将 hfd-domain1.us.conf 设为默认服务器?
答案1
你可以用几种不同的方法解决这个问题
更改替换000-default.conf
相关行以匹配 hfd-domain1.us.conf
并删除,hfd-domain1.us.conf
然后/etc/apache2/sites-enabled
它将是“000-default.conf”,它指向具有正确文件夹结构的正确 hdf-domain1.us,并且其他两个将显示在转储中。
另一种方法是将和条目000-default.conf
更改为不同的内容,使它们不具有相同的名称,然后您将拥有一个指向这些新设置的默认站点..以及您创建的 3 个虚拟站点。ServerName
ServerAlias
hfd-domain1.us.conf
最后一种方法是进入/etc/apache2/sites-enabled/
目录并删除或重命名快捷方式以000-default.conf
将扩展名更改为000-default.conf~
更新:有人指出它似乎不允许您删除文件,因此我使用原始海报的信息更新了这个答案,最好的方法是运行sudo a2dissite 000-deafult.conf
删除 000-default.conf,从而使 3 个虚拟主机保持启用状态并且应该可以按您想要的方式运行。