ほかのアプリケーションにポートを使用されてApacheが起動できない

他のアプリケーションにポートを使用されていてアプリケーションが起動できないといったときの対処法です。

[参考記事] Linuxの場合 Apacheを起動するときに、ほかのプロセスによってポートが使用されていた場合

SkypeをインストールしたがためにApacheが起動できないというのがよくあるパターンです。
エラーメッセージ

(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

ポートを使用しているプログラムを調べる方法

コマンドプロンプトで次のコマンドを実行すると、ポートを使用しているプロセスの一覧が表示されます。
(-oはPIDの表示、-aは全ての接続を表示、-nはアドレス・ポートを数値で表示)

netstat -oan



ここで調べたいポートを使用しているプロセスのPIDをチェックします。

C:\>tasklist /svc /fi "PID eq 716"

イメージ名                     PID サービス
========================= ======== ============================================
Skype.exe                      716 N/A

タスクマネージャからもPIDを使用しているプロセスはわかります。

しかし通常はPIDは表示されていません。


『 表示 』から『 列の選択 』をクリックします。


PID(プロセスID)にチェックを入れます。


そうするとポートを使用しているプロセスが特定できます。

Skypeが80番ポートを使用しているときの対処法

Skypeを起動するとデフォルトでは80番ポートが使われる。


『 ツール 』→『 設定 』→『 詳細 』→『 接続 』
『 上記ポートに代わり、ポート80を使用 』のチェックを外すことで、ランダムなポート番号が使われるようになる。

しかし環境によっては通話できなくなる可能性がある。

関連記事

スポンサーリンク

フィヨルドランドペンギン

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る