我正在尝试将子域添加到我的家庭服务器。
svn.domain.com trac.domain.com
由于动态IP,我使用dyndns服务,最重要的是我将domain.com托管在其他地方。我为远程主机上的子域创建了CNAME,指向我的user.dyndns.org域。
所以现在当我访问子域名:trac或svn时,我看到“它有效!”消息。
这样做了,我在/ etc / apache2 / sites-enabled
下创建了两个虚拟主机文件file1:svn.domain.com和file2: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不存在!
我做错了什么?
答案 0 :(得分:110)
从Apache 2.2升级到Apache 2.4时出现此问题。 (荒谬的)解决方案是确保所有文件以.conf
结束,或a2ensite
结束ERROR: Site example does not exist!
。
此外,在sites-enabled
中手动关联时,如果没有.conf
扩展名,它们甚至无法加载。
答案 1 :(得分:19)
当我从Apache 2.2升级到2.4时,我也遇到了同样的问题;我的所有虚拟主机突然断了,在试图寻找原因的时候,我偶然发现了这个问题。
事实证明,原因是我的旧apache2.conf
和新apache2.conf
之间存在差异。我的旧Apache 2.2 conf文件有行
Include sites-enabled/
而我的新Apache 2.4 conf文件有行
IncludeOptional sites-enabled/*.conf
瞧,当我把线路改为
时IncludeOptional sites-enabled/
一切都恢复正常了。
答案 2 :(得分:7)
尝试将文件移至/ sites-available。然后运行a2ensite svn.domain.com
和a2ensite trac.domain.com
并重新加载Apache。
答案 3 :(得分:3)
a2ensite仅接受.conf文件,因此复制站点中的所有站点 - 可用,因此具有.conf扩展名(重命名不起作用,导致链接方法),从可用站点和已启用站点的站点中删除原始文件。在新文件上使用a2ensite(你不需要添加.conf)这一切都可行,我们没有/etc/apache2/apach2.conf中的* .conf
原始文件必须有一些“记忆”,即使它被重命名 - 符号链接也重命名,但是擦除&amp;启用“新”.con文件,然后您可以像以前一样使用a2dissite和a2ensite
答案 4 :(得分:3)
如果您键入a2ensite。它会提示。您希望启用哪些站点(即,在将.conf文件放入站点后可用并从启用站点链接它。
a2ensite期望使用.conf扩展名
的conf文件的全名答案 5 :(得分:0)
1)删除sites-enable中的所有默认网站
a2dissite <site-configuration-file-name>
2)仔细查看配置文件:从最小属性开始:
<VirtualHost [Domain]:80>
ServerAdmin webmaster@localhost
ServerName [Domain]
DocumentRoot [webAppPath]
<Directory [webAppPath]>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/my_domain_name_error.log
CustomLog ${APACHE_LOG_DIR}/my_domain_name_access.log combined
</VirtualHost>
答案 6 :(得分:0)
我的本地服务器名称解决方案正在取代:
sudo a2ensite serverName
与
sudo a2ensite serverName.conf