Apacheサーバー設定のトラブルシューティング

client denied by server configurationエラー

Apache のエラーログで「client denied by server configuration:」と出た時の対処法。放っておいても問題はなさそうだが、Apacheのエラーログを見やすくしたいため細かいエラーを徹底的になくしていく。

バーチャルホストでの運営なので、バーチャルホストの設定ファイル、virtualhost.conf を開く。

「Require all granted」を記述するする。

<VirtualHost *:80>
        ServerName hogehoge.xxxxxxxxx.com
        DocumentRoot /somewhere/hogehoge
        <Directory "/somewhere/hogehoge">
            Require all granted
        </Directory>
<VirtualHost>

Apache 再起動。

/etc/rc.d/init.d/httpd restart

これで解決したと思ったが、今度は下記のエラーが出てしまった。

configuration error: couldn't perform authentication. AuthType not set!:

「Require all granted」はApache2.4系の書き方のようだ。

でApacheのバージョンを確認してみる。

httpd -v

やはり2.4以前のバージョンがインストールされていた。

この場合「Require all granted」ではなく「Order allow,deny」「Allow from all」と書くようだ。

なので、最終的な書き方は次のようになる。

<VirtualHost *:80>
        ServerName hogehoge.xxxxxxxxx.com
        DocumentRoot /somewhere/hogehoge
        <Directory "/somewhere/hogehoge">
            Order allow,deny
            Allow from all
        </Directory>
</VirtualHost>

これで解決!と思ったが、またエラーが出てしまった。

client denied by server configuration:

バーチャルホストで.htaccessが無視される?

「バーチャルホストのドメインでアクセス」した場合と「メインドメイン + フォルダを指定してアクセス」した場合の動作が、異なることを発見した。前者では.htaccessが読み込まれないようす。原因は「AllowOverride None」を追記したから。下のように「AllowOverride All」としたら.htaccessの設定が反映されるようになった。

<VirtualHost *:80>
        ServerName hoge.xxxxxxxxxxx.com
        DocumentRoot /home/xxxxxxxxxxx/hoge
        <Directory "/home/xxxxxxxxxxx/hoge">
             Options FollowSymLinks
             AllowOverride All
             Order deny,allow
             Allow from all
        </Directory>
</VirtualHost>

Directory index forbidden by Options directiveエラーとFile does not exist favicon.ico

Apacheで発生したアクセスエラーログ。

Directory index forbidden by Options directive: /xxxx/

アクセスされたフォルダに、index.htmlが置かれていないために発生するようだ。

このフォルダにはアクセスされることを想定していないため、空のindex.htmlを置いて解決する。

しかし今度は、ブラウザがfaviconをリクエストするために下記のエラーが発生してしまった。

File does not exist: /xxxx/favicon.ico, referer: http://xxxx.com/

空のfaviconを作成して、index.htmlと同じディレクトリにおけば解決する。

cat /dev/null > favicon.ico

サーバ構築の実際がわかる Apache[実践]運用/管理
サーバ構築の実際がわかる Apache[実践]運用/管理

本書はApacheの基礎から導入をはじめ、設定ファイルであるhttpd.confの解説、拡張モジュールを解説しています。また実際にHTTPサーバを構築、運用する際に必要な、パフォーマンスチューニング、セキュリティ対策、大規模運用(負荷分散や高速化)、WebDAV機能や、コンテンツフィルタリング、トラフィック量やコネクション数の制御など最新の情報を解説、実際にHTTPサーバを運用していくのに必ず役に立ちます。

Amazon
新しいLinuxの教科書
新しいLinuxの教科書

MS-DOSを知らない世代のエンジニアに向けたLinux入門書の決定版。Linux自身の機能だけでなく、シェルスクリプトを使ったプログラミングや、Gitによるソフトウェア開発のバージョン管理など、イマドキのエンジニアなら知っておくべき知識についても、丁寧に解説しました!!

KindleAmazonRakuten

Amazonでお得に購入するなら、Amazonギフト券がオススメ!

\Amazonギフトがお得/

コンビニ・ATM・ネットバンキングで¥5,000以上チャージすると、プライム会員は最大2.5%ポイント、通常会員は最大2%ポイントがもらえます!
Amazonギフト券

\この記事をシェアする/