くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

Wordpress でつまづく

2009-03-22 11:51:25 | SEまわり
WordPressをちょっと試してみようと思って、WordPress 日本語ローカルサイトよりダウンロードしてきて適当なディレクトリに展開し、ブラウザでアクセスする。

まず、こんな画面が出てくる。



指示通りに、「wp-config.php ファイルを作成する」をクリックすると、403 エラーが出てしまう。

403 エラーなので、サーバ(apache)が出力してるわけだから、サーバのログを確認する。

[Sun Mar 22 11:18:15 2009] [error] [client 10.0.0.10] client denied by server configuration: /path/to/wordpress/wp-admin/setup-config.php, referer: http://host/path/to/wordpress/


確かに拒否してる。

サーバの設定では特に拒否するようにはしていない。ローカルの IP からのみアクセス許可にしているだけ。
試しに allow from all にしてみたが同じだった。

よく分からないので、

cp setup-config.php test.php

として、対象のスクリプトのコピーを作って、それにアクセスすると表示された。 なんだこれ。

パーミッションと所有者は次の通り、同じ。

% ls -l setup-config.php test.php
-rw-r--r-- 1 www www 7635 2 13 00:47 setup-config.php
-rw-r--r-- 1 www www 7635 3 22 11:29 test.php


なのに、片方は表示できて、もう片方はダメ。

本家から英語版の同じバージョンをダウンロードしてきて試したけど変化なし。 そもそも、denied by server configuration なんだから、変わるはずもない。

.htaccess が勝手にどこかにないかとも思ったが、Override は許してないし。


で、httpd.conf を調べてて次のディレクティブを見つけて、これをコメントアウトしてみたら動いた。

<Directory ~ "config">
Order allow,deny
Deny from all
Satisfy All
</Directory>


Directory ディレクティブのマッチ演算子って、ファイル名にまで影響するの?


ディレクティブ クイックリファレンスのDirectoryディレクティブのところを見るが、別にそんなことは書いてないように見える。

よく分からないが、上記を allow from <local-net> にして、次に進んだ。