XAMPPをインストールして起動してみたときに、Apacheの起動に失敗する場合に確認してみたことです。
[Apache] Problem detected!
[Apache] Port 80 in use by "Unable to open process" with PID 4!
[Apache] Apache WILL NOT start without the configured ports free!
[Apache] You need to uninstall/disable/reconfigure the blocking application
[Apache] or reconfigure Apache and the Control Panel to listen on a different port
みたいなエラーになるときの対処法。
他にもHTTPポート(80、443)を使用することがなぜかできない、という場合に確認してみるところです。
Skypeがポート80および443ポートを使用しているので解除する
これは全く気づいてなかったんですが、Skypeがポート80と443を使用してしまっていました…
デフォルトでオンになっているようなので、インストールして起動している場合は注意です。
SkypeはだいたいデフォルトでPCが起動したら起動するようになってると思いますので、そのコンボで邪魔をしてくるというわけですね…
解除する方法は、「ツール > 設定」よりSkypeの設定を開いて、「詳細 > 接続 > 追加の受信接続にポート80と443を使用」のチェックを外します。
IISを停止する
こちらも全く設定した覚えなかったのですが、どうやらWindows10だとデフォルトでオンになっているよう…?
出てきたエラーの「PID4が使用してる」というところで、タスクマネージャーの「詳細」からどのプロセスか確認してみると、Systemなんですよね…
IISについてはWindowsの構成から停止します。Windowsの「設定」より、「システム > アプリと機能」の一番下、「プログラムと機能」を開きます。
そして「Windowsの機能の有効化または無効化」を開くと、出てくるダイアログにある「インターネットインフォメーションサービス」のチェックを外します。
今のところ引っかかったアプリはこのくらいです。どちらも全く心当たりなかったので最初気づかなかった…
ポートを使用しているプロセスを調べる方法
これ以外にもあるかもしれない場合に、調査する方法です。
Windowsスタートメニューの「Windowsシステムツール > コマンドプロンプト」を実行します。
次に
netstat -ano
を実行すると、ネットワークを使用しているプロセスがずらっと出てきます。
その中に、ポート80や443をLISTENしているプロセスがあるので、その番号を控えます。
IISが起動しているときはこんな感じ。
この一番右の数字がプロセス番号。
で、この番号を、タスクマネージャーの「詳細」の「PID」と照合します。
Systemが使用していますね。(これがIISと気づくのに時間がかかりましたが…)
XAMPPの場合は、エラーメッセージにPIDを出してくれているので、タスクマネージャのほうでまずそれを確認してみるとよいと思います。