我正在尝试将子域添加到我的家庭服务器。
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 ;)