Windowsアップグレードの勧誘があったので、試しにWindows7 から Windows10 へアップグレードしたところ、またXAMPPコントロールパネル操作にてApacheが起動しなくなりました。Windows10コノヤロー!;;
※2016年6月頃に、ほぼ強制的に Windows 8 から Windows10 へアップグレードさせられた時はそんなことはなかったのですが。
以前の記事、「XAMPPのApacheが起動しない/windows8」でApacheが起動しない問題の対処方法について書いたのですが、System(PID:4)でポート番号80を使用している場合では通用しないようでしたので、別途対処方法を記載したいと思います。
【目次】
1.Apacheが起動しない原因を突き止めてみる
2.ポート80を使っている「System PID 4」とはなにか?
3.System(PID 4)で実行しているポート番号80を使用しているアプリケーションとは?
4.ポート80を使えるようにする
Apacheが起動しない原因を突き止めてみる
ポート80を使ってるアプリケーションを調べるには、コマンドプロンプトを開いて「netstat -nao」と打ってEnterボタンを押すと、どのポートで何が実行されているか一覧が出ます。

一覧の中から「アドレス」が80となっている(0.0.0.0:80とかで表示されているかも)項目があったらそのPIDの番号をメモしておく。
次に、タスクマネージャーを開いて(ショートカットキー:[Ctrl]+[Shift]+[Esc])、[詳細]タブを開くと実行中のアプリケーション一覧が開くので、「PID」の項目から先ほどコマンドプロンプトで調べたPIDの番号と一致する項目を探します。
一覧から見つけたら、項目を選択して[タスクの終了]ボタンを押せば、「ポート80」を使っているアプリケーションがなくなり、XAMPPコントロールパネルでApacheが起動できるようになるはずですが、今回の場合はそれができません。

「タスクの終了」ができなかった、この「System」とはなにか?
※ポート80を使えるようにする方法は後述します。
ポート80を使っている「System PID 4」とはなにか?
ポート80を使用している「System(PID 4)」は「Systemプロセス」といわれているもので、Windows OSの中核部分であるカーネル内で、アプリケーションソフトウェアとコンピュータのハードウェアを結び付ける役割を行ってる部分です。

…タスクの終了ができないわけだ;
Windowsそのものですね。
だが、ポート80をSystem PID 4から奪い返せないわけではない!
※ポート80を使えるようにする方法は後述します。
System(PID 4)で実行しているポート番号80を使用しているアプリケーションとは?
System (PID:4) にて実行しているポート番号80を使用しているアプリケーションには何があるのだろうか?Windows10にアップグレードしたとき時に、新しいブラウザなど標準ソフトウェアとして入れられたアプリケーションがあるのかもしれない。。。
ということで、System (PID:4) にて実行しているポート番号80を使用しているアプリケーションを調べてみました。
ポート80を使ってるアプリ・サービス | 何をしているアプリ・サービスなのかなど概要・備考 |
IIS (Internet Information Services/インターネット インフォメーション サービス) |
IIS(インターネット インフォメーション サービス)とは、Microsoftが提供しているWebサーバー機能の名称で、自宅のパソコンをサーバーに構築するための機能です。IISをインストールしたときに、既定の Web サイトでポート80が使用されるように構成されます。
|
WebMatrix |
WebMatrixインストール時に起動する「Web Deployment Agent Service」が 「IIS」を使っている。WebMatrix自体もMicrosoft製品の一つで、Windows上に動的Webサイトをすばやく構築することができる無償ツールらしいです。
|
Visual Studio |
Visual StudioとはMicrosoftがリリースしているWindows環境における統合開発環境のことで、Webサーバーとして 「IIS」と連携できる。見た目はエディタみたいなやつです。自分の周りの人はアプリケーション開発する時に使ってますね。
|
Windows Remote Management |
Microsoft によるリモート管理用の WS-Management プロトコルの実装で、実装している任意のコンピューター デバイスで管理データをリモートで交換するための公的な基準として、ハードウェアとソフトウェアの製造元のグループによって開発されたWindows リモート管理のこと。WinRM サービスは IIS には依存しませんが、同じコンピュータ上で 1 つのポートを IIS と共有するよう事前に設定されているそうです。…つまり「IIS」が原因みたいです。
|
World Wide Web Publishing Service |
IISの一部。コンピューター上で HTTP サーバーとして動作するサービス。
|
上の表から、Microsoftが提供している「IIS」を使ったサービスがやばいらしいことがわかりましたね。そういえば、Apacheが起動しなくなる原因でもっとも有名なサービスである「Skype」もMicrosoftが提供しているサービスの一つでした;
IISを使ったプログラムを探し出して引っこ抜くのはたいへん面倒なので、この「IIS」自体の機能を無効化してみましょう。
ポート80を使えるようにする
IIS(Internet Information Services/インターネット インフォメーション サービス)を無効化するには、[Windowsのスタートボタンを右クリックしてコントロールパネル] → [プログラム] → [プログラムと機能] → [Windowsの機能の有効化または無効化]で「Windowsの機能」ダイアログを表示させます。
「インターネット インフォメーション サービス」の項目を開いて、「World Wide Web サービス」のチェックを外します。

これでポート80が使えるようになりました。
XAMPPコーントロールパネルでApacheが起動できます。

以上になります。
スポンサーリンク
スポンサーサイト