client denied by server configurationエラー

f:id:araemonz:20180901094614p:plain

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: