期望的行为
能够在浏览器中访问本地主机而不会收到 403 Forbidden 消息。
目前的行为
在浏览器中导航到 localhost 将返回:
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80
重现步骤
Linux Mint 17 Cinnamon
我使用以下步骤设置了本地服务器:
$ sudo apt-get install apache2 php5
$ sudo apt-get install php5-dev php5-cli
$ sudo apt-get install php-pear
$ pear version
// PEAR Version: 1.9.4
// PHP Version: 5.5.9-1ubuntu4.5
// Zend Engine Version: 2.5.0
// Running on: Linux my-computer 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64
$ pecl version ## as above
$ sudo pecl install mongo ## this installs the mongo driver
此时,系统提示我包含 [no] 的内容,然后我按了 Enter。
$ cd /etc/php5/apache2
$ sudo vi php.ini
在文件末尾我添加了: extension=mongo.so
$ sudo /etc/init.d/apache2 restart
昨天这个过程结束时,我可以成功访问本地主机。
今天,我在导航到 localhost 时收到 403 错误。
故障排除
阿帕奇状态
me@my-computer ~ $ /etc/init.d/apache2 status
* apache2 is running
权限
/var
drwxr-xr-x 12 root root 4096 Nov 23 08:58 var
/var/www
drwxr-xr-x 3 root root 4096 Nov 23 08:58 www
/var/www/html
drwx------ 8 me me 4096 Nov 22 01:07 html
/var/www/html/index.html
-rw-r--r-- 1 root root 11510 Nov 23 08:59 index.html
答案1
查看权限/var/www/html
表明只有用户root
具有读写执行权限。由于我只是作为标准用户使用浏览器并且没有访问权限,因此我认为“其他”需要一些权限,所以我这样做了:
sudo chmod 755 html -R
新的权限现在是:
drwxr-xr-x 2 me me 4096 Nov 23 22:59 html
现在我可以在浏览器中访问本地主机了。
我发现这个视频"Users, Groups and Permissions in Linux"
非常有帮助:
答案2
您应该授予 apache 执行/读取访问权限。 @user1063287 所说的方式很好,但可能存在安全问题,允许其他人访问。我认为这种方式更好:
1) 让 apache 成为您站点根目录的所有者:
chown -R www-data:www-data ROOT_OF_SITE
2)授予其完全访问权限
chmod -R 700 ROOT_OF_SITE