[Linux]ApacheがPermission deniedを吐いてくる

Written by uechoco 1月 01

 VirtualBoxでFedora 7をせこせこがんばっている最中です。sshやsftpなんかも問題なく繋がって、あとはApacheの設定を終わらせればLinuxのWeb開発環境が完成するというところまで来ていますが、VirtualHostを設定すると、wgetできなくなるという現象が発生しました。

 エラーログはこんな感じです。

[Mon Dec 31 14:30:13 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:31:10 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:35:01 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:36:01 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:38:02 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:52:10 2007] [error] [client 127.0.0.1] (13)Permission denied: access to / denied [Mon Dec 31 14:54:00 2007] [error] [client 127.0.0.1] (13)Permission denied: access to / denied [Mon Dec 31 14:54:55 2007] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied [Mon Dec 31 14:59:57 2007] [error] [client 127.0.0.1] (13)Permission denied: access to / denied [Mon Dec 31 15:00:18 2007] [error] [client 127.0.0.1] (13)Permission denied: access to / denied

 /var/www/htmlが初期設定ののDocumentRootです。症状としては

  • /var/www/htmlをDocumentRootに設定したVirtualHostはOK
  • /var/www以下に作ったディレクトリをDocumentRootに設定したVirtualHostはOK
  • /var/www2/htmlとか/home/hoge/htmlとかいろんなところに新しく作ったディレクトリをDocumentRootに設定したVirtualHostはNG

な感じです。AA-Camp #6に参加しているakkyさん、studio15さん、shinさんにアドバイスをもらいながらもなかなか原因がわからなかったのですが、もしかしてSELinuxじゃない?っていうアドバイスももらったので

echo 0 > /selinux/enforce

というコマンドでSELinuxをとりあえず切ってみたら、さっきまでNGだった場所をDocumentRootに設定したVirtualHostもしっかりと受け付けてくれました。仮想環境のLinuxだから、セキュリティはそんなに意識しなくてもいいでしょということで、/etc/selinux/config で

# /etc/selinux/config SELINUX=disabled

としてSELinuxが起動しないように設定しました。

 Apacheが動かないからずっとhttpd.confとにらめっこしたりディレクトリのパーミッションを全部777にしてみたりrootオーナーに変えてみたりを繰り返していましたが、こんなところに魔物が潜んでいたんですね。勉強になりました。

[xampp]ローカルにサブドメイン切ったらaccess forbidden食らった

Written by uechoco 12月 06

 XREAのWebスペース上で開発することが多々あるのですが、たまにSAFE_MODEの弊害があってローカルのXAMPP / Windows 上での開発に移行したりします。

 で、たまたまlocalhostのサブドメインをまだ切っていないマシンだったので、サブドメインを追加しようと思って、

C:\xampp\apache\conf\extra\httpd-vhosts.conf

NameVirtualHostを有効にして、該当の<VirtualHost>ディレクティブを追加して、

C:\WINDOWS\system32\drivers\etc\hosts

127.0.0.1 localhost
127.0.0.1 subdomain1.localhost

を追加して見たのですが、早速 http://subdomain1.localhost/ にアクセスしても

Access forbidden!

といわれました。なぜだーとおもって昔のhttpd.confを覘いたら、<Directory>ディレクトリを書き忘れていたようです。

 こういう細かいところのノウハウ(?)ってすぐに忘れちゃうんですよね。ってことで備忘録的に設定載せておきます。

httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>
DirectoryIndex index.php index.html
DocumentRoot “C:/path/to/subdomain1″
ServerName subdomain1.localhost
</VirtualHost>

<Directory “C:/path/to/subdomain1″>
order deny,allow
allow from ALL
</Directory>

<VirtualHost *:80>
DocumentRoot “C:/xampp/htdocs”
ServerName localhost
</VirtualHost>

[php][CakePHP]コピペでCakeをxamppに突っ込んだらスタイルシートが適用されなかった

Written by uechoco 10月 05

つまらない備忘録。

電車の中でCakePHPの日本語pdfマニュアルをみてました。順番にみていき、インストールのところまで来たのでCakeのVer1.1.17を解凍して、xamppのhtdocsに突っ込んだところ、スタイルシートの適用されない素のHTMLみたいな画面でDBがないって言われました。

マニュアルに載っていたとおり、原因を探ると、xamppをインストールしたばかりで、httpd.confの中で、

#LoadModule rewrite_module libexec/httpd/mod_rewrite.so

となっていただけでした。#をとって、非コメント化したら、無事にスタイルシートの適用されたHTMLでDBがないって言われるようになりました。

そういえば、1.2のデザインはとってもキツい感じだったけど、1.1系のデザインに戻すことって簡単なのかな?まぁ日本語のマニュアルが整備されているのかどうかわからないので、今は1.1系で勉強します。