関連記事
XAMPPでApacheがStart出来ない場合の対処方法
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
今回は、XAMPPで「ApacheがStart出来ない場合」の対処方法をご説明します。
XAMPPをインストールしたものの、Apacheの「Start」ボタンを押しても正常に起動せず、すぐにボタンがStartに戻ってしまう。
このような現象に遭遇してしまった人も多いと思います。
今回は、こういった場合の対処方法を見ていきましょう。
Apacheが正常に起動しない場合の確認ポイント
Apacheが正常に起動しない場合の確認ポイントは2つあります。
確認ポイント①「ポートが競合していないかどうか」
確認ポイント②「設定ファイルに記述ミスがないかどうか」
これらを順番に見ていけばOKです。
ポート競合とは?
まずはポートの競合について。
ポートというのは、コンピューターに用意されている「通信用のドア」のようなもので
全部で65536個のドアが用意されています。
そして、各ドアには0番~65535番まで番号が振られています。
この番号のことを「ポート番号」といいます。
コンピューター同士で通信を行う際には、同じ番号のドア同士でデータのやり取りを行います。
使用するドアは、通信方法やソフトによって決められています。
例えば、
ブラウザでWebサイトを見る際のHTTP通信は「80番ポート」
暗号化されたHTTPS通信の場合は「443番ポート」
FTPでサーバーにファイルを転送する際は「21番ポート」
メールを送信する際は「25番ポート」
プログラムからMySQLのデータベースにアクセスする際は「3306番ポート」
このような感じです。
これらの通信を管理する各種サーバーソフトは、上記のポートを専有しています。
例えば、WebサーバーであるApacheは「80番」と「443番」を専有、データベースサーバーであるMySQLは「3306番」を専有といった形ですね。
しかし、全く同じ番号を使うサービスが他にも存在する場合があります。
例えば80番ポートは、Apache以外にも「Skype」やWindowsに標準搭載されているWebサーバーである「IIS」も使用します。
つまり、これらが起動していると「ポートがすでに使用されている状態」となり、Apacheを起動することが出来ません。
これが、「ポート競合」という状態です。
①ポート競合の確認方法
ポートの使用状況は、XAMPPから確認することが出来るので、実際に確認してみましょう。
XAMPPの画面の右のほうにある「Netstat」というボタンをクリックします。
この画面で、各種ポートの使用状況を確認出来ます。
見やすいように、画面上部の「Port」という部分をクリックして並び替えてみましょう。
Portという列に「80」と書かれている行があるかどうかチェックします。
80という行が無い場合
確認ポイント①は問題ありません。確認ポイント②へ進みましょう。
80という行がある場合
Nameの列に書かれている名前を調べます。
◆Nameが「Skype.exe」となっていた場合
⇒パソコンに入っているスカイプと競合してしまっているので、スカイプを終了させてから、再度ApacheのStartボタンを試してみてください。
◆Nameが「System」となっていた場合
⇒Windows標準のIIS(インターネットインフォメーションサービス)と競合してしまっているので、以下の手順で無効化してみてください。
①PCの画面左下のWindows(窓マーク)をクリックして、歯車のアイコンをクリックします。
②その中の「アプリ」をクリックしてから画面右上の「プログラムと機能」をクリックします。
③左にある「Windowsの機能の有効化または無効化」をクリックします。
④下の方にある、「インターネットインフォメーションサービス」の左の+をクリックして展開し、「World Wide Webサービス」のチェックを外して「OK」ボタンをクリックします。
⑤再度、XAMPPにてApacheのStartボタンを試してみてください。
これで、Apacheが起動するはずです。
②設定ファイルの確認方法
Apacheの横にある「Logs」ボタンをクリックし「Apache(error.log)」をクリックします。
すると、ログファイルが開きますので、末尾までスクロールして最新のログを確認してみます。
設定ファイル(httpd.conf)に記述ミスなどがある場合、このログファイルにエラーの詳細が書かれている可能性が高いので、それを参考にエラーの箇所を特定し、修正しましょう。
まとめ
XAMPPでApacheが起動しないときのチェックポイント
確認ポイント①「ポートが競合していないかどうか」
確認ポイント②「設定ファイルに記述ミスがないかどうか」
なお、MySQLがStart出来ない場合の対処方法はこちらの動画もご覧ください。