WebサーバのCGI実行のトラブル。
5年の実験にて、CGIを使った処理が動かなくなったとの指摘があり、 あらためて、そのサーバの /var/log/apache2/error.log を確認。 すると以下の様なメッセージが残っていた。
Mon Apr 22 12:21:20 2013] [crit] [client xx.xx.xx.xx] (13)Permission denied: /home/xxxx/xxxx/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
よく解らないので、"permission denied pcfg_openfile unable to check htaccess…"で検索すると、下記のページが見つかる。
http://d.hatena.ne.jp/memdhoi/20100425/1272195882
ポイントは、<Directory />…</Directory>で、 AllowOverride Allになっていて、 上位ディレクトリの .htaccess が読めないのが 原因みたい。上記サイトの例のように、AllowOverride None に 変更することで、無事動き出す。
今までは AllowOverride が yes の時に、.htaccess が無くても 動いていたものが、apacheのセキュリティ方針の変更の中で、 厳密に上位ディレクトリの .htaccess を確認するように なったみたい。