雨に風
STATUS: 故障中x2
桜が散っちゃうよぅ
どうしても public_htmlのファイルがForbiddenになってしまう人へ
STATUS: 故障中x2
/home/USENAME/ や /home/USERNAME/public_html/ のアクセス権は、711(または755)にしましたね。.htaccessに記述ミスはないですね? .htaccess自体のアクセス権にも注意ですよ。
あと、httpd.confの設定は「UserDir public_html」にした?
それでもダメ?
じゃあ、とっておきのコマンドをお教えしましょう。
(rootになって)
restorecon -R /home
どうです?見えるようになったでしょう!
はいはいはい。お礼がしたいって?では、こちらからはてなポイントの送信を…(殴
えー、Fedora Core3以降やCentOSでは、SELinuxが有効になっているのですが、『SELinuxは,ファイル等のリソースに「タイプ」と呼ばれるラベルを付与して管理しています。(中略)このタイプが適切に付与されないことで,トラブルになることがよくあります。』とのこと。
上記のコマンドでは、/home以下のタイプラベルを初期化しています。
2.2. ユーザのホームページが公開できない(Apache)
ホームディレクトリにpublic_htmlを新規作成しても,
適切なタイプラベルが割り当てられないため,
Apache(httpd_tドメイン)がpublic_htmlにアクセスできず,
Forbiddenのエラーが出ます。対処方法ですが,
public_htmlディレクトリを作成した後,
rootになって,
#restorecon -R /home (これは,/home以下のタイプラベルを初期化します)
とします。通常のLinux側の設定もお忘れなく。
chmod 711 /home/
が必要でした。
httpd.confの
部分と
のコメントを外す必要もあります。
というわけで、CentOSでユーザーディレクトリのページが表示されないので超ハマってました。SELinuxってどこか遠い国で使われているものかと思っていたよ〜。つーかデストリの一種かと思ってた(ぉ
このページのおかげで、解決しました。感謝感謝です。
/
次期自宅サーバは、やっぱり CentOS にしようかと思います。
もと自宅サーバだったTurboLinuxServer7のHDDイメージもVirtualPC上で動作するようにはなったのですが、PHP5使いたくなってそのついでに環境を構築中。
PHP5だとSQLiteが使えますからね。
いま作りたいと思っているプログラムでDBが必要なのでするが、DBMSが他に必要となると運用が面倒なので。
で、CentOS4.4のままだとPHP4なので、いろいろやって(このあたりを参考に)yumでPHP5をインストールしたら、肝心のSQLiteは入ってなかった(T_T)
yum remove php5 してやる。
しかたないので、php.netから最新ソース落としてmake;make installしました。
configureはこんな感じ。→これ
SQLiteやSDのサンプルプログラムを動かしたら正常に動いたのでOKかな。
ただ、CLI版を実行すると
PHP Warning: PHP Startup: gd: Unable to initialize moduleってWarningが大量に発生します。モジュールの日付の整合性がとれてないのかなあ。とりあえず動いているようではあるけど。
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
in Unknown on line 0