パスワードを忘れた? アカウント作成
498237 journal

fslashtの日記: どうしても public_htmlのファイルがForbiddenになってしまう人へ 2

日記 by fslasht

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の

部分と

のコメントを外す必要もあります。

(Fedora Core3 SELinuxメモ)

 というわけで、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
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

ってWarningが大量に発生します。モジュールの日付の整合性がとれてないのかなあ。とりあえず動いているようではあるけど。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • PHP5 configure

    ● #1.成功

    './configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/etc/httpd/conf/magic' '--with-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'

    【変更】
    '--without-sqlite' → '--with-sqlite'

    【除外したもの】

    '--with-pcre-regex=/usr'
    ↑「=/usr」がいけなかったかな

    ● #2.成功(採用)

    './configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--with-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/etc/httpd/conf/magic' '--with-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--with-gd' '--without-odbc' '--enable-dom' '--disable-dba' '--without-unixODBC' '--enable-pdo' '--enable-xmlreader' '--enable-xmlwriter'
    • mbstring関連入れ忘れていたので追加

      './configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--with-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/etc/httpd/conf/magic' '--with-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--with-gd' '--without-odbc' '--enable-dom' '--disable-dba' '--without-unixODBC' '--enable-pdo' '--enable-xmlreader' '--enable-xmlwriter' '--enable-mbstring' '--enable-mbregex'

      ↓はいれてないけど、いれたほうがよかった?
      '--enable-zend-multibyte'

      # make clean するの忘れたらコンパイル通らなくてハマった
      # あと、http://wiz.syscon.co.jp/Lnxphp.html [syscon.co.jp] みて、php.iniを変えた

      親コメント
typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...