fslashtの日記: どうしても public_htmlのファイルがForbiddenになってしまう人へ 2
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
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が大量に発生します。モジュールの日付の整合性がとれてないのかなあ。とりあえず動いているようではあるけど。
俺のconfigureを見てくれ! (スコア:1)
● #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'
Re:俺の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' '--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を変えた