我们有一个网站(文件夹名 /srv/www/vhosts/wp-intranet托管在我们 LAN 中的服务器上。我们需要一个虚拟主机,以便可以通过“ http://192.168.20.25/intranet ”访问该网站和/或“ http://intranet.mycompany.de ”
我按照文档中的说明进行操作,但它不起作用。这是 VirtualHost 配置(/etc/apache2/vhost.d/wp-intranet.conf)
<VirtualHost 192.168.20.25>
ServerName intranet.mycompany.de
DocumentRoot /srv/www/vhosts/wp-intranet
ServerAdmin [email protected]
ErrorLog /var/log/apache2/intranet.mycompany.de_errorlog
CustomLog /var/log/apache2/intranet.mycompany.de_customlog common
<Directory "/srv/www/vhosts/wp-intranet">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我也添加NameVirtualHost *:80
到/etc/apache2/listen.conf
.
然后我在我的 Windows 客户端上创建了一个主机条目:
192.168.20.25 intranet.mycompany.de
intranet.mycompany.de
但是,如果我从我的 Windows 计算机导航到,则该文件/srv/www/htdocs/index.html
将打开。
我还重新启动了 apache 服务(service apache2 restart
)
我希望有人能指出我正确的方向。该文档没有帮助,我按照每个步骤进行操作,但仍然无法正常工作。
在
<VirtualHost>
指令中,语法是<VirtualHost addr[:port] [addr[:port]] ...>
. 虽然支持 IP 地址的完全限定域名,但不建议这样做。由于 ApacheHost:
通过ServerName
(并且可选地使用ServerAlias
)将主机名与标头区分开来,因此您不需要它。试试<VirtualHost *:80>
。我终于解决了。官方文档缺少重要信息并且不是最新的。
我必须在/etc/apache2/httpd.conf中包含我的虚拟主机配置文件/etc/apache2/vhost.d/wp-intranet.conf
然后我注意到我无法重新启动服务 apache2。
我执行
systemctl status apache2.service
并得到:所以我发现官方文档中的虚拟主机配置有语法错误。我不得不将其更改为:
现在我能够重新启动 apache2,如果我导航到
http://intranet.mycompany.de/
wordpress 站点就会打开!