- ベストアンサー
Apacheを起動するとエラーになってしまう原因
- Apacheを起動するためにC:/pg/Apache24/bin/httpd.exeを開くとエラーメッセージが一瞬出て終了してしまいます。
- 参考サイトの通りにやったのですが、なぜエラーになってしまうのでしょうか。
- Apacheの設定ファイルを変更し、ファイアウォールのブロック解除を試みましたが、エラーメッセージが表示されて終了してしまいます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> make_sock: could not bind to address [::]:80 というエラーメッセージから、80番ポートが使えないのが原因と思われます。 ファイアーウォールで80番が塞がれているか、他に80番ポートを競合するアプリケーションが起動しているのではないでしょうか? 例えばWindowsに標準で入ってるIISサーバーが起動してしまっているとか。 あるいはSkypeが入っていると、これが着信用に80番ポートを占有してしまう場合があります。
その他の回答 (3)
- Toshi0230
- ベストアンサー率51% (836/1635)
> この開き方が管理者として開くということでしょうか。 いや、それでは単純にアプリケーションとして実行しているだけになります。 OSがWindows Vista/7 の時だけの操作になりますが、管理者権限を持つユーザでログインした上で、httpd.exe を右クリックしてください。おそらく、表示されるメニューの中に「管理者として実行」というのがあると思うので、それを選択して実行してみてください。
お礼
解決しました!! 管理者として実行の方法ではないですが、 インストール直後の状態に戻し、最初からやりなおしました。 ファイルをダブルクリックで開くのではなく、 コマンドプロンプトで入力して開くようにしました。 前回は、最初に出てくるC:\Users\コンピュータ名>pg\~としていましたが、 C:\Users\コンピュータ名>\pg\としたらちゃんと開きました。 管理者として実行する方法も試してみます。 有難うございました。 ですが、今度はPHPの設置でつまづいています。 もしよろしければ、またアドバイスを頂けないでしょうか。 http://oshiete.goo.ne.jp/qa/7260964.html
- Toshi0230
- ベストアンサー率51% (836/1635)
考えられる可能性1:管理者権限で起動していない。 OS が Vistaや7の場合、コマンドプロンプトから管理者権限を要するアプリケーションを起動する際はコマンドプロンプトを「管理者として実行」で起動する必要があるはず。(勘違いだったら失礼) 考えられる可能性2:80/tcp を占有しているアプリケーションがある。 すでに他の方も回答されてますが、他のアプリケーションが80/tcpを占有している場合は後から起動したソフトがそのポートを使用することは出来ません。 他にも設定ミスなども考えられますが、真っ先に浮かんだのが上記2点。 確認してみてください。
お礼
アドバイス有難うございます。 これでC:/pg/Apache24/bin/httpd.exeをダブルクリックすると、 「開いているファイル-セキュリティの警告」ウィンドウが出てきて、そこには 発行元を確認できませんでした。このソフトウェアを実行しますか? と問われ「実行」を押して開いています。 この開き方が管理者として開くということでしょうか。 ちなみに、ポート番号を質問者NO2さんのお例文のように変更して見たのですが解決しませんでした。
- shimauma_8
- ベストアンサー率0% (0/3)
私見で回答します。 あくまで想像ですから参考と思ってください。 失礼いたします。 よくわかりませんので、気になった事を書きます。 ・一括置換は危険なのでこういった環境変数かえる場合は、面倒ですがひとつひとつ確認しながら置換したほうがいいと思います。 ・IPアドレスが入力されていないと思います。 変更もれなのか、記入もれがあるように思います。 こういった設定は、【255.255.255.0:8080】が多いですが、アパッチ詳しくないので、参考にはしないでください。 いずれにしても、アドレス関係に問題あるのは間違いないと思います。 ・フリーソフトに添付されているマニュアルは品質が悪く素人向けではないので、経験者がわかりやすく書いているサイトを探して、そのサイトのやり方を真似たほうがいいと思います。 ・夜中に頭を使うのは効率悪いの避けたほうといいと思います。 失礼いたします。
お礼
有難うございます。 色々調べながらやっていますが、迷宮入りしてしまっています。 質問者NO2さんのお例文のようにしましたが問題がなくなりませんでした。
お礼
ありがとうございます。 [ファイル名を指定して実行]から"cmd"と入力してコマンドプロンプトを開き、"netstat -ano"を実行。そして、外部IPアドレスの最後が80になっているのがありました。 Ctrl + Shift + Escでタスクマネージャを立ち上げ、 [プロセス]タブを開き[表示][列の選択]でPIDにチェックを入れ、 コマンドプロンプトのPIDと同じものを探してみると、 firefox.exe Google Toolbar Notifier.exe の2つが使っているようでした。 ネットへ接続するためのものは設定を変えたくないので、 Apache側のポートを変更することにしました。 <Apacheのポート80を88へ変更してみる> ポート88は上記のポート一覧にはなかったので、何も使われていないようです。 C:/pg/Apache24/conf/httpd.confの 206行目 # 207行目 #ServerName www.example.com:80 208行目 ServerName localhost 209行目 210行目 # 211行目 # Deny access to the entirety of your server's filesystem. You must となっているのを下記のように208行目にServerName localhostを追加し保存しました。 206行目 # 207行目 #ServerName www.example.com:80 208行目 ServerName localhost:88 209行目 210行目 # 211行目 # Deny access to the entirety of your server's filesystem. You must これでC:/pg/Apache24/bin/httpd.exeをダブルクリックで開いてみても解決せず、 http://shrine-bell.seesaa.net/article/188477746.html によればSSLポートも変更する必要があるようで C:/pg/Apache24/conf/extra/httpd-ssl.confの 39行目 Listen 443 を 39行目 Listen 448 に変更して再度試してみましたが、解決しませんでした。