当前位置: 首页>>技术教程>>正文


ubuntu – 禁止使用Apache2 virtualhost 403?

, , ,

问题描述

我在桌面上运行ubuntu 13.04 64bit,安装了Apache2,MySQL和PHP等。

我想将自己的Web根目录放在/home/afflicto/public_html而不是/var/www中。因此,我遵循了该指南:http://www.maketecheasier.com/install-and-configure-apache-in-ubuntu/2011/03/09(我完成了“配置不同的站点”中的所有操作),因为我更喜欢该解决方案。

这是我所做的:安装Apache2,MySQL等。将/etc/apache2/sites-avaliable/default复制到/etc/apache2/sites-available/afflicto。然后对其进行编辑,现在看起来如下所示:

/etc /apache2 /sites-available /afflicto

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/afflicto/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /home/afflicto/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>  

我做了sudo a2dissite default && sudo a2ensite afflicto && sudo service apache2 restart

访问localhost/testlocalhost/test/index.html等时,我在/home/afflicto/public_html/test/中创建了index.phpindex.html等,但我收到403禁止错误。

我究竟做错了什么?提前致谢。

更新1我已将public_html目录的所有者设置为www-data。也sudo chmod -R +x public_html && sudo chmod -R 777 public_html仍然是403错误。

这是apache错误日志的输出:

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to / denied

[Sun Jul 14 06:10:32 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /favicon.ico denied

最佳方案

我遇到了这个问题。但是我不喜欢将主目录的组更改为www-data的想法。只需修改virtualHost的配置文件即可解决此问题。只需配置目录标签以包括这些标签

<Directory "your directory here">
   Order allow,deny
   Allow from all
   Require all granted
</Directory>

我猜Require all granted是一个新功能;具有默认值denied

有关更多信息,请参见此页面:http://httpd.apache.org/docs/current/mod/core.html#directory

次佳方案

事实证明,我不仅必须chmod /home/afflicto/public_html,而且还必须chmod /home/afflicto/目录。

奇怪的。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9057.html,未经允许,请勿转载。