使用 a2ensite 向 apache2 添加子域名会导致错误:错误:站点 domain.com 不存在!

使用 a2ensite 向 apache2 添加子域名会导致错误:错误:站点 domain.com 不存在!

我正在尝试将子域添加到我的家庭服务器。

svn.域名.com trac.域名.com

由于动态 IP,我使用 dyndns 服务,此外,我还在其他地方托管了 domain.com。我在远程主机上为子域创建了 CNAME,以指向我的 user.dyndns.org 域。

所以现在当我访问任一子域:trac 或 svn 时,我会看到“它有效!”消息。

完成后,我在 /etc/apache2/sites-enabled 下创建了两个虚拟主机文件

文件 1:svn.domain.com 和文件 2:trac.domain.com

内容:

<VirtualHost *:80>

  ServerName trac.domain.com

   DocumentRoot = /var/www/trac/repos

   <Directory /var/www/trac/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

<VirtualHost *:80>

  ServerName svn.domain.com

   DocumentRoot = /var/svn/repos

   <Directory /var/svn/repos>
    Order allow,deny
    allow from all
   </Directory>

</VirtualHost>

但我收到错误:错误:站点 trac.domain.com 不存在!

我究竟做错了什么?

答案1

配置文件需要位于 /etc/apache2/sites-available 下。然后,当您执行 a2ensite 时,它​​会将这些文件符号链接到 /etc/apache2/sites-enabled。您不需要手动触摸 sites-available。

答案2

您需要修改 /etc/apache2/apache2.conf 中的以下行

原始 /etc/apache2/apache2.conf:

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

新的 /etc/apache2/apache2.conf:

# Include generic snippets of statements
IncludeOptional conf-enabled/*

# Include the virtual host configurations:
IncludeOptional sites-enabled/*

否则,您需要使用 .conf 扩展名作为 vhost 配置文件名

是的,debian IncludeOptional 默认是 *,但对于 ubuntu,它是 *.conf ;)

相关内容