- 締切済み
RedHat7.1でapacheを使い、WEBサーバー公開したいが、公開できない。
こんにちは Apacheについて悩んでいるものです。 現在、自宅サーバーを構築しようとシコシコとやっておりますが、LINUXをよくわかっていないので停滞しています。 それは、ローカルアドレス環境でWEBサーバーのページを開けないことです。 環境はRedHat7.1にApacheとPHP4をインストールし、サーバー自信から動作を確認しました。しかし、ほかのクライアントPCからブラウジングすると開かないのです。 なぜなのでしょうか。 FTPツールからもアクセスできないんですよね。 詳しい方、お助けください!
- みんなの回答 (12)
- 専門家の回答
みんなの回答
- ken2
- ベストアンサー率36% (86/235)
apacheの公開については、別にRedHatだろうが、XPだろうが、関係ありません。ということは、ルーターの設定の問題ではないということですね。 RTの場合は、静的マスカレードという言葉のようですね。(それでいいと思います) ローカルで確認できるということは、何かしらの制限がかかっているということになります。 Apacheの設定ではないでしょうか?VirtualHostとか・・・・ LAN内で見えるということなので、WAN側のアドレスでアクセスされたときの設定を付け加えてはどうでしょう。 でも、XPのApacheは、うまくいってるんですよね・・・。 ちょっと不思議。
- h_hikita
- ベストアンサー率40% (104/257)
webminのバージョンが0.93とかなら標準で rc.d等の設定→ Bootup and Shutdown Actions xinetdの設定→ Extended Internet Services からできるようです。 tcpwrappersの設定は以下のURLから追加モジュールをダウンロードすることで 可能になるようです。 http://webmin.ven.org/tcpw/english.html # 自分ではwebminを使わない&今は検証できないので # 自信はなしにしときます。 外部に公開するなら、以下にあるパッケージのうち該当するものを 全て更新してからのほうが精神衛生上良いです。 http://www.redhat.com/support/errata/rh71-errata-security.html
補足
ありがとうございます。 webminはコマンドをあまり知らない人間でもLINUXを利用できるという 観点で使っています。 実際、webminはまだよく分かってません。 アドバイスしていただいているxinetdの設定ですが、見当たりません。 Extended Internet Services を覗いたところ下記の状態でした。 Service name Type Port / number Protocol User Server program enabled? exec Internet 512 TCP root /usr/sbin/in.rexecd No nal to Xinetd No time Internet 37 TCP root Internal to Xinetd No login Internet 513 TCP root /usr/sbin/in.rlogind No shell Internet 514 TCP root /usr/sbin/in.rshd No chargen Internet 19 TCP root Internal to Xinetd No chargen-udp Internet 19 UDP root Internal to Xinetd No daytime Internet 13 TCP root Internal to Xinetd No daytime-udp Int time Internet 37 TCP root Internal to Xinetd No time Internet 37 Uernet 13 UDP root Internal to Xinetd No nal to Xinetd No time Internet 37 TCP root Internal to Xinetd No nal to Xinetd No time Internet 37 TCP root Internal to Xinetd No echo Internet 7 TCP root Internal to Xinetd No echo-udp Internet 7 UDP root Internal to Xinetd No time Internet 37 TCP root Internal to Xinetd No nal to Xinetd No time Internet 37 TCP root Internal to Xinetd No time Internet 37 U time Internet 37 TCP root Internal to Xinetd No time Internet 37 UDP root Internal to Xinetd No finger Internet 79 TCP nobody /usr/sbin/in.fingerd No ntalk Internet 518 UDP nobody /usr/sbin/in.ntalkd No talk Internet 517 UDP nobody /usr/sbin/in.talkd No telnet Internet 23 TCP exec Internet 512 TCP root /usr/sbin/in.rexecd NoService name login Internet 513 TCP root /usr/sbt 512 TCP root /usr/sbin/in.rexecd No 以上のような内容でした。 具体的にどうしたらよいのでしょうか。 rsync Internet 873 TCP root /usr/bin/rsync No
- ken2
- ベストアンサー率36% (86/235)
すいませんftpdは、wu-ftpdでした。 /etc/xinetd.dの下にwu-ftpdがないってことは、ftpdが、入っていないということになります。rpmで、wu-ftpdを追加してください。proftpdでもいいですけどそれは、また設定が必要です。 rpmで、追加するとそこにwu-ftpdができるので、中を編集してください。 それで使えると思います。xinetdこれもwebminで設定することができます。(サーバーの拡張インターネットサービスがこれにあたります) あと、ルーターのほうは、逆マスカレードということでしょうか? この場合は、ポートの転送になるので、内部ホストとポート番号(80)をルーターに設定すればいいと思います。(詳細不明ルーターによる・・・)
補足
ありがとうございました。 wu-ftpdをRPMでインストールして、webmin上でスタートしたら 無事FTP接続できました。 しかし、逆IPマスカレードというのはよくわかりませんが、 現在ルーターはYAMAHA RTA52iを使用しております。 メーカに問い合わせて固定IP一つでWEBサーバーを公開する方法を 確認し、静的IPマスカレードの設定をすると公開できるそうで、 指示通り行いました。REDAHATでうまくいかなかったので、WinXPにapacheを入れ動作を確認し 公開できました。 YAMAHA RTA52iのIPマスカレードの設定は ポートの設定を www 使用ホストアドレスをサーバーのローカルIPに 設定しました。 ポート転送はどうしたらよいのでしょうか。
- h_hikita
- ベストアンサー率40% (104/257)
/etc/hosts.allow に関していえば、以下の2行のような記述が必要です。 ------------------ http: 192.168.0. : ALLOW ftpd: 192.168.0. : ALLOW ------------------ xinetd、/etc/rc.d/init.d/* とかの設定も必要。 基本的には、RedHatの場合は付属の管理ツールから 管理できるはずです...
補足
ありがとうございます。 すみません、RedHat初心者なので付属の管理ツールがどこにあるのかよくわからないので 教えていただきたいのですが。 サーバー管理はWebminに頼っている人間でございます。
- osa6a
- ベストアンサー率0% (0/6)
下の回答をしたものです。 自サーバでは確認できて居るようなので、下の回答は忘れて下さい。 良く内容を読まず申し訳ありませんでした。 となるとkenさんが説明してあるところが怪しいのかな?
- osa6a
- ベストアンサー率0% (0/6)
参考程度ですが・・ TurboLinuxでは、httpdはデフォルトでは有効になっていませんでした。 inetdに関してはデフォルトで有効でしたが・・ RedHatのデフォルトでの設定がどうなのかは分かりませんが、サービス 自体が起動していないような気が・・・ 確認してみてください。
- ken2
- ベストアンサー率36% (86/235)
たぶんインストール時にFirewallの設定をしたのでしょう。デフォルトの中を選ぶと結構ポートはしまってしまいます。 ipchians -Lで、現在のFirewallのルールが表示されます。 変更方法は、Firewallの設定ツールを使うか、/etc/sysconfig/ipchainsのファイルの中身を全てコメントしてみてください。中身がわかれば、調整していただいてもいいと思います。(ここでは、説明しません) その後で、rebootするか /etc/init.d/ipchains restartとかやれば、設定が反映するので、いいかと思います。 また、FTPに関しては、それとは、別にxinetdの設定が必要ではないかと思います。 /etc/xinetd.d/ftpのdisableのところをとりあえずコメントしてみてxinetdを再起動してみてはいかがでしょうか。 正解かな?
補足
ありがとうございました。 ご指示のとおり、ipchiansの中身を全部コメントにしたら、LAN内でサーバーのページが見えました。 しかし、ルーターのIPマスカレード機能でサーバーを公開したところだめでした。 ルーターの方には問題はないと思います。 理由はクライアントPC(WIN XP)にapacheを入れて公開できたので。 >また、FTPに関しては、それとは、別にxinetdの設定 >が必要ではないかと思います。 >/etc/xinetd.d/ftp FTPのファイルがありませんでした。 ---/etc/xinet.dをls--------------------------------- [root@www ***]# cd /etc/xinetd.d [root@www xinetd.d]# ls chargen daytime echo finger rexec rsh talk time chargen-udp daytime-udp echo-udp ntalk rlogin rsync telnet time-udp ---------------------------------------------- また、FTPに関しては、それとは、別にxinetdの設定が必要ではないかと思います。 /etc/xinetd.d/ftp 同じ場所にTelnetのファイルがあったのでそちらのDisableをコメントにしたところ、Telentはログインできました。 あとは何がいけないのでしょうか。
- acky
- ベストアンサー率31% (182/583)
それでは/etc/hosts.allowに以下の1文があるかどうかを確認してみて下さい。なければ追記して下さい。 ALL : 127.0.0.1 またこの行がコメントされていれば、その行のコメントをはずして下さい。 nobodyに変更するためには、そのapache起動専用のユーザーを設定する必要があるのではないでしょうか? 現在がapacheとなっているのであれば、定義的にはnobodyと変わらないはずですので、変更する必要はないように思われますが。。。
補足
ありがとうございます。 >それでは/etc/hosts.allowに以下の1文があるかどう>かを確認してみて下さい。なければ追記して下さい。 >ALL : 127.0.0.1 ご指示通り 追記してみました。 しかし、クライアントPCからは一向に見えません。 何がいけないのでしょうか。
- tokkyz
- ベストアンサー率55% (31/56)
ping通ってますか?サーバでもクライアントでもいいのでテストしてください。 ping [相手のIPアドレス] だめだったらこの辺を参考に設定してください。 http://www.a-yu.com/net/network.html http://www.glasscom.com/tone/linux/SysManage/network.htm
補足
pingは通ってました。 RedHat7.1のローカルアドレスは192.168.0.220 ----------------------------------------- Pinging 192.168.0.220 with 32 bytes of data: Reply from 192.168.0.220: bytes=32 time<1ms TTL=255 Reply from 192.168.0.220: bytes=32 time<1ms TTL=255 Reply from 192.168.0.220: bytes=32 time<1ms TTL=255 Reply from 192.168.0.220: bytes=32 time<1ms TTL=255 Ping statistics for 192.168.0.220: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms -------------------------------------------- でした。 しかし、クライアントPCからRedHatへtelnetで入ろうとすると C:\java>telnet 192.168.0.220 接続中: 192.168.0.220...ホストへ接続できませんでした。 ポート番号 23. 既存の接続はリモート ホストに強制的に切断されました。 となります。 サーバーが外部からのアクセスを許可していないのでしょうか。 そうなるとどこで許可すればいいのでしょうか。
- ken1-skillup
- ベストアンサー率33% (135/409)
FTPからもつながらないってことは・・・ ポートふさいじゃってませんか? 外部から一切入れないようにポートをふさいでるってことないですか?
- 1
- 2
お礼
今件にご助言いただいた皆様へ、 この場を借りてお礼申しあげます。 長い時間がかかりましたが、ようやくRedhatから公開できました! http://hooma.st.wakwak.ne.jp/ ←URL 原因ははっきりしませんが、 RedHatを再インストールし、ルーターのフィルタ設定をやり直したところうまくいきました。
補足
ありがとうございます。 返事が遅くなって申し訳ありません。 しばらく、この問題に向かう気力がなく、 そっとしておいたためチェックするのが遅れました。 そうなんです、XPでは快適に動いてます。 Apache+MySQL+PHPでサクサクと・・・。 でもXPをサーバーにしたくないものですから。 >LAN内で見えるということなので、WAN側のアドレス>でアクセスされたときの設定を付け加えてはどうで>しょう。 それは、RTA52iのどこかで設定するのでしょうか。 メーカーには静的IPマスカレードを TCPのポート(www)のWEBサーバーのローカルアドレスにすれば公開できるということでしたので、 そのとおりにしてます。(XPはそれだけで公開できました。) 再度、RedHat7.1をインストールしたほうがいいように思えてきてます。 いかがでしょうか。 今回の問題を踏まえた最善の、インストール方法があったら どなたか教えていただきたいと思います。 (少しあきらめムード)