- 2014-5-9
- WordPress
さくらVPSなど、自分でApacheを設定するときに良く起きます。
http.confを設定したのに変わらない
/var/www/html/testディレクトリにWordPressのソースコードが入っているとします。
http.conf
<VirtualHost *:80> ServerName test.******.com DocumentRoot /var/www/html/test <Directory "/var/www/html/test"> AllowOverride All </Directory> <Directory /> AllowOverride None </Directory> </VirtualHost>
上記のように/etc/httpd/conf/http.confを設定しても変わらない時は、エラーログを見てみましょう。
$ tail -f /var/log/httpd/error_log
すると、こんなエラーログが表示されました。
[Fri May 09 16:27:15 2014] [error] [client ***.***.***.***] Directory index forbidden by Options directive: /var/www/html/test
このエラーは『403:見る権限がありません』という意味です。
エラーの対策
これはPHP(index.php)の場合での対処法です。
『403エラー』が表示される原因はアクセス先がWordPressのindex.phpではなく、WordPressのディレクトリ自体にアクセスしてしまっているためです。
なぜindex.phpが認識しないかというとApache(http.conf)のデフォルト設定がindex.phpをインデックスになるように設定されていません。
Vim等でhttp.confを開いて『DirectoryIndex』をスラッシュ検索してみましょう。
http.conf
DirectoryIndex index.html index.html.var
この行がインデックスを設定する行です。
index.htmlはありますが、index.phpが記述されていませんよね。
ということで、index.phpを追記しましょう。
http.conf
DirectoryIndex index.html index.html.var index.php
これでテストページではなく、WordPressが表示されるようになります。
※因みにですが、PHPがインストールされていないとWordPressは起動しませんのでご注意ください。
PHPのインストールについてもざっくり書いておきます。細かい設定については書きません。
$ sudo su - # yum -y install php php-mbstring php-mcrypt php-mysql php-pear php-gd # vim /etc/php.ini (略) error_log = /var/log/php_errors.log date.timezone = “Asia/Tokyo” # service httpd restart
以上です。
Sponsored link
便利な商品紹介
オムロン クッションマッサージャ(マッサージクッション) HM-341-BG ベージュ意外と気持ち良い
富士通 FUJITSU ScanSnap iX500 (A4/両面/Wi-Fi対応) FI-IX500A自炊するならやっぱり持っておきたい。せっかくスキャンするならOCR付きにしておくに越したことはない。