Windows10にアップブレードしてXAMPPのApacheが起動しない件


port

みなさん、こんにちは!
Windows10もだいぶ慣れ親しんできましたタカハシ(@ntakahashi0505)です。

先日Windows10にアップグレードしました。

システムフォントも修正したことですし

Windows10にアップグレードして見づらいフォントの解決法
Windows10にアップグレードをすると、フォントが「游ゴシック」に設定されます。しかしかすれて見づらいし、細長くてバランスも悪い…今回はWindows10でシステムフォントを変更する方法についてです。

起動も早い!デザインもスッキリ!といった感じで満足していたのですが、一つ問題が出てきました。

XAMPPのApacheが起動しなくなってしまったのです…

せっかくローカルにWordPressほかの開発環境を作ったのですが

XAMPPを使ってWindows上にローカルWordPress開発環境を作る方法
WordPressサイトを10分で立ち上げることを目標に研究を進めています。今回は、WP-CLIを使ってWordPressサイトを開発できるWindowsローカル環境をXAMPPを使って構築します。

困った話です。

今回、Windows10にアップブレードをしてXAMPPのApacheが起動をしなくなった場合の解決方法についてお伝えします。

スポンサーリンク

TCPのポート番号がバッティングしてApacheが起動しない

先日okutani氏(@okutani_t)とWEB制作に関しても楽しい打ち合わせをしていた時のこと。

デモを見せようとしてXAMPPでApacheを起動しようとしたら

XAMPPでApacheが起動しない

…!

Apacheが起動しない…。せっかくの楽しい打ち合わせなのにー。

さて、後日このエラーですがよく読んでみると

Apacheは予想外のシャットダウンをしたよ。
たぶん、ポートがブロックされているよ。

てな感じです。

XAMPPのApacheは80番と443番のポートを使います。そのどちらかが、Windows10にアップグレード時に変更された何かがバッティングしているらしいです。

Skypeも我が物顔で80番ポートを横取りして邪魔していてくれましたが、今回もMicrosoftさんですか。

netstatコマンドでバッティングしているプロセスを探す

では、何がバッティングしているかを探っていきます。

コマンドプロンプトを立ち上げまして

[sh]
netstat -oan
[/sh]

を打ちます。

このnetstatはTCP/IPの通信状態を知るためのコマンドなのですが、-oanというオプションをつけることで、ある特定のポートを待ち受けているプログラムを見つけることができます。

詳しくはこちらの記事をご参考ください。

netstatでリッスンしているプロセスを特定する
ネットワーク・サービスは特定のTCPやUDPのポートを使ってリッスン(待ち受け)している。ファイアウォールの設定やネットワーク管理などを行うためには、どのサービスやプロセスがどのポートを使用しているかを正確に把握する必要がある。Window...

で、やってみましたところ

netstatコマンドでポートの状態を調査

TCPのポート80番は、PID4番のプログラムがポート待ち受けしているみたいです。

PIDとは何かと言いますと、Windowsで実行中のプログラムに固有に割り当てられているプロセスIDのことです。

PID4番が何に使われているかを探り当てればOKということですね。

タスクマネージャでPIDを確認

PIDについてはタスクマネージャで確認をすることができます。

タスクバーのあたりで右クリックでメニューが出ますので、「タスクマネージャ」を選択。

タスクマネージャを選択

ここでは、詳しく見たいので「詳細」をクリックします。

タスクマネージャの詳細

詳細画面では「詳細」タブを選択して、「PID」をクリックして昇順に並び替えをしますと、PID4番が「システムと圧縮メモリ」に割り当てられていることがわかります。

タスクマネージャでPIDを調査

「システムと圧縮メモリ」…なんか止めたらやばそうなやつですけど…

でも止めちゃいますよ!

インターネットインフォーメーションサービスを無効化する

「システムと圧縮メモリ」とありますが、この正体は「インターネットインフォメーションサービス」略して「IIS」というものです。

このIISは何か?ということなのですが

IISとは、Microsoft社のWebサーバソフト。同社のWindows ServerシリーズなどのOS製品に同梱されているもので、企業の社内情報システムや公開Webサーバなどでよく利用される。

引用:IT用語辞典-IIS

とのことです。もともとWindows7やWindows8などにもインストールはされていたのですが、デフォルトで有効になっていなかったものです。

Windows10からはデフォルトで有効になっちゃっているというわけでした。

Webサーバーなどを構築したりしなければIISは不要ですので、無効化しちゃっても問題ないです。

では、スタートメニューを立ち上げたら「Windowsの機能の有効化~」とか打ち込んでいただければ、候補として「Windowsの機能の有効化または無効化」が出てくると思いますので、選択してください。

Windowsの機能の有効化または無効化を選択

かなり下のほうになりますが「インターネットインフォメーションサービス」があると思います。ここで「World Wide Webサービス」にチェックが入っていれば、これを外してしまいましょう。

インターネットインフォメーションサービスのWorldWideWebサービスのチェックを外す

何やら質問をされますが迷わず「はい」。

Windowsの機能ウィンドウ

何やら検索をするとのことで、少し時間がかかりますが

Windowsの機能ウィンドウ2

待っていれば完了します。

Windowsの機能ウィンドウ完了

XAMPPでApacheが起動するか確認してみると無事に起動できるはずです。

XAMPPでApacheが起動した

良かった良かった!

しかし、okutani氏からはXAMPPではなくて、VargrantやらVCCWやらを使うのがおすすめ!なんてアドバイスをもらっちゃいました。

せっかくXAMPPと仲良しになってきたのに、でもそちらのほうが便利そう…覚えることがたくさんあるぜ。

まとめ

さて、Windows10にアップグレードをしてXAMPPのApacheが起動しない件はこれにて一件落着です。

また、TCPの状態を確認したり、PIDを確認したり、IISについて調べたり、横道には逸れましたがけっこう勉強にもなりましたね。

なお、今回はこちらの記事を参考にさせて頂きました。ありがとうございます!

Windows10にアップグレードしたらApache起動しなくなったので対策に乗り出したっていう話 | Thought is free
Windows7 から Windows10 にアップグレードしたでござる。 正直言って Windows10 は気に入らん部分が多すぎて、アップグレードしたくなかったのだが、 Wi...

では、素敵なWindows10&ローカル開発環境をお楽しみください!


コメント

  1. 小路 昇 より:

    ありがとうございます。
    同じ現象が発生しておりましたが、簡単に解決できました。

  2. windows10に更新してからxamppが起動しない問題 | プログラミングのperlでウェブスクレイピングするまで頑張るブログ より:

    […] Windows10にアップブレードしてXAMPPのApacheが起動しない件 […]

  3. べんべん より:

    やっと原因がわかりました!本当に助かりました。ありがとうございます。

タイトルとURLをコピーしました