启用虚拟主机时,Apache返回403

时间:2014-08-17 23:48:06

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

我刚刚设置了一个完全运行LAMP的Cent OS 6 VPS,直到我启用了虚拟主机。 它总是返回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.d/vhosts.conf,它由/etc/httpd/conf/httpd.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中的页面。

任何人都可以帮助我吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

如果它是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>

答案 1 :(得分:0)

我刚刚通过将/ home / mydomain /目录的权限更改为755来解决了这个问题。

感谢Akar的帮助。他确实提到了权限。