頑張らない!でも諦めない!必死にならずにええかげん

Apacheインストール直後にコマンド画面でエラーが表示された場合の対処法

      2014/11/22

Apacheをインストールしてインストーラが終了する直前に、
コマンドプロンプト(黒窓)が表示されて、なんだかのエラーが表示される。
そんな経験はありませんか?そうしたエラーが発生してしまう理由と対処法をご紹介します。

はじめに

Apacheのインストールは普通は何の問題もなく終了します。
ですので、ほとんどの人が問題なく行えているはずです。

しかし、ApacheはWebサーバーですから、
IISやその他のWebサービスが動いている環境などでインストールした際や、
既に別のバージョンのApacheがインストールされている環境に、
インストールした際にはエラーが表示され、そのままでは正しく動作しません。

エラーの原因と修正方法をご紹介します。

エラーの表示

Apacheのインストールが完了すると、
以下のようなメッセージが表示されることがあります。

コマンドプロンプト1

01_ソケットアドレスエラー

ソケットアドレスエラー

(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 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. 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

02_サービス名変更のエラー

サービス名変更のエラー

[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

03_Apache Service Monitorエラー

Apache Service Monitorエラー

Error
Apache monitor is already started

エラーが発生後の状態

こうしたエラーが発生した場合、当然ながらそのままの状態では利用できません。
とは言え、httpd.confを修正することで、対応が可能です。

Apacheのインストール自体はFinishダイアログの表示がされていることから、
正常に終了しています。

最初の起動を行う前の初期設定でエラーとなっています。

サービスの確認

サービスを確認すると新たにApache2.2として追加されています。
確かに、Apache2としては登録されていません。

Apache Service Monitorに対してもApache2.2として追加されています。

通常通り、開始してみると当然ながらエラーになります。

04_サービス起動エラー

サービス起動エラー

Apache Service Monitorから起動しても同様です。

05_Apache起動エラー

Apache起動エラー

既存の環境とどのように切り分けるか

こうした通信を行うアプリケーションで同じポートを利用してしまう競合はよくあることです。

それぞれをアプリケーション任せにせず、個別に指定してあげることで対応します。

ポートで振り分ける

一番簡単な切り分け方法はポートで切り分けてしまうことです。

今回の例では、既にApacheがインストールされておりListen 80にて稼働しています。
新しく追加したApacheを81などの別のポートで動かすことで動作させることができます。

httpd.confを変更します。

起動して確認します。
追加でインストールしたApacheも正常に起動します。

06_Apache起動

Apache起動

ブラウザから表示を確認します。

以下のように、既にインストールされていたApache(左)は普通にアクセス可能で、
追加でインストールしたApache(右)はURLに対してポート(81)を指定すれば表示されます。

07_ブラウザからの確認

ブラウザからの確認 

ただ、この方法では後からインストールしたApacheへのアクセスは、
すべてポート81を付与しなければアクセスができません。
これではwordpressなどのアプリケーションは利用できないでしょう。

おそらく、リバースプロキシを利用してポートを変換してやることはできそうな気がしますが、
試してみた感じ、うまくいきませんでした。いい方法あったらコメントででも教えてください。

これでエラーが発生している場合でも、
Aapche自体は正常にインストールされていることがわかります。

競合するポートを解決してあげることで、共存させることが可能です。

以下補足です

IPアドレスで振り分ける

ポートでは不便なので、
IPアドレスで振り分けを行った方が使い勝手はよくなるでしょう。
その手順については以下でご紹介しています。

1つのPC(サーバー)で複数のIPにアクセスをする

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

エラーが出てしまうと、インストールがちゃんとできたのか不安になってしまいますが、
エラーの原因を取り除けばちゃんと動作します。

こうした問題が発生しないように、複数の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に承認されライセンスされています。

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。

AdMax Promotion

ブログ記事のご紹介
すべて展開 | すべて省略

Rakuten Promotion

ページ
すべて展開 | すべて省略

 - Apache

  関連記事

eye_apache_fcgi
(mod_fcgid on 2.0.x)windowsでCGIをFastCGIで実行するように設定したかった

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_php
PHP.iniに設定する設定値はhttpd.confや.htaccessに対しても設定が可能

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache
Apacheのmod_rewriteで日本語にマッチさせたい(引用)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_windows
プログラムをwindowsのサービスとして追加する(Apacheの例)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(相対ディレクトリ)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_windows
1つのPC(サーバー)で複数のIPでアクセス(Listen)を受ける

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
(mod_fastcgi on 2.0.x)windowsでCGIをFastCGIで実行するように設定する

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
[コンピュータに MSVCR110.dllがない]とApacheMonitor.exeを起動して言われた場合

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache_fcgi
PHPをmod_fcgidやmod_fastcgiでFastCGI実行する方法

Google or AdMax Promotion(it) 禁断の機能がau公式 …