12

我正在尝试在我的 Mac OS X 10.7 安装上设置一个虚拟主机。我正在使用 VirtualHostX 来管理我的 /etc/hosts 和 httpd-vhosts.conf 文件。目前,我的 httpd-vhosts.conf 文件如下所示:

NameVirtualHost *:80

<Directory "/Users/yuval/Sites/mysite/">
Allow From All
AllowOverride All
</Directory>
<VirtualHost *:80>
    ServerName "mysite.dev"
    DocumentRoot "/Users/yuval/Sites/mysite"
</VirtualHost>

我的 /etc/hosts 文件中有这个:

# VHX START
127.0.0.1 mysite.dev
fe80::1%lo0 mysite.dev
# VHX STOP

我在系统偏好设置下激活了网络共享,我知道 apache 正在运行。但是,当我导航到 127.0.0.1 或 mysite.dev 时,我得到以下信息:

禁止的

您无权访问此服务器上的 /。

我对 /Users/yuval/Sites/mysite 的权限是 755。尝试将它们更改为 777 也无济于事。请注意,我选择的任何文件夹都会发生这种情况——我在 /Users/yuval/Sites/mysite 中没有 .htaccess 文件。

更新:检查 apache 错误,这些是出现的日志:

[Fri Dec 09 17:59:27 2011] [error] [client 127.0.0.1] (13)Permission denied:
    access to / denied
[Fri Dec 09 17:59:27 2011] [error] [client 127.0.0.1] (13)Permission denied:
    access to /favicon.ico denied

似乎很明显,vhosts + hosts 代码在实际确定地址存在时正在完成其工作,但由于某种原因,这不起作用。有任何想法吗?

4

2 回答 2

11

确保index.html文件在/Users/yuval/Sites/mysite/目录中。

或启用目录索引:

<Directory "/Users/yuval/Sites/mysite/">
  Options +Indexes
  Allow From All
  AllowOverride All
</Directory>

您还可以设置DirectoryIndex选项以查找除以下以外的默认文件index.htmlhttp ://httpd.apache.org/docs/current/mod/mod_dir.html

编辑

看到您的错误消息 - 这看起来不像是目录索引问题。

尝试此 ServerFault 答案中提到chmod 755的目录: https ://stackoverflow.com/a/1241319/212700/Users/yuval

还要检查目录.htaccess中的任何文件,/Users/yuval/Sites/因为 Apache 也会检查这些文件。

于 2011-12-10T02:02:32.357 回答
6

我唯一要做的就是重新指向我的自定义 vhost 目录(并重新启动 apache。)

我试图指向 ~/Sites/vhosts 而不是 /Users/[Username]/Sites/vhosts 我保存所有 .conf 文件的位置,因此出现配置错误。我一直在寻找 apache 日志,并从 apache 文档中了解到httpd -S其中告诉我配置问题的确切位置。

网络上的博客中有很多错误信息,所以我在这里为像我这样的 apache 菜鸟发布了这个。

httpd -S
# fix the issues
sudo apachectl restart
于 2012-10-05T13:43:55.297 回答