Apache : client denied by server configuration


新しくサイトをバーチャルホストに追加して、Apacheを再起動してアクセスしてみると、
「Error 403 Access forbidden!」
アクセス権限がないといっておこられてしまいました。

Apacheのエラーログを見ると
 client denied by server configuration
というエラーが残っています。

そういえばこのサイトは通常のドキュメントルート配下に置かずにバーチャルホストで
他のディレクトリに置いたので、そこにAllow,Deny の設定するのを忘れていました。
正しくの中にOrderディレクティブでアクセス許可の設定をします。

<VirtualHost *:80>
DocumentRoot /hoge/hoge/public
ServerName fuel.localhost
<Directory /hoge/hoge/public>
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

Apacheを再起動して。。。 あれ? 状況が変わらない。
原因を調べてみると、Apacheは2.4からOrderディレクティブからRequireディレクティブに書き方が変更になったようです。

<VirtualHost *:80>
DocumentRoot /hoge/hoge/public
ServerName fuel.localhost
<Directory /hoge/hoge/public>
###    Order allow,deny ###apache2.2までの書き方
###    Allow from all ###apache2.2までの書き方
    Require all granted ###apache2.4の書き方
</Directory>
</VirtualHost> 

これでApacheを再起動してエラーを解消することができました。

タグ:
カテゴリー: WEB
カテゴリー