当我启用虚拟主机时 Apache 返回 403
Posted
技术标签:
【中文标题】当我启用虚拟主机时 Apache 返回 403【英文标题】:Apache returns 403 when I enable virtual hosts 【发布时间】:2014-10-10 20:35:37 【问题描述】:我刚刚设置了一个 Cent OS 6 VPS,它可以完美地运行 LAMP,直到我启用了虚拟主机。 它总是返回 403 Forbidden 错误。
我将 /etc/httpd/conf/httpd.conf 更新为以下设置:
<Directory />
# Options Indexes FollowSymLinks MultiViews Includes ExecCGI
Options FollowSymLinks
AllowOverride All
# Order deny,allow
Order allow,deny
Allow from all
# Deny from all
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks MultiViews
#AllowOverride None
AllowOverride All
Order allow,deny
Allow from all
</Directory>
NameVirtualHost *:80
我已经创建了 /etc/httpd/conf/httpd.conf 加载的 /etc/httpd/conf.d/vhosts.conf。 (我用“mydomain”替换了我的真实域名和用户名)
<VirtualHost *:80>
ServerAdmin webmaster@mydomain
DocumentRoot /home/mydomain/htdocs
<Directory /home/mydomain/htdocs>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ServerName mydomain
ServerAlias mydomain
ErrorLog /home/mydomain/logs/error.log
# CustomLog /home/mydomain/logs/access.log common
</VirtualHost>
我更改了 /var/www/html 和 /home/mydomain/htdocs 的所有者和权限。
drwxr-xr-x 3 apache apache 4096 Aug 15 14:23 html
drwxr-xr-x 2 apache apache 4096 Aug 18 10:18 htdocs
drwxr-xr-x 2 apache apache 4096 Aug 18 10:37 logs
但现在我无法通过 IP 地址访问虚拟主机,即使是根文件 (/var/www/html)。如果我关闭(删除)虚拟主机,那么我可以访问 /var/www/html 中的页面。
谁能帮帮我?
非常感谢。
【问题讨论】:
【参考方案1】:如果是403 Forbidden
那么可能是权限错误,所以请确保您递归地应用权限。在终端输入这个
sudo chmod 755 -R /home/mydomain/htdocs
在你的 conf 中试试这个
<VirtualHost *:80>
DocumentRoot "/path/to/your/site"
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
</VirtualHost>
【讨论】:
感谢您的回复阿卡尔。是的,我递归地更改了权限和所有者。但它返回 403 错误。 非常感谢阿卡尔。我想我解决了这个问题。我不需要更新conf。我所做的是将 mydomain 目录的权限也更改为 755。以前是 700。 很高兴我帮助了你,如果对你有帮助,请确认并投票给答案 我会说将 /home/mydomain/htdocs 更改为 755 是不够的。该命令应该是 sudo chmod 755 -R /home/mydomain。用户文件夹的权限也需要更新。我投票给你的答案。再次感谢您的回复。 是的,当然,您应该是 root 用户,因为您正在编辑根文件夹。【参考方案2】:我刚刚解决了这个问题,将/home/mydomain/目录的权限改为755,即700。
感谢阿卡尔的帮助。他确实提到了权限。
【讨论】:
很高兴我帮助了你!现在确认答案并投票。谢谢! @Jonathan 在编辑时无法根据需要添加或删除内容,也无法键入 -updated by Jonathan-,您所做的是破坏行为。请注意规则。谢谢。 谢谢@mohacs。我没有意识到这一点。以上是关于当我启用虚拟主机时 Apache 返回 403的主要内容,如果未能解决你的问题,请参考以下文章
当我使用 Xampp for Mac 为本地站点使用虚拟主机时,如何避免 403 错误?