きちんとApacheが起動しているのに、他のPCからアクセスができない場合は、iptablesの設定に原因があるかもしれません。
iptablesとは、Linuxで、パケットフィルタリングおよびネットワークアドレス変換(NAT)の機能を提供するプログラム、またはその操作をするコマンドのことです。カーネル2.2以前ではipchainsまたはipfwadmといった実装が使われていましたが、2.4系になって、iptablesが一般的となっています。
問題が、iptablesの設定に起因するものなのかどうかを調べるためには、まず、iptablesによるパケットフィルタリングを一時的にOFFにしてみるのがいいかもしれません。
iptabelsサービスは以下のコマンドで停止することができます。
/etc/init.d/iptables stop
逆に起動する場合は、
/etc/init.d/iptables start
です。
サービスの停止により、ブラウザによるWebアクセスが可能になれば、原因がiptablesによるものだと判断できます。
この場合、iptablesの設定を確認してみましょう。設定は、「/etc/sysconfig/iptables」ファイルで行われています。
私がiptablesが原因でアクセスできなかった時には、以下のようになっていました。(インストールした時のデフォルトの状態です。)
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
tcpだと、22番のssh接続しか有効になっていないことがわかります。ここに、80番ポートのhttp接続を加えれば、httpによるWebアクセスが可能になります。設定ファイルに、以下の一行を追加して、iptablesサービスを再起動してみましょう。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
上記は、Webサーバへの接続要求パケットについての設定で、接続状態が”NEW”かつプロトコルが”tcp”かつ送信先ポートが”80″ならば、通信を許可する設定となっています。