我最近升级到了Mac OS 10.11 Sierra,但经典的 Web 服务器不能正常工作,或者说我的主目录无法运行。
Apache 服务器在本地主机上可以工作,因为我能看到 'It works' 页面,但是 localhost/~myuser
出现了这个错误提示:'The requested URL /~myuser was not found on this server'
我尝试按照这篇教程操作,但还是不行。请问有人能帮助我吗?
我最近升级到了Mac OS 10.11 Sierra,但经典的 Web 服务器不能正常工作,或者说我的主目录无法运行。
Apache 服务器在本地主机上可以工作,因为我能看到 'It works' 页面,但是 localhost/~myuser
出现了这个错误提示:'The requested URL /~myuser was not found on this server'
我尝试按照这篇教程操作,但还是不行。请问有人能帮助我吗?
在终端中,前往 /etc/apache2 目录并
sudo mv httpd.conf httpd.conf.sierra
sudo mv httpd.conf~previous httpd.conf
sudo apachectl restart
对我来说运作得像魔法一样。
我从El Capitan升级到Sierra后,以下方法对我也有效:
1)取消注释/etc/apache2/httpd.conf
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Include /private/etc/apache2/extra/httpd-userdir.conf
2) 取消注释 /etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/users/*.conf
3) 在我的/etc/apache2/users/$USERNAME.conf文件中,我也配置了ProxyPass,为了使它再次工作,我必须重新取消注释以下内容:httpd.conf
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
4) PHP可选:您还需要从httpd.conf中取消注释以下内容:
LoadModule php5_module libexec/apache2/libphp5.so
5) 当然,重启 Apache
sudo apachectl -k restart
虽然之前的事情对我有帮助,但现在我更有动力开始使用Vagrant了。
cd /etc/apache2
sudo mv httpd.conf httpd.conf.sierra
sudo mv httpd.conf~previous httpd.conf
cd /etc/apache2/extra
sudo mv httpd-vhosts.conf httpd-vhosts.conf.sierra
sudo mv httpd-vhosts.conf~previous httpd-vhosts.conf
sudo apachectl restart
在/etc/apache2/extra目录下
你会看到一个httpd-vhosts.conf~previous文件
那是你之前的vhosts.conf文件。
只需使用它上面的配置文件即可。
我觉得这很顺利。
最近我也将我的El Capitan升级到了Sierra,遇到了类似的问题。我检查了/etc/apache2/和extra目录,发现所有Apache配置文件都是在更新时创建的,看起来很默认,但也有我在El Capitan中自定义的带有“~previous”名称的文件。我所要做的就是用那些先前的文件替换这些默认文件,问题就迎刃而解了。
Include /private/etc/apache2/vhosts/*.vhost
然后
sudo apachectl restart