2.2 系でなぜか 403 エラーになるケース[インターネットなこと]
(2009-09-03 09:53:26) by shinoda


ずっとうちのサーバを置いていたデータセンターが、今月いっぱいでハウジングサービスを止めるため、現在サーバの引っ越し作業中である。
今度は、自前のサーバを置くのではなく、レンタルサーバの利用に切り替えようかなっと思って。

で、昨日、Apache の VirtualHost で公開しているサイトのひとつを新しいサーバに持ってきた。

今までの httpd.conf 上の VirtualHost 設定をそのまま httpd-vhosts.conf に反映させたのだが、何故かサイトにアクセスすると、403 Forbidden エラーになってしまう。
パーミッションは適切に設定されているのに・・・だ。

新しいサーバの Apache のバージョンは 2.2.8。元のサーバは 2.0.50。

httpd.conf を穴が開くほど見比べてみると、どうも root directory の設定の違いが影響しているのではないかと。

2.0.50 の httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

2.2.8 の httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Deny from all ってのが追加されているよねえ。
ディフォルトで、「全部アクセス不可」になってるってことだ。

なので、VirtualHost 設定の、

<Directory "/var/www/www.exsample.com">
    AllowOverride None
</Directory>

を、下記のように直してやる。

<Directory "/var/www/www.exsample.com">
    AllowOverride None
    Order allow,deny
    Allow from all

</Directory>

これでちゃんと http://www.exsample.com が見れるようになった。

2.2 系以前から 2.2 系に設定をコピってくるときは注意が必要じゃね。
コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8