我已经成功运行 Vagrant 大约一周了。昨晚我运行了 vagrant reload,现在我无法再访问我的网站。
- VirtualBox 版本 4.2.16
- 流浪者版本1.2.7
- 我的 Vagrantfile 和 bootstrap.sh:https://github.com/kriskd/vagrant-settings https://github.com/kriskd/vagrant-settings
- 在 Mac 上运行
我的文件位于 /vagrant/Sites。首先,我的“欢迎页面”位于 /vagrant/Sites 处,呈现在
http://localhost:4567/
我的所有项目都是站点下的文件夹。例如,/vagrant/Sites/test 不会呈现index.html。我得到以下内容
禁止
您没有权限访问此服务器上的 /。
Apache/2.4.6 (Ubuntu) 服务器位于本地主机端口 4567
虚拟主机看起来像:
<VirtualHost *:80>
DocumentRoot "/vagrant/Sites/test"
ServerName test
<Directory "/vagrant/Sites/test">
AllowOverride All
</Directory>
</VirtualHost>
虚拟主机归 root 所有。我的项目文件归 vagrant 和 chmod'ed 0777 所有。
没有成功后,我进行了一次完整的 vagrant destroy,然后进行 vagrant up,然后本地主机欢迎页面也停止渲染,并出现禁止错误。
我的预感是,这根本不是一个无用的问题,而只是一个 Apache 配置故障。我可以考虑检查一些事情。
首先,显然是要确认运行 apache 的用户具有 DocumentRoot 文件夹的读取和执行权限。
既然你提到了 Apache 2.4,从 2.2 开始,配置发生了变化 http://httpd.apache.org/docs/2.4/upgrading.html#run-time。确保您的Allow from all
现在阅读的声明Require all granted
。 (如果您仍在使用 2.2,您需要确保他们说Allow from all
代替Deny from all
.) 在任何一种情况下,您都可以在每个<VirtualHost>
单独设置,或在您的<Directory />
主块httpd.conf
file.
变得更加模糊,你可以检查一下selinux http://wiki.centos.org/HowTos/SELinux,尽管我很确定默认情况下 Ubuntu 中不存在此功能。 (例如,在 CentOS 中。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)