Symhony2、インストールでどうしても403が解決できなければ
Symhony2に鞍替えするわけでありません。:D さすがにチュートリアルもこれだけ連続して書くと、飽きてきました。ネタはあるので、まだ続けますよ。Laravel3を忘れないためにね。;)
時々、他のフレームワークを試しています。現在使用しているLinuxディストリビューションはOpenSUSEですが、唯一インストールにさえ成功しなかったのがSymhony2です。
そこで、今回やり直してみたのです。他のフレームワークなら全部動きます。でもSymhone2はどうやっても403エラーになるのです。
ファイルのパーミッションは全部つけています。それでもサーバーから見えていないらしいので、ディレクトリーに対し、Options Indexesを付けてみました。
そうしたら、vendor
以外のフォルダーが見えなくなっています。肝心の公開フォルダーであるweb
が見えないのでは、いくらやっても403になるのは納得です。
Symhony2のチュートアルのどこかでALCの話があったのを見かけたのを思い出しました。この状況はもうこれしかありません。
しかし、openSUSEを初め、Linuxでは通常マウント時に指定しなければ、ALCは働かないと思っていましたが、どうやらそうではないようです。getfaclコマンドを叩いても、通常のrwx以外の情報は見当たりません。それらしいALCは設定しているように見えないのです。もちろん、通常のlsなどでも表示されませんし、デスクトップからファイラーでプロパティを確認してもダメ。
ですが、新しいフォルダーを作り、webフォルダーの中身を移し替え、webフォルダーを削除、そして新しいフォルダーをwebに名前を変更したら、ちゃんとWebサーバーから見えました。
webフォルダーをそのままコピーしただけでは、案の定、コピー先のフォルダーにもALCの情報がコピーされ、Webサーバーからは見えませんでした。
つまり:
- Symhony2のファイル構造にはセキュリティー的な意味合いを込めALCが設定されている。もしくは開発環境がALCを含んでいる。
- OpenSUSE側はALC情報が存在すると、マウントでALCが有効になっていようと、いまいとALCにしたがって処理する。ただし、コマンド類からは見えない。
と、推測しました。
同じLinuxディストリビューションの中には、同じ問題を抱えているものもあるでしょう。そうすると、同じ目に合い、Symhony2がインストールできない人もいるでしょう。検索しても、この状況を書いている人がいなかったため、一応書きました。
まあ、openSUSEが悪いんですけどね。たぶん。