フルスタックエンジニアのノウハウ
2020.04.25    2020.11.01

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出来ない場合の対処方法はこちらの動画もご覧ください。

関連記事

XAMPPでMySQLがStart出来ない場合の対処方法



おすすめ記事