MR.NiNi About Log Tech Graph Memo Books Twitter

About
Log
Tech
Graph
Memo
Books
Twitter

CentOS6.3の覚書

CentOS 6.3の小ネタです。
将来的に内容を取りまとめて技術情報の方に持っていく予定です。

不要なサービスの停止

何を以って「不要」とするかは環境に依ります。
単に外部アクセスを弾くだけならばiptablesで弾いた方が賢明です。
メモリ節約と併せて考え、かつ、公開サーバ上に無用なプロセスや解放ポートを用意したくない場合は必要最低限のサービス以外止めた方が良いでしょう。
root権限で下記のコマンドを実行します。

chkconfig avahi-daemon off
chkconfig netfs off
chkconfig nfslock off
chkconfig rpcbind off
chkconfig rpcgssd off
chkconfig auditd off
chkconfig cups off
chkconfig portreserve off
chkconfig rpcidmapd off
chkconfig rsyslog off

盲目的に上記のコマンドは入力しないように。

CentOS 6.3上のApacheにlocalhost以外がアクセス出来ない

httpdのプロセスが動作していてもアクセス出来なければ、iptablesが悪さしているのが原因です。
以下の構文を「/etc/sysconfig/iptables」の「:OUTPUT ACCEPT [0:0]」以下の--dport 22の行の下辺りに書いてiptablesを再起動すると幸せになれるかも知れません。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

MySQLを外部から叩く場合は下記の行も追加しておきましょう。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

なお、httpd経由でMySQL等にアクセス出来ないのは別の理由です。
下記のコマンドをroot権限で実行します。

setsebool -P httpd_can_network_connect=1

例えばsymfonyにおいて、CLIではMySQLを操作出来てもwebブラウザからアクセスするとcan not connectになる場合は上記のコマンドを実行すると改善する場合があります。

CentOS 6.3上のApacheでユーザディレクトリ配下のファイルが403 forbiddenになる

大別して「httpd.confの設定」「.htaccessの設定」「chmodによるアクセス権限の設定」「SELinuxによる権限の設定」となります。
/homeはアクセス権限が700なので、これはchmodコマンドで755等に変えておきます。
httpd.confと.htaccessについては余計な設定を入れず、かつ、OptionsでFollowSymLinksを入れたり、AllowOverride設定をAllにしたりします。
SELinuxについては下記のコマンドを入力しておきます。

setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home

1行目は実行完了までに少し時間が掛かります。
2行目ですが、「/home」全体に適用するのは本来のポリシーにそぐわない行為ですので、必要なディレクトリにのみ個別に設定を行なった方が良いとの指摘を@ishikawa84g様より頂きました(参考資料:http://www.slideshare.net/ishikawa84g/hbstudy-28-selinuxhandson)。2013.1.9現在未検証ですので、検証し次第内容をアップデートします。

httpd.confを修正した場合はservice httpd restartで再起動しておきましょう。



メモ書きトップに戻る / トップページに戻る