经过数小时的阅读/尝试了十几个有关设置虚拟主机的教程后,我似乎将一切设置正确。基本上,在升级我的 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。
更新 (11/05/13)
显然,“神奇的固定仙女”突然出现并解决了这个问题。据我所知,没有安装缓存引擎(除非 Apache 2.4 默认安装一个?),所以我不确定有什么可以改变自己以使其在周末解析到正确的目录(我没有工作),但你去。只是为了质问者:是的,我已经重新启动了 apache(一百万次),所以这不是解决方法。