• ベストアンサー

apacheをインストールしたけどlocalhostを表示できない

PHP5をやるべく入門書も買ってとりあえずapacheをインストールしました。 2.0で、インストールは成功して起動(常駐?)させて緑を確認しましたが http://localhost http://127.0.0.1/ 共におそらくタイムアウトで表示できませんになりました。 ウイルス対策ソフト、Google Toolberを切っても変わりませんでした。 環境はWindowsXPでルーターでの無線LANです。 また、hostsを確認しましたが書き換えはありませんでした。 プロキシーは使っておらず設定を自動的に検出するになっています。 error.logを見ると (OS 10022)無効な引数が提供されました・・・・・・ とずーーーーっと何十行も続いています。 このままでは手付かずに全てが終わるので回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.15

>: make_sock: could not bind to address 0.0.0.0:80 >no listening sockets avaiable, が表示された状態で、またコマンドラインから netstat -ano すると TCP 0.0.0.0:80 0.0.0.0:0 LISTENING プロセスIDの数字 が出ますよね? (この状態でもTCP 0.0.0.0:80が出ないなら、80portを占有しているアプリケーションが勝手に起動したり、いつの間にか停止していると言うことですが、、) プロセスIDからアプリケーションを割り出す方法は #6さんが回答されています。 SP2ならbオプションで一発ですがsp2以外なら#6さんの方法でってことで、、、 で、そのアプリケーションがapacheなら Apache Monitorやスタートメニューでapacheを停止させてから もう一度 test.bat をwクリックしてみる

nodnon
質問者

お礼

やっと・・・できました。 ウイルス対策のアンインストール等やったらできました。 本当に無知で要領の悪い質問者だったと思いますが、 ここまでこうして頑張れたのはみなさんのおかげです。 ここまで親身に回答してくださった回答者様方には本当に 感謝してもし尽くせないほどです。 本当に本当にありがとうございました。

その他の回答 (14)

回答No.14

>:80はないようです。この部分が悪いんでしょうか。 ならばApacheも他のアプリケーションも80portを専有していないと言うことです 普通に考えればApacheが起動していないのだと思います。 ・念のため、httpd.confのListen 行を確認してみてください  Listen 80 となっていますよね? この80がApacheでlistenするport番号です。 で、無駄かもしれませんが コマンドラインからの起動をしてみてください いちいちコマンドを打つのも面倒でしょうから apache.exeのあるフォルダ(デフォルトではC:\Program Files\Apache Group\Apache2\bin) に、メモ帳で次の内容の test.bat と言うfileを置いてwクリックしてください apache -k start pause この2行だけです。 wクリックすると C:\Program Files\Apache Group\Apache2\bin>apache -k start の後ろに何らかのメッセージが表示されますが 「続行するには、....」が出たらENTERを押すと閉じます その 何らかのメッセージ が ヒントになるはずですが、、、

nodnon
質問者

お礼

Listen 80 となっています。 後者はやってみましたら (OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、 またはポートのどれか1つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80 no listening sockets avaiable, shutting down unable to open logs だそうです。 何か他のものが占有しているってことですかね。

回答No.13

>これはSP2でないとできないとかあるんでしょうか? そうです。(#11で紹介したページにも書いてあります) というか、すみません、XPなら当然SP2かと、決め付けて考えてました なら 取り合えず netstat -an ですね それだとApache.exeは出ませんが TCP  0.0.0.0:80 は出るはずです

nodnon
質問者

お礼

いえ、頑なにSP2を拒んでいるものですいません。 Local Addressの部分ですよね。 :80はないようです。この部分が悪いんでしょうか。

回答No.12

>そのページも参考してnetstat -nで調べましたら ですから、netstat -n では駄目だと書いたつもりですが? Apache.exeが80portで待ち受けているかどうかは netstat -anb です。 (#5ではその後ろに p tcpもつけてますが、これは#11に書きましたがTCPのみ表示して見やすくするだけ) >Domainは試験サーバーであれば・・・とのことだったので適当に。 LAN内でだけなら、普通はLAN上のコンピューター名かlocalhost ですが空欄のままでも構いません 普通の半角英数字以外の文字は入れていませんよね? >その下のはfor all...port 80です。 では間違いなく80portですね netstat -anb で TCP  0.0.0.0:80 ................ [Apache.exe] が出るはずです。 他、私が検索してみたところ 1・Win32DisableAcceptEx が無ければ追加してApacheをrestart 2・Win32DisableAcceptExが既に有れば逆にコメントアウトしてrestart 3・セキュリティsoftの無効化 の3つしか無いようです。 1、と2、は試されたようですので問題は3、ですが ウイルス対策ソフトは切って試したとありますが これはウイルス対策ソフトのメニューで切ったということですよね? もし、そうだとしたら、以下自己責任でお願いしますが 一旦Apacheをアンインストールして、再起動後 Apacheのフォルダごと削除します。 それからウイルス対策ソフトを一旦アンインストールしてから再起動後 改めてApacheをinstallしてみるとどうでしょうか? セキュリティSOFTの中には、設定メニューで無効にしても 実は一部の機能が有効になっていたり そもそもバグだらけのウイルス対策ソフトも有ります。

nodnon
質問者

お礼

すいません、しかしnetstat -anbを実行してもnetstat ?/と同じ表示が出るだけで これはSP2でないとできないとかあるんでしょうか? 入力は全て半角英数字でしました。 アンインストールは大変そうですがやってみます。 ちょっと時間かかりそうですが。 ありがとうございます。

回答No.11

>netstat -n >で、TIME_WAITとなっているのが待ち受けているポート番号です。 いいえ違います。それだとコネクションの終了待ち状態です 待ち受けているportを表示するには netstatのオプションに a をつける必要が有ります http://www.atmarkit.co.jp/fwin2k/win2ktips/234netstat/netstat.html 私が#5で書いた netstat の後ろにつけた -anbp tcp は a 全ての n 数値で表示 b アプリケーション名を表示 p tcp はTCPプロトコルのみ表示(UDPは表示しない) と言う意味です。 そのあたりはnetstat /? で説明が表示されます ## で本題ですが、うちでも2.0.55をアンインストール&フォルダごと削除してから 2.0.59を入れてみましたが Win32DisableAcceptEx をつけても付けなくても問題なく表示できましたよ また、他のhttpdが80をlisetnしている場合 Apacheのインストール時に既にlistenされていると インストール中に「only for ...port8080」を選択しない限りインストールエラーになりますし Apacheのインストール終了後にApacheを停止させておいて 他のhttpdで80をlistenさせてから、Apacheを起動しようとしても起動に失敗しますので エラーログには記録されないはずです。 で、質問者さんがインストールした方法を伺いたいのですが インストール中「Server Infomation」の画面で Network Domain: Server Name: Administarators' email: の欄に何を入力しましたか? 2.0系の場合 email欄に a@a などと入れれば DomainもServer nameも空でOKのはずですが? あと、その下の ・for all....port 80 ・only....port8080 のどちらを選びましたか?

nodnon
質問者

お礼

そのページも参考してnetstat -nで調べましたら 192.168.・・・というのが自分のモノですよね? おそらくポートが1863になっています。 これを変えなければならない、ということですか? Domainは試験サーバーであれば・・・とのことだったので適当に。 server,はlocalhostにしました。 emailは普通にメールアドレスを入れました。 その下のはfor all...port 80です。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.10

IISは起動というかインストールしていないですよね? ポート番号が80でないならブラウザで指定するか、httpd.confのlistenでポート番号を指定する必要があります。 http://127.0.0.1:8080/ ↑IPアドレス:指定されたポート番号 netstat -n で、TIME_WAITとなっているのが待ち受けているポート番号です。

nodnon
質問者

お礼

IISはインストールしていません。 netstat -nしてみたらTIME_WAITのところは80でした。やっぱり80だったんですかね。 でも何回かnetstat -nやってると結果が変わるんですがこれは普通ですか? 最初はTIME_WAITの部分があったのに今やったらなくなってしまいました。

回答No.9

http://wiz.syscon.co.jp/WIZmag030.htm には逆に  #Win32DisableAcceptEx ←ここをコメントアウト で解決すると有ります。 ですが、うちのApacheWin32-2.0.55ではhttpd.confにも httpd.default.confにもWin32DisableAcceptExと言う行が見つかりません 質問者さんがお使いのApacheのバージョンはいくつでしょうか? ひょっとして古いバージョンのApacheをお使いなら アンインストールしたあと、フォルダも削除してから http://www.apache.org/dist/httpd/binaries/win32/ にいろいろありますが、2.0系だと最新は apache_2.0.59-win32-x86-no_ssl.msi なので これをインストールしなおしてみるとか?

nodnon
質問者

お礼

ああ、バージョンもきちんと伝えてませんでしたね。すいません。最新の2.0.59です。 こちらも元々Win32DisableAcceptExという行はありませんね。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.8

No.6&7です。 エラーメッセージの最後に >Try using the Win32DisableAcceptEx directive とあるようですから スタート>すべてのプログラム>Apache HTTP Server 2.0.XX>Configure Apache Server>Edit the Apache httpd.conf Configuration File でApacheの設定ファイルを開くと最初の方下記の箇所があるのでそこに「Win32DisableAcceptEx」を追加 -------8<-------8<-------8<-------8<-------8<-------8<-------8<------- # WinNT MPM # ThreadsPerChild: constant number of worker threads in the server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_winnt.c> ThreadsPerChild 250 MaxRequestsPerChild 0 Win32DisableAcceptEx ← 追加する </IfModule> -------8<-------8<-------8<-------8<-------8<-------8<-------8<------- 追加したら設定ファイルを「上書き保存」して設定ファイルを閉じた後、 スタート>すべてのプログラム>Apache HTTP Server 2.0.XX>Control Apache Server>Restart を実行後、http://localhost/http://127.0.0.1/ にアクセスしてみたらどうですかね?

nodnon
質問者

お礼

上書きしてやってみましたがlocalhost、127共にダメでした。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.7

No.6です >また、コマンドプロンプトから >netstat -o >を実行してLocal Addressの所に「~:80」というように「:80」が付いている行がありますか? 以降は、No.5の書かれた「補足要求3」の方法の方が簡単なのでそちらでお願いします。

nodnon
質問者

お礼

netstat -oを実行してみましたがポート80ではないようです。 回答してくださったみなさん、最初に勘違いして80と言ってしまい本当に申し訳ありませんでした。 本当に本当にお手数かけます。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.6

>error.logを見ると >(OS 10022)無効な引数が提供されました・・・・・・ 途中で切るのではなくて最後まで全部書いてください。 また、コマンドプロンプトから netstat -o を実行してLocal Addressの所に「~:80」というように「:80」が付いている行がありますか? あった場合、一番右にあるPIDの番号を覚えておいてください。 その後タスクマネージャ(Ctrl + Alt + DELで出てきたウィンドウからタスクマネージャをクリック)のプロセスタブで該当するPIDのプロセスを探してください。 PIDの表示がない場合は、表示→列の選択 を選択後表示された「列の選択」で「PID(プロセスID)(P)」をチェックしOKすると表示されるようになります。 その時、該当するプロセスは何ですか?

回答No.5

補足要求1:その「(OS 10022)無効な引数が提供されました」の後ろに 英語で何かメッセージが記録されていませんか? 補足要求2: スタート>全てのプログラム>Apache HTTP Server2.0.** >Configure Apache Server>TEST Configuration をクリックしてみてください httpd.confが正常なら一瞬で閉じますが、エラーがあれば それなりのメッセージが出ます。 補足要求3:コマンドプロンプトを開き netstat -anbp tcp と打ってください TCP  0.0.0.0:80 ................ [Apache.exe] と言う行が表示されますか?

nodnon
質問者

お礼

英語のメッセージは下の回答に載せました。 不備があって申し訳ありませんでした。 httpd.confはいじくってないですが一瞬で閉じます。 プロンプトは打ったら Displays protocol statistics and current TCP/IP network connections. と出ましたがそのような行は表示されませんでした。 それと検索した際にあったnetstat -naも試してみたんですが、 たまに接続先IPアドレスが10個くらいある時があります。 それでポート番号80だと思ったのですが今やってみたらこれが2個しか接続先が出ないんです。 このうちの1個のEstablishedが自分のものでしょうか? それだとポート番号が80ではないです。

関連するQ&A

  • Apacheでhttp://localhost/が表示されない

    Apacheバージョン2.0.50をインストールし、設定ファイルは一切変更していない状態でhttp://localhostと入力しても「あなたの予想に反して・・・」のページが表示されません。 何回かApacheの再インストールも試してみましたが変化がありません。 ローカルで動作確認するだけなので、インストールにあたってNetworkDomainなどのアドレスは「localhost」を入力しています。 何か原因を特定する方法はありませんでしょうか。 ちなみにOSはWindowsXPのHomeEditionです。

  • apacheの挙動がおかしいです・・・。

    こんにちは。 phpの勉強をしようと思って、apacheを入れてみましたが、 どうも動きが変なんです・・・。 いままでも「apacheが起動しない!」という質問がありましたが、 ちょっと症状が違うようなので困っています。 apacheをインストールして、 http://localhost/にアクセスするのですが、 いつまで経ってもページを表示しません・・・。 プログレスバーが真ん中くらいで止まってしまいます・・・。 環境は、WindowsXP SP2です。 apacheのバージョンは、apache_2.0.63-win32-x86-no_ssl.msiです。 インストール時に、 NetworkDomaintとServerNamaは、localhostを指定しています。 インストールは正常に終わりました。 hostsファイルは、 127.0.0.1 localhost を書いているだけです。 IISは入っていません。Skypeも消しました。 access.logには、何も記録されません。 イベントビューアにも、apacheの異常に関するログはありませんでした。 netstatやtelnetで確認すると、ポート80は開いているし、 apacheを停止して、telnet localhost 80すると接続失敗するので、 httpが起動しているかどうかは分かっているみたいなのですが・・・。 このような現象をご存知の方がいらっしゃいましたら、 どうしたら解決できるか、教えていただけないでしょうか? よろしくおねがいします。

  • apacheでlocalhostが見えない

    サーバ超初心者です。 pache2.2.25win32をwindows732bitを使用しています。 インストールしたのはいいけどapacheを起動させると、 The requested operation has faildというメッセージが出ます。 webで調べた処、confファイルの書き換えが必要と書いてあったので 上書きを拒絶されたので、デスクトップ上でconfファイル→ファイルの置き換えで 書き換えましたが、(#Listen 80Listen 127.0.0.1:80と書き直した) また、IE10でlocalhostにアクセスしても、ページが表示できません、 などのメッセージが出るだけです。 いったい何が問題なのでしょうか?

  • Apacheインストール

    MY SQL 入門以前の書籍で、Apacheの確認で、Webブラウザを起動してURLの欄にhttp://localhostとタイプしてみた所、書籍通りに表示されませんでした。初心者なのでより詳しく教えてください。

  • Apacheでページを表示できません

    Apacheインストールし、httpdファイルのDocumentRootにもDドライブのwwwフォルダのパスを記述しました。 そこにIndex.htmlファイルを置いています。 hostsにはLocalHostと127.0.0.1が記述されています。 インターネットエクスプローラー起動し、URLにLocalHostと入力しても 「ページを表示できません」になります。またhttp://127.0.0.1を入力しても同じです。 あとはどこをチェックしたらよろしいでしょうか?

  • Apache 確認画面が表示されない

    PHPを勉強しようと思いApacheをインストールしましたが、接続の確認を行う為ブラウザを起ち上げ http://localhost/ にアクセスすると確認画面が表示されると本に載っていましたが表示されず「It works!」と表示されてしまします。 タスクバーにApache(緑)で表示されているので起動はしてるとは思うのですが、なぜ確認画面が表示されないのでしょうか? OS : XP apacheバージョン : apache_2.2.6-win32-x86-openssl-0.9.8e

    • 締切済み
    • PHP
  • Xoopsをインストールしたところ、http://localhostでの接続もできなくなりました

    サーバ兼クライアント機のFC6に、Apache2(httpd-2.2.4),PHP-4.4.7, MySQL-5.0.41を、それぞれソースからインストールして学習しています。 ブラウザFirefoxで、http://localhost [Enter] として、「It Works !」の表示もされました。 ところが、Xoops 2.6.16a JP をインストールしたところ、 xoopsの表示はおろか、http://localhost での接続もできなくなりました。 http://localhost [Enter] 実行時のエラーメッセージは次の通りです。 ------------ 正常に接続できませんでした。 localhost のサーバへの接続を確立できませんでした。 このサイトが一時的に利用できなくなっていたり、サーバの負荷が高すぎて接続できなくなっている可能性があります。しばらくしてから再度試してください。 他のサイトも表示できない場合、コンピュータのネットワーク接続を確認してください。 ファイアーウォールやプロキシでネットワークが保護されている場合、Firefox による Web アクセスが許可されているか確認してください。 ------------ DocumentRootはデフォルトの/usr/local/apache2/htdocs においてあり、htdocsのパーミッションも777に変更し、iptables と ip6tables いずれも stop(off)にし、SELinux も disabled にしましたが、やはりサーバへの接続ができません。ウイルス対策ソフト等はインストールしていませんし、特別にサーバ負荷がかかるような心当たりはありません。サーバ兼クライアントの1台中で完結していますので、ネットワーク接続の問題も無いと思われます。 原因は何が想定されるでしょうか? 解決の糸口をご教示頂ければ幸いです。

  • Apacheについて

    phpを導入しようと思い、本を購入しました。 そこでapache2.0.45をインストールしたのですがphpファイルがうまく作動しません。 winndouws xpを利用しているのですがapache1.3.28がインストールされていました。動作確認の際にhttp://localhost/をアドレスバーに打ち込んだらゲットサービスというものでIDとパスワードを打ち込む内容が表示されました。 結局本で解説されているapache2.0.45を起動させlocalhostをアドレスバーに打ち込んだら正常に動作されている画面が無事に表示されました。 PHPファイルをhtdocsの下に保存しhttp://localhost/ の後に保存したファイル名を入力しても反映されません。 PHPファイルをどこに保存したら反映されるのでしょうか? Apacheのhttpd.conf設定は何度も確認し間違いはありません。 最初からインストールされていたapache1.3.28が原因なのでしょうか?

    • 締切済み
    • PHP
  • tomcat でlocalhostが表示できない

    windows7 home 64bit の端末に、apache-tomcat-6.0.18.exe をインストールし、 http://localhost:8080/ を表示させようとしたところ、表示できません。 ずっと処理中のままです。 C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\conf 内の、 tomcat-users.xml の文字コード指定は utf-8 に変更したのですが、 catalina.2011-10-29.log には、以下のエラーが出力されています。 警告: 参照の解決中に予測しない例外が発生しました java.io.UnsupportedEncodingException: cp932 文字コードの変更がうまくいっていないのでしょうか。 また、tomcatをインストールした直後は、タスクトレイにアイコンが表示されて いたのですが、端末を再起動すると何も表示されなくなりました。 (サービスにtomcatが起動していることは確認しました。) これは正しくインストールされているのでしょうか? 対処方法をご存知の方がいたら、教えてください。

    • ベストアンサー
    • Java
  • apacheにLocalhost名でアクセス

    現在稼動しているシステムに対して VMからクローンを作成してテスト環境を作成しようとしています。 クローン自体は作成できたのですが その中で稼動しているapacheの修正で困っています。 現象としては、ブラウザ(Firefox)より http://localhost でアクセスすると http://www.example.com/ のように出てきて、そちらにアクセスしてしまいます。 (http://www.example.com/ はクローン元で設定されていたドメインです) /etc/hosts は確認して、デフォルトに戻しており httpd.conf についてもデフォルトの設定ファイルに置換えしてみましたが やはり、http://www.example.com/ とクローン元で設定したドメイン名を参照しにいってしまいます。 (httpd.confのServernameについても初期状態なのは確認しています) 現在、外部アクセスは行わないよう、NICの設定は外しているので DNSでの変な名前解決を行っているとも思えません。 構築した担当者はすでに不在との事で設定箇所の確認ができない状態です。 その他に確認、修正を実施するべき部分はありそうでしょうか。