電子書籍の厳選無料作品が豊富!

自分のパソコン(WindowsXP)にapache2.0.54と言うソフトをインストールして、wwwサーバ(アップロードする為のテスト用)を作ることにしました。しかし、色々な参考サイトを見ながらhttpd.cofを書き換えても下記のエラーが出ます。


「通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか1つのみを使用できます。 :make_sock: could not bind to address 0.0.0.0 :80 no listening sockets available, shutting down Unable to open logs Note the errors or messages above, and press the <ESC> key to exit.」

お詳しい方、ご教示願います。

A 回答 (6件)

一つ確認ですが、Apacheをインストールした後、どういった事を行ったら質問にあるエラーになりましたか?



以下、推測です。

>Local Addressでポート80を指定しているのは、apacheだけのようです。

既にApacheが起動されているようですね。
もしかして、httpd.confを書き換えてから、スタート→プログラム→Apache HTTP Server 2.0.54→Control Apache Server→StartでApacheを起動させようとしていませんか?

Win32版Apacheですが(WindowsXPで)インストールを行うとサービスとして登録され自動的に起動されます。
そこで、Apacheの停止を行わず上記のようにメニューから起動を行うと二重起動となり質問にあるエラーとなりますので、httpd.confを書き換えてそれを反映させたい場合はApacheを停止→起動か、再起動させてください。

また、タスクバーにApache Service Monitor(メニューからでも起動可)があるので、そこからApacheの起動/停止/再起動を行う事が出来ます(もちろんメニューからでもいいです)
    • good
    • 0
この回答へのお礼

スタート→プログラム→Apache HTTP Server 2.0.54→Control Apache Server→Startと起動していました。
Lean様のおっしゃる通り、既に起動されているのに気付かず二重起動していたようです。

適切な回答本当にありがとうございました。
次に質問する際は、もっと分かりやすく書くよう努力します。

お礼日時:2005/04/25 12:53

WindowXP の SP2であれば、自分自身のPCへのTCP接続が遮断される設定が、デフォルトとなっている可能性があります。



次のURLに、XPのICF(Internet Connection Firewall)の設定方法が載っているので、試してみるといいかもしれません。TCP 80番がなかったら、追加してください。

http://pcweb.mycom.co.jp/special/2004/winxpsp2/0 …
    • good
    • 0
この回答へのお礼

参考URL拝見しました。
こんな事があるとは、パソコンを使ってますが、
あまりの自分の無知さに恥ずかしさを感じてます。

Resありがとうございました。

お礼日時:2005/04/25 12:56

私のレスで混乱させてしまい、ごめんなさい。



嘘を教えてしまったかもしれません。

おそらくNo3さんの言うとおりでしょう。

参考URLのような情報がありました。

参考URL:http://66.102.7.104/search?q=cache:ZCYKq8uuB7YJ: …
    • good
    • 0
この回答へのお礼

Resありがとうございます。
参考URL拝見しました。
私の知識が無さ過ぎて、ポート80が他で使われているのかさえも分かりません。
ただ、他のサーバソフトは、入ってないと思います。
何かお気付きの事がありましたらご教示ください。
よろしくお願いします。

お礼日時:2005/04/25 00:36

1つのポートを使用出来るプログラム(ソフト)は同時に1つだけです。


つまり、既に80番ポート(通常HTTPで使用)を使用しているプログラムが存在しているためにApacheが起動出来ない状態です。
ですから、既に80番ポートを使用しているプログラムを停止させる、もしくは、Apacheで使用するポートを80番以外の使用されていないポートに変更しないとApacheを起動させる事は出来ません。

もしかしたら、IISとか動いていませんか?

コマンドプロンプトからnetstatを実行すると既に80番ポートが使用されているか確認する事が出来ます(netstat -nを実行してLocal Addressの所で「IPアドレス:80」があれば80番ポートを使用しているプログラムが既に存在する)

また、下記URLのページにあるtcpviewを使用すると80番ポートを使用しているプログラムを特定出来ます。
http://www.sysinternals.com/ntw2k/source/tcpview …

参考URL:http://www.sysinternals.com/ntw2k/source/tcpview …
    • good
    • 0
この回答へのお礼

Resありがとうございます。
早速、下記URLにある「TPCビュー」を使用しました。
Local Addressでポート80を指定しているのは、apacheだけのようです。
しかし、Remote Addressでは、IEの起動と閉じる時にポートに80と出ます。
ちなみにIEのLocal Addressは、127.0.0.1:1044(1044など)です。

すみません、私は、素人で対策方法が全く分かりません。詳しい方、どうかご教示願います。

お礼日時:2005/04/25 00:31

127.0.0.1はループバックアドレスといって、主にテスト用に使用されるIPです。



ですので、そのPCにアサインされているIPアドレスを指定してみてください。DHCPで自動取得しているのであれば、PC起動後、DOSプロンプトを開いて、「ipconfig」とコマンドをうってください。その時に表示される「IPアドレス」がそうです。

ですが、DHCPだと、PC再起動毎に、IPが変わる恐れがありますので、その都度、httpd.confの設定を変更する必要がでてきます。その辺を考慮すると、そのPCだけはスタティックなIPをアサインした方がよいでしょう。いますぐにでもと言うわけではありませんが、暇な時にでも、考えてみてください。
    • good
    • 0

1行目の「address 0.0.0.0」が怪しいですね。



httpd.conf内の、「ServerName」に適切なホスト名が設定されていないか、「ServerName」に設定されているホスト名が/etc/hostsに設定されているか、確認してみてください。
    • good
    • 0
この回答へのお礼

早速のResありがとうございます。
Server Nameは、127.0.0.1 :80 にしています。
これは、自身のパソコンを意味すると説明がありました。
あぁ、どうすればいいのでしょうか...

お礼日時:2005/04/24 22:05

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