无法使虚拟主机工作

无法使虚拟主机工作

我的本地开发机 Ubuntu 14.04 上有 3 个 drupal 站点在运行。我在让第二个和第三个站点运行的时候遇到了问题,当它们运行起来时,我感觉这完全是运气好。这三个站点让我坚持了很长时间,但现在我需要第四个站点,而我无法让它运行。

这是我创建网站的过程

  1. 将 drupal 文件放入文件夹 ~/workspace/sitedemo1
  2. 创建虚拟主机 sitedemo1.conf(复制其中一个可用的文件,然后编辑相关详细信息)
  3. 编辑 /etc/ports - 输入“127.0.0.1 sitedemo1”
  4. a2ensite sitedemo1
  5. 服务 apache2 重新加载

结果是我得到了“Apache2 Ubuntu 默认页面”,我非常困惑,因为其他 3 个站点正在运行,而我也做了同样的事情。

站点演示1.conf

<VirtualHost *:80>
    ServerAlias sitedemo1
    DocumentRoot /home/karl/workspace/sitedemo1
    <Directory "/home/karl/workspace/sitedemo1">
            Options FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>

上面我混淆了 /etc/hosts 和 /etc/apache2/ports.conf。以下是两者的内容。

/etc/apache2/ports.conf

# original line: Listen 80
Listen 127.0.0.1:80
Listen 127.0.0.2:80

<IfModule ssl_module>
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
 Listen 443    
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

/etc/hosts

127.0.0.1   localhost
127.0.1.1   Ubuntu-05
127.0.0.1   drupal-8.localhost
127.0.0.1   drupal-7-site01.localhost
127.0.0.1   drupal-7-site02.localhost
127.0.0.1 sitedemo1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

答案1

根据 Apache文档

ServerName 继承

最好始终在每个基于名称的虚拟主机中明确列出 ServerName。

如果 VirtualHost 未指定 ServerName,则服务器名称将从基本服务器配置中继承。如果未全局指定服务器名称,则在启动时通过第一个侦听地址的反向 DNS 解析检测服务器名称。无论哪种情况,此继承的服务器名称都会影响基于名称的虚拟主机解析,因此最好始终在每个基于名称的虚拟主机中明确列出 ServerName。

ServerName 需要完整限定域名 (FQDN)尝试在配置文件 (/etc/hosts 和 sitedemo1.conf) 中的 sitedemo1.localhost 中更改 sitedemo1

添加 ServerAlias :

   ServerName sitedemo1.localhost

相关内容