【问题标题】:Apache returns 403 when I enable virtual hosts当我启用虚拟主机时 Apache 返回 403
【发布时间】: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 中的页面。

谁能帮帮我?

非常感谢。

【问题讨论】:

    标签: php apache virtualhost http-status-code-403


    【解决方案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。我没有意识到这一点。
    猜你喜欢
    • 1970-01-01
    • 2015-08-13
    • 2015-12-30
    • 2011-10-16
    • 2015-08-26
    • 1970-01-01
    • 2011-09-07
    • 2011-06-19
    • 2013-04-04
    相关资源
    最近更新 更多