Apacheインストール直後にコマンド画面でエラーが表示された場合の対処法
2014/11/22
Apacheをインストールしてインストーラが終了する直前に、
コマンドプロンプト(黒窓)が表示されて、なんだかのエラーが表示される。
そんな経験はありませんか?そうしたエラーが発生してしまう理由と対処法をご紹介します。
はじめに
Apacheのインストールは普通は何の問題もなく終了します。
ですので、ほとんどの人が問題なく行えているはずです。
しかし、ApacheはWebサーバーですから、
IISやその他のWebサービスが動いている環境などでインストールした際や、
既に別のバージョンのApacheがインストールされている環境に、
インストールした際にはエラーが表示され、そのままでは正しく動作しません。
エラーの原因と修正方法をご紹介します。
エラーの表示
Apacheのインストールが完了すると、
以下のようなメッセージが表示されることがあります。
コマンドプロンプト1
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logsNote the errors or messages above, and press the <ESC> key to exit. 19…
(OS10048)通常、各ソケットアドレスに対してプロトコル、ネットワークアドレス、またはポートのどれか1つのみを使用できます:。make_sockは:0.0.0.0:80に対処するためにバインドできませんでした
利用可能なリスニングソケット全くありません、シャットダウンしました
ログを開くことができません上記のエラーやメッセージをメモし、終了し<ESC>キーを押します。 19 …
この表示はApacheをインストーラから普通にインストールした際に、
既にWebサーバなどがインストールされていて、
ローカルPC(サーバ)の(唯一の)IPアドレスの80ポートが占有されている場合に表示されます。
このことによって、インストールしたApacheが、
localhost:80、127.0.0.1:80、192.168.0.1:80などローカルのIPで、
サーバーをホストできなかったことを示しています。
httpd.confで言えば、以下のデフォルト設定が有効にできないといった感じです。
#Listen 12.34.56.78:80
Listen 80
コマンドプロンプト2
[Thu Oct 31 20:20:47 2013] [error] (OS 2)指定されたファイルが見つかりません。 :
No installed service named “Apache2”.
Note the errors or messages above, and press the <ESC> key to exit. 25…“Apache2の”という名前のインストールされたサービスはありません。
上記のエラーやメッセージをメモし、終了し<ESC>キーを押します。 25 …
これはサービス名のApache2が、
既に登録されている為にインストールされなかったと言っているようです。
ダイアログ1
Error
Apache monitor is already started
エラーが発生後の状態
こうしたエラーが発生した場合、当然ながらそのままの状態では利用できません。
とは言え、httpd.confを修正することで、対応が可能です。
Apacheのインストール自体はFinishダイアログの表示がされていることから、
正常に終了しています。
最初の起動を行う前の初期設定でエラーとなっています。
サービスの確認
サービスを確認すると新たにApache2.2として追加されています。
確かに、Apache2としては登録されていません。
Apache Service Monitorに対してもApache2.2として追加されています。
通常通り、開始してみると当然ながらエラーになります。
Apache Service Monitorから起動しても同様です。
既存の環境とどのように切り分けるか
こうした通信を行うアプリケーションで同じポートを利用してしまう競合はよくあることです。
それぞれをアプリケーション任せにせず、個別に指定してあげることで対応します。
ポートで振り分ける
一番簡単な切り分け方法はポートで切り分けてしまうことです。
今回の例では、既にApacheがインストールされておりListen 80にて稼働しています。
新しく追加したApacheを81などの別のポートで動かすことで動作させることができます。
httpd.confを変更します。
46 47 |
#Listen 12.34.56.78:80 Listen 81 |
起動して確認します。
追加でインストールしたApacheも正常に起動します。
ブラウザから表示を確認します。
以下のように、既にインストールされていたApache(左)は普通にアクセス可能で、
追加でインストールしたApache(右)はURLに対してポート(81)を指定すれば表示されます。
ただ、この方法では後からインストールしたApacheへのアクセスは、
すべてポート81を付与しなければアクセスができません。
これではwordpressなどのアプリケーションは利用できないでしょう。
おそらく、リバースプロキシを利用してポートを変換してやることはできそうな気がしますが、
試してみた感じ、うまくいきませんでした。いい方法あったらコメントででも教えてください。
これでエラーが発生している場合でも、
Aapche自体は正常にインストールされていることがわかります。
競合するポートを解決してあげることで、共存させることが可能です。
以下補足です
IPアドレスで振り分ける
ポートでは不便なので、
IPアドレスで振り分けを行った方が使い勝手はよくなるでしょう。
その手順については以下でご紹介しています。
さいごに
エラーが出てしまうと、インストールがちゃんとできたのか不安になってしまいますが、
エラーの原因を取り除けばちゃんと動作します。
こうした問題が発生しないように、複数のApacheをインストールする際には、
インストールする時点でちゃんと設定を行いたいものです。
Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
登録番号は以下の通りです。
第3333588号、第3351402号、第4197799号、
第4348387号、第4395963号、第4648301号
Windows は米国 Microsoft Corporation の米国およびその他の国における国際登録商標です。
国際登録番号:1135413
Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。
関連記事
-
(mod_fcgid on 2.0.x)windowsでCGIをFastCGIで実行するように設定したかった
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHP.iniに設定する設定値はhttpd.confや.htaccessに対しても設定が可能
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Apacheのmod_rewriteで日本語にマッチさせたい(引用)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
プログラムをwindowsのサービスとして追加する(Apacheの例)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(相対ディレクトリ)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
1つのPC(サーバー)で複数のIPでアクセス(Listen)を受ける
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(mod_fastcgi on 2.0.x)windowsでCGIをFastCGIで実行するように設定する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
[コンピュータに MSVCR110.dllがない]とApacheMonitor.exeを起動して言われた場合
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHPをmod_fcgidやmod_fastcgiでFastCGI実行する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …