它出现我已经设置了正确的方法,经过几个小时的阅读/尝试十几个关于设置虚拟主机的教程。基本上,在升级我的Ubuntu发行版(我知道,对吧?)后,Apache升级到2.4,一切都破了。在试图解决这个问题之后,我决定将一切都吹掉并重新开始。 PHP / Apache是最新的。
我正在返回根索引(“It Works!”),但不是我指定的DocumentRoot。
/etc/apache2/sites-available/domain.com.conf
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
# Indexes + Document Root
DirectoryIndex index.php index.html
DocumentRoot /var/www/domain.com/htdocs/
# Logging
ErrorLog /var/www/domain.com/logs/error.log
CustomLog /var/www/domain.com/logs/access.log combined
<Directory "/var/www/domain.com/htdocs/">
Options Indexes FollowSymLinks Includes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
我输入了“sudo a2ensite domain.com.conf”,并且正如您所期望的那样显示在/ enabled-sites中。
apache2ctl -S
VirtualHost configuration:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain.com.conf:1)
alias www.domain.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
希望这是愚蠢的我忽略的,因为这是一个令人沮丧的夜晚,我已经尝试了我能想到的一切,所以我不必打扰你们这些人(对不起!)。我在启动/重启时没有从Apache那里得到任何错误,也没有在任何错误日志中得到任何错误。不确定这是否适用,但DirectoryRoot权限设置为755。
更新(2013年5月11日)
显然,“神奇的修理仙女”猛扑过来并解决了这个问题。根据我的知识没有安装缓存引擎(除非Apache 2.4默认安装一个?),所以我不确定什么可以改变自己使它在周末解析到正确的目录(我没有工作),但你去了。只是为了hecklers:是的,我已经重新启动了apache(一百万次),所以这不是解决方案。
答案 0 :(得分:6)
升级到Ubuntu的“俏皮”版本时遇到同样的问题。在我的情况下,我有几个配置(“sites-available”)没有后缀“.conf”。
由于apache2.conf的指令只包含具有此后缀的已启用站点,因此唯一正确加载的配置是默认配置。 因此,我建议您删除“sites-enabled”文件夹中的所有链接,确保“sites-available”中的所有配置都具有后缀.conf并使用“a2ensite”程序再次启用您的站点!
关心,加思
答案 1 :(得分:0)
您确定默认的vhost文件不是您要打的吗?首先使用a2dissite命令并重新启动apache,确保启用的唯一配置是新的vhost。
然后检查vhost中指定的访问日志,看看它实际上是什么。
# Logging
ErrorLog /var/www/domain.com/logs/error.log
CustomLog /var/www/domain.com/logs/access.log combined
应该特别针对您的VHOST:
# Logging
ErrorLog /var/www/domain.com/logs/error-example.com.log
CustomLog /var/www/domain.com/logs/access-example.com.log combined
答案 2 :(得分:0)
我知道这是一个老问题,但仍然没有真正的答案。我今天遇到了同样的问题,似乎用以下方式重新启动服务:
service apache2 restart
或重新加载:
service apache2 reload
a2ensite&#34;建议不够&#34;或者根本不起作用。我重新启动了几次没有结果的服务。然后我做了一个:
service apache2 stop
然后通过以下方式重新启动服务:
service apache2 start
这解决了这个问题。很奇怪看到这种行为,但它可能是由错误配置的脚本引起的。