アプリ版:「スタンプのみでお礼する」機能のリリースについて

今回、プロバイダーのコース変更をしグローバルIDを一つ固定でもらいました。

そこで試しにWebを公開したいと思いアパッチをインストールしました。

OSはTurboLinux6.0です。

とりあえず、LAN内ではアクセスすることできました。

しかし、他のプロバイダーからアクセスするとできません。ログを見てみると下記のようなメッセージが残っています。

98)Address already in use: make_sock: could not bind to port 80

これって、ポート80が使えません。っていうことですよね。

っていうことはWebを公開するためのポートを80以外にすればいいのでしょうか?

A 回答 (9件)

IPフィルターの設定も特におかしいとは思えないですね。


ここで、ひとつ提案ですが、eth0も固定のアドレスなのですから、この際インターネットから外してみて、eth0がわにHUBとPC(当然このサーバーにアクセスできるIPアドレスをふる)をつないでみて確認されてはいかがでしょうか?
これで、サーバーの問題かどうかは、切り分けできると思うのですが。
    • good
    • 0
この回答へのお礼

Ken2様

ご回答ありがとうございます。いろいろ試してみましたが、やはりできない様です。

CATVのコース変更をしてサーバーOKのコースに変更中です。

32,000円/月もするけど、、、いたい、、、

とりあえず、ここはいったん締めようと思います。

私の意味の分からない質問にご返事を下さった方、本当にありがとうございました。

お礼日時:2001/07/31 17:59

いろいろやっているようですが、まだ使えてないようですね。


LANからアクセスできるのなら、httpdは、動いているようですね。
2本足ということは、IPフィルターの問題でしょうか?

ipchains -Lで、IPフィルターの設定がでてきます。
ipchainsは、どのように設定されたのでしょうか?
eth0に対して、80番ポートは、inputで、anyからacceptになっているでしょうか?

この回答への補足

ken2様 ありがとうございます。

早速 ipchains -L とやって見ましたところ

Chain input (policy ACCEPT):
Chain forward (policy DENY):
target prot opt source destination ports
MASQ all ------ 192.168.1.0/24 anywhere n/a
Chain output (policy ACCEPT):

と出ます。

ipchainsの設定は、

/etc/rc.d/rc.localに以下のように追加しています。

/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_cuseeme
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ

>eth0に対して、80番ポートは、inputで、anyからacceptになっているでしょうか?

申し訳ありません。上記の調べ方又は設定の仕方がわかりません。。。

お手数ですが、教えていただけますでしょうか?

補足日時:2001/07/25 11:59
    • good
    • 0

あれれ? グローバルIPを入力して


> [WAN側アドレス]80: Unknown host
ですか。 "[WAN側アドレス]"とポート番号の"80"の間には,スペース入れるんですけど,これ抜けてないですか?


>>$ su -c "netstat -atp"
>流れてしまって確認することができません。。

表示が一画面に収まりきらないとき,"|"(パイプ)を利用すると良いです。
コマンドの後に"| less"や"| more"を付け足しましょう。

最後に,"httpd.conf"の"ServerName"行ですが,今の状況ならこれは必要ないでしょう。

この回答への補足

onosuke 様 ありがとうございます。

> [WAN側アドレス]80: Unknown host
ですか。 "[WAN側アドレス]"とポート番号の"80"の間には,スペース入れるんです>けど,これ抜けてないですか?

やってみましたが、同じですね。。。これって80のポートが開いていないということでしょうか?

>$ su -c "netstat -atp"

こちらの方もやってみました。

ご指摘の通り、|moreをつけることによって全てみることができました。でも、80のポートを使っているという記述が無いんです。。。

apacheの設定方法が根本的に間違っているのでしょうか?

何か80のポートを開放するという設定が必要なのでしょうか?

素朴な疑問なんですが、もし80のポートが開いていなくても、LAN内ではアクセスすることができるのでしょうか?

LAN内から、ポートスキャンすると80は開いているのですが、他のプロバイダーからポートスキャンすると開いていません。。。

ん~~~だんだん混乱してきました。

本当に申し訳ありませんが、ご指摘の程お願いします

補足日時:2001/07/24 10:40
    • good
    • 0

えーっと,こいつなんですが



$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

[WAN側アドレス]の部分,グローバルIPに置き換えてもらえました?
[WAN側アドレス]っていうのは,そういう意味です。

TurboLinuxマシンのネットワーク構成はどうなっているのでしょう?
eth0-WAN(グローバルIP)
eth1-LAN
のようなDualHome構成?NATルータなんて使ってないですよね?
詳しいところお願いします。

> httpd.conf の設定で ServerName のところにグローバルIDを
> 入れたのですが、設定はこれでいいのでしょうか?

通常,ServerName設定は必要ないです。
が必要かどうかは,ネットワークの環境次第ですね。

>もし、ポートを80以外に設定する場合は、httpd.confのPortの
>番号を開いているポートに割り振ればいいのでしょうか?

はい,OKです。

あ,そうそう....
$ su -c "netstat -atp"
こいつは,TCPポート番号の利用状況とそのプログラムがわかります。(suしないと,全てのプログラム名は表示されない)中でも,State行:LISTENとなっているのは,そのポートでサーバが動いています。


> もし、80以外にした場合はどのようにアクセスすればいいのでしょうか?

URLなら

http://localhost:[ポート番号]/

と,":"の後にポート番号を付け足す。前回のtelnet使う方法なら,

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [ホスト名/IP] [ポート番号]

です。

この回答への補足

onosuke様ありがとうございます。

>[WAN側アドレス]の部分,グローバルIPに置き換えてもらえました?
>[WAN側アドレス]っていうのは,そういう意味です。

ハイ大丈夫です。グローバルIPを入れました。

>TurboLinuxマシンのネットワーク構成はどうなっているのでしょう?
>eth0-WAN(グローバルIP)
>eth1-LAN
>のようなDualHome構成?NATルータなんて使ってないですよね?
>詳しいところお願いします。

おっしゃるとおりです。
eth0にグローバルIPを振り
eth1にLAN側のIP(192.168.1.1)を振っています。

>$ su -c "netstat -atp"
>こいつは,TCPポート番号の利用状況とそのプログラムがわかります。(suしないと,全てのプログラム名は表示されない)中でも,State行:LISTENとなっているのは,そのポートでサーバが動いています。

これを実行するとたくさんのメッセージがバーァっと出てきます。80はかなり上の方なのでしょうか?流れてしまって確認することができません。。。

本当に申しわけありません。。。いろんなホームページや本を参考にしているのですが自力ではどうしても無理なようです。

お忙しいとは思いますが、ご教授お願い致します

補足日時:2001/07/23 09:04
    • good
    • 0

ども,こんばんわ。



前回の質問で,INETデーモン:"inetd",apacheはServerType:standaloneで起動している,以上2点がわかりました。(standaloneなのでINETデーモンはもう用なし)

> 98)Address already in use: make_sock: could not bind to port 80

件のエラーメッセージですが,これは今の問題とはとりあえず関係なさそうです。
(このエラーがでるとapacheは起動しない,だがhttpdがプロセスリスト(ps)に並んでいる) もっとも,

「最初からapacheはインストールされていたのではないか?」
「現在は元々のapache or 元々のに上書きしたapache が動いている?」

といった,新たな疑問も出てしまいます。(^^;;
ちなみに,あのエラーの問題解決が必要なとき,原因はTurboLinuxマシン内に収まります。

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

(echoの後の"(ダブルクォート)閉じずに改行いってください)

で"index.html"の内容が画面に出て来るか一度確認してみては?


> っていうことはWebを公開するためのポートを80以外にすればいいのでしょうか?

httpd.confでポート番号80以外に設定し,それでうまくいくようならCATV会社で内向き宛先TCPの80番ポートを閉じていることになります。試してみる価値は十分ありますが,あのエラーで『っていうことは』にはなりませんね。

この回答への補足

onosuke 様 ご回答ありがとうございます。

試しに、apacheの入れ直しをしてみました。すると以前のエラーログは出なくなり何も出なくなりました。

$ echo "GET /index.html HTTP/1.0
>
>" | telnet [WAN側アドレス] 80

とやってみたところ、

[WAN側アドレス]80: Unknown host とエラーメッセージが出ました。

httpd.conf の設定で

ServerName のところにグローバルIDを入れたのですが、設定はこれでいいのでしょうか?

もし、ポートを80以外に設定する場合は、httpd.confのPortの番号を開いているポートに割り振ればいいのでしょうか?

もし、80以外にした場合はどのようにアクセスすればいいのでしょうか?

申し訳ありませんが、教えてください

補足日時:2001/07/22 23:23
    • good
    • 0

$ ps axe | grep httpd


$ su -c "netstat -atp"
$ su -c "ls /etc/xinetd.d"
$ su -c "cat /etc/inetd.conf"
とやると,どんなのでます?

98)Address already in use: make_sock: could not bind to port 80

このメッセージはWebサーバソフトのログでよいのかな。
Webサーバソフト名とログの他のメッセージもいただけますか?

この回答への補足

onosuke 様ご回答ありがとうございます。早速試してみましたところ

> $ ps axe | grep httpd

412 ? S 0:00 httpd
693 ? S 0:00 httpd
694 ? S 0:00 httpd
695 ? S 0:00 httpd
696 ? S 0:00 httpd
697 ? S 0:00 httpd
698 ? S 0:00 httpd
699 ? S 0:00 httpd
700 ? S 0:00 httpd
701 ? S 0:00 httpd
702 ? S 0:00 httpd
2778 ? S 0:00 grep httpd

> とメッセージがでます。

$ su -c "netstat -atp" とやると

パスワードを求められましたのでrootのパスワードでログインしました。
すると今立ち上がっているデーモンでしょうか?たくさん出てきました。

> $ su -c "ls /etc/xinetd.d" とやると

また、パスワードを入力して

ls: /etc/xinetd.d: No such file or directry とでます

> $ su -c "cat /etc/inetd.conf"

こちらは、ものすごい長いメッセージが出てきます。

Webサーバーはアパッチです。ログは、Webサーバーのログです。場所は

/etc/local/apache/logsのerror_logの中にあるのですが、この一行以外にはメッセージはありません。

同じ場所のaccess_logも空っぽのままです。

補足日時:2001/07/22 18:15
    • good
    • 0

やはりまずそのアドレスに対してpingがとおるのかを確認し、nslookupで逆引きしてみてそのプロバイダーが持っているIPアドレスなのかを見たほうがいいともいます。


LANからは、当然アクセスできると思いますが、外からアクセスできないのは、アドレスが間違っていて、ルーティングできないのではにかとも思います。
ほんとに割り当てられたのなら、そんな80番ポートがつかえないような割り当てはしないと思います。
IPアドレスとネットマスクもきちんと確認されたほうがいいと思います。

この回答への補足

ken2 様 ありがとうございます。

nslookup で確認しましたところ、私の契約しているプロバイダーのものでした。

アドレスの間違いはないと思います。。。。

IPアドレス、サブネットマスクともに確認してみましたが、間違いは無いようです

補足日時:2001/07/20 13:15
    • good
    • 0

外からグローバルアドレスに対してpingは通りますか?また、Internet Test Tools (

http://www.vector.co.jp/soft/win95/net/se078518. …などを使ってポートスキャンをかけてみてはいかがでしょう。
私の場合、CATVでIPはDHCPで可変割り当てですが、外からはプロバイダ側で1024までのポートは止められています。同じようなことがあるのかも。

この回答への補足

ikeuchi 様ご回答ありがとうございます。

外からグローバルアドレスに対してのPINGは通ります。

ご指摘の通りポートスキャンをかけてみたところ80は開いていませんでした。1024までで開いていたのは下記のポートです。

7 9 13 15 19 22 23

グローバルIPはDHCPではなく固定になっています。

CATV側で80をふさいでWebサーバーをできなくしているのでしょうか?もし、そうでしたら何らかの方法で作ることはできないのしょうか?

補足日時:2001/07/20 13:10
    • good
    • 0

システム構成が判らないので、何とも言えません。


LAN内からはプライベートアドレスでアクセスしていませんか?
1個のグローバルアドレスは、アパッチのサーバに割り当てられていますか?ルータなどに割り当てられていませんか?
外からアクセスしたときに、該当アドレスの80ポートがオープンできない=サーバが見えていない様に思いますがいかがでしょう。

この回答への補足

申し訳ありません説明不足ですね。

LAN内からのアクセスはグローバルアドレスでアクセスしてもプライベートアドレスでアクセスしてもアクセスできます。

グローバルアドレスはTurboLinuxに振られています。ルーターなどは入れていません。

>外からアクセスしたときに、該当アドレスの80ポートがオープンできない=サーバが見えていない様に思いますがいかがでしょう。

外からアクセスしようとしたときは、ブラウザのエラーはかなり時間がたったあげく、

「サーバー」に問題が発生していますみたいなことが書かれています。

補足日時:2001/07/19 15:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!