望ましい行動
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に正常にアクセスできました。
今日、localhostに移動すると403エラーが発生します。
トラブルシューティング
Apacheステータス
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
/var/www/html
の権限を見ると、ユーザーroot
だけが読み取りと書き込みの実行権限を持っていることがわかりました。ブラウザーを標準ユーザーとして使用していて、アクセスできないため、「その他」にはいくつかの権限が必要であると想定していたので、次のようにしました。
Sudo chmod 755 html -R
そして、新しい権限は次のとおりです。
drwxr-xr-x 2 me me 4096 Nov 23 22:59 html
これで、ブラウザーでlocalhostにアクセスできます。
この動画は"Users, Groups and Permissions in Linux"
で非常に役に立ちました:
あなたはApacheに実行/読み取りアクセスを与えるべきです。 @ user1063287の発言は良いですが、セキュリティ上の問題があり、他のユーザーへのアクセスを許可している可能性があります。私はこの方法が良いと思います:
1)サイトのApache所有者をrootにします。
chown -R www-data:www-data ROOT_OF_SITE
2)フルアクセスを許可する
chmod -R 700 ROOT_OF_SITE