エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法

      2019/02/24

XAMPPの Apacheが起動しない原因を確認する

 

XAMPPのエラーメッセージの内容を確認

 
XAMPPをインストールしてみたけど、下記のような赤いエラーメッセージが表示されて Apacheが起動しない!そんな場面は多々あると思います。
 
というか、Windows環境に XAMPPをインストールした場合は、ほぼエラーメッセージが出ると思っておいていいでしょう。
 
01_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 

 
 
このエラーメッセージから 2つのエラーが発生したと書いてありますが、2つの内容は同じです。
「XAMPPで利用する 80番ポートと 443ポートが他のプログラムと使用がバッティングしていますので、Apacheを起動できません。」
というものです。
 
また、それぞれ下記のとおりバッティングしているプログラムに対する情報も記載してあります。
「80番ポートは『Unable to open process』が使用していて、443ポートは『Skype.exe』が使用しています。」
 
 
80番ポートは HTTPが標準で利用するポートで、443番ポートは HTTPS(SSL)で利用するポートです。
 
その HTTP、HTTPSのそれぞれで利用する 80番、443番のポートを XAMPPの中にある Apacheが Webサーバとして使うのですが、他のプログラムがすでに利用しているため起動できない、というエラーです。
 
 

XAMPPの Apacheのエラー解消の選択肢の確認

 
対応の選択肢は 2つ。
 
・XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する
・他のプログラムが使っている 80番ポート、443番ポートを開放する
 
 
2つの選択肢のメリット、デメリットは以下のようになります。
 
XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する」のメリットは、
XAMPPの設定のみで対応が可能なことから、作業内容を比較すると作業は簡単と言えます。また、確実に不具合を解消することが可能です。
ただ、configを変更しますので、エンジニア向きと言えるかもしれません。
 
また、作成したサイトを見る際には下記の様にポート番号付きの URLになります。
 http://localhost:8080
 
XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する」の対応を行い、ローカル環境にドメインを設定した場合もポート番号付きの URLになりますので、ドメインでアクセスできる環境を作りたいときはこの方法は採用できません。
 
アクセスの URLの一例
 http://example.com:8080
 
 
他のプログラムが使っている 80番ポート、443番ポートを開放する」のメリットは、「XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する」の対応を行い、ローカル環境にドメインを設定した場合、ポート番号なしでアクセスが可能になることです。
アクセス時の URLを本番環境とも一致させる必要があるなどの制約がある場合はこちらの方法を採る必要があります。
 
アクセスの URLの一例
 http://example.com
 
また、configファイルを編集せず、Windowsの操作(GUIの操作)だけで対応が可能なため、非エンジニア向きといえるかもしれません。
 
ただ、80番、443番ポートがバッティングしているプログラムが、ここで想定しているプログラム以外のものであった場合は、問題が解消しない可能性、追加の対応の必要性があります。
 
 

XAMPPの Apacheのエラー解消の選択肢のまとめ

 
2つの方法のメリットをまとめると、私のようにローカルの実験環境として使うため、URLにポート番号が入っていてもまったく気にしない場合は、前者の「XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する」を選択するといいでしょう。
URLを所定のものにする必要がある場合は、「他のプログラムが使っている 80番ポート、443番ポートを開放する」を選択するといいでしょう。
 
あとから変更することもできますので、よく分からない方は前者の「XAMPPの Apacheが使うポートを変更する」を選択しておけばいいのではないでしょうか。
 


 

XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する

 
「XAMPPの Apacheが使うポートを 80番、443番から別のものに変更する」の方法は、XAMPPに入っている Apacheが使うポートを標準仕様の 80番、443番から別の番号に変えることで、バッティングを回避する、という方法です。
 
あとからインストールした XAMPPの Apacheがバッティングしているので、あとからインストールした XAMPP側を変更する、という考え方ですね。
 
XAMPP自体の設定を変更しますので、確実に対応が可能です。
 
 

1.httpd.confを編集

 
httpd.confファイルを編集します。
 
コントロールパネルの「Config」-「Apache(httpd.conf)」を選択し、httpd.confファイルを開きます。
 
02_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
もしくは、ファイル実体は「c:\xampp\apache\conf\httpd.conf」にありますので、これを直接開いても問題ありません。
 
バージョンによって違いますが、40~60行目辺りの「Listen 80」を変更します。
「80」で検索をすると探しやすいでしょう。
 

 
続いて、180~230行目辺りの「ServerName localhost:80」を変更します。
こちらも「80」で検索すると分かりやすいでしょう。
 

 
今回は、標準の「80」番ポートに対して「8080」番ポートを指定しています。
 
ポート番号は「0」~「65535」まであり、他のプロトコルで使用していないポート番号であれば何番でもいいのですが、0~1023番までは使われている可能性が高いため、大きく桁数を増やす方が安全です。
そのため、HTTPの標準ポート「80」に対して「80」を重ねる「8080」を使っている方が多いような気がします。
 
詳しくは、下記の Wikiを参照してください。
https://ja.wikipedia.org/wiki/TCP%E3%82%84UDP%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%E3%81%AE%E4%B8%80%E8%A6%A7
 
 

2.httpd-ssl.confを編集する

 
「httpd.conf」同様に、コントロールパネルの「Config」-「Apache(httpd-ssl.conf)」を選択し、httpd-ssl.confファイルを開きます。
 
ファイル実体は「c:\xampp2\apache\conf\extra\httpd-ssl.conf」です。
 
こちらもバージョンによって違いますが、30~50行目辺りの「Listen 443」を変更します。
「443」で検索をすると探しやすいでしょう。
 

 
今回は、標準の「443」番ポートに対して「44380」番ポートを指定しています。
先に説明したように「443」に「80」を重ねたものになります。
 
 
※XAMPP環境でも SSL接続の https://... でアクセスしたい場合は、VirtualHostの設定なども必要になりますが、いずれ別記事でご紹介します。
 
 

3.XAMPPの Apacheを再起動

 
前項で設定した内容を反映させるため、XAMPPのコントロールパネルから、Apacheを再起動します。(コントロールパネルの「Start」をクリックします。)
 
 
これで XAMPPが起動するようになります。
 


 

他のプログラムが使っている 80番ポート、443番ポートを開放する

 
前項の対応方法は、XAMPPが使うポートを変更する方法でしたが、この対応方法は、80番、443番ポートを XAMPPで使用するために、それらのポートをすでに使っている側のプログラムを違うポートに変更することでバッティングを回避する、という方法です。
 
Windowsに XAMPPをインストールした場合、IIS、Skypeとバッティングしている場合が多いため、その対応の紹介になります。
それ以外のプログラムがバッティングしている場合は、紹介する対応ではバッティングが解消しない場合もあります。
 
 
また、ここで紹介している画面は Windows10です。それ以外の場合は読み替えてください。
 
 

1.バッティングしているプログラムを確認

 
XAMPPの Apacheを起動しようとしたときに表示されるエラー内容を確認します。
 
01_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法 
表示されているエラーが下記の 2つであることを確認します。
 
「Port 80 in use by “Unable to open process” with PID 4!」
「Port 443 in use by “C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 12084!」
 
これ以外のプログラムがポートを使用している場合は、そのプログラムのポート番号を変更する方法を確認してください。
 
 

80番ポート・IIS(インターネット・インフォメーション・サービス)の停止

 
「Port 80 in use by “Unable to open process” with PID 4!」のエラーの内容は、「『PID 4(プロセスID 4)』が 80番ポートを使用しています。」というものです。
 
「PID 4(プロセスID 4)」をタスクマネージャーで見たものが下記になります。
 
03_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
詳細は割愛しますが、Windowsのシステムが 80番ポートを使用しています、ということで、Windows自体がサーバ機能を持っていることを示しています。
 
これは、Windowsに標準で実装されている Webサーバの IIS(Microsoft Internet Information Services)が稼働していて、80番ポートを使用していることを示しています。
 
ということで、80番ポートを開放するには、IISを停止します。
 
 

インターネットインフォメーションサービスの停止の手順

 
画面右下にある「スタートメニューボタン」を右クリックし、「コントロールパネル」を表示し、コントロールパネルの中の「プログラムと機能」を選択します。
 
04_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
表示される「プログラムと機能」のウインドウの左側にあるメニューの「Windowsの機能の有効化または無効化」を選択します。
 
05_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
表示される「Windowsの機能」のウインドウから「インターネットインフォメーションサービス」を探して、「■」をクリックしてチェックを外します。
下記の確認メッセージが表示されますが「はい」をクリックして続行します。
 
06_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
07_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
これでバッティングしていた 80番ポートは解放されました。
 
 

443番ポート・Skypeのポート番号変更

 
「Port 443 in use by “C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 12084!」のエラー内容は、「『Skype.exe』が 443番ポートを使用しています。」というものです。
 
そのため、443番ポートを使用している Skypeの設定を変更します。
 
 

Skypeの 443番ポートの変更

 
Skypeのメニューから「ツール」-「設定」を選択し、Skypeの設定画面を表示させます。 
 
表示された設定画面の左メニューの「詳細」「接続」をクリックし「Skypeのインターネット接続設定」画面を表示します。
 
08_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
「追加の受信接続にポート 80と 443を使用」に入っているチェックを外して「保存」をクリックすることで設定が完了します。
 
Skypeの再起動が必要な場合もありますが、これでバッティングしていた 443番ポートも解放されました。
 
 
これで XAMPPが起動するようになります。
 
 

アンインストールした XAMPPの Apacheが残っている場合もある

 
XAMPPが起動しない場合の原因は、ここまで説明した内容がほとんどなのですが、XAMPPのバージョンアップをする場合や、インストール失敗などの理由で、XAMPPをアンインストールしたのち、再インストールした場合などは、XAMPPの Apacheのプロセスが残っていることが原因で XAMPPが起動しない場合があります。
 
その残った Apacheのプロセスが原因で 80番ポートが使えなくなっている場合もありますので、XAMPPをアンインストールした場合などは、PCを一度再起動すると起動できるようになる場合もあります。
 


 

XAMPPの MySQLが使うポートを 3306番から別のものに変更する方法

 
MySQLは 3306番というポートを使っていますが、Apacheと同じく、この使用しているポートが他のソフトが使用している場合、それがバッティングすることで起動しなくなることがあります。
 
そのため、MySQLのポート番号を変更する方法を解説します。
 
 

設定ファイル「my.ini」を編集

 
21_XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
 
コントロールパネルの「MySQL」の列の「Config」-「my.ini」を選択し、「my.ini」ファイルを開きます。
 
もしくは、ファイル実体は「c:\xampp2\mysql\bin\my.ini」にありますので、これを直接開いても問題ありません。
 
 
バージョンによっても違いますが、「my.ini」ファイルの 20行目、28行目に「port = 3306」という表記がありますので、これを変更します。
想定の行数にない場合は「3306」で検索すると探しやすいでしょう。
 

 
上記の例では、「3306」を「33060」に変更しています。
 
先にも書きましたが、ポート番号の指定は他のプロトコルで使用していないポート番号であれば何番でも問題ありません。
MySQLのポート番号を変更する場合は、「3306」の後ろに「0」~「9」の数値を追加することが多いのではないか、と思います。
 
これで MySQLのポート番号の設定は変更されましたので、MySQLが起動するようになっていると思います。
 
 

XAMPPの関連記事

XAMPP本体や PHPのバージョンアップをせずにもう一つXAMPPをインストールして複数の環境を共存させる方法
XAMPPとは?パソコンにローカル LAMP環境を簡単に設置する方法を詳細解説
XAMPPにVirtualHostを設定しドメイン、ドキュメントルートを設置する方法
XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
MySQLのタイムゾーン(mysql_tzinfo_to_sql)の設定方法・XAMPP環境の解説も
XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法
XAMPP環境で WP-DBMANAGERでの復元でDBが壊れる
XAMPPの Apacheが起動しなくなった場合の対処方法
XAMPP環境(ローカル環境)の sendmailからPHPメールを送信する設定方法
PHPを勉強するための環境を構築するにはXAMPPが最適
 
その他の「xampp」に関する記事一覧
 
 

 - システム開発関連技術

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Comment

  1. white-raccoon より:

    初めまして、ワードプレス超初心者です。ローカルサイトを構築しようとしてXamppをダウンロードしましたがコントロールパネルに下記のようなメッセージがでて身動き取れなくなってしまいました。行き着いた原因はその中にあるポート3306が2箇所で使われていることらしい、です。
    Port 3306 in use by “C:\Bitnami\WORDPR~1.8-1\mysql\bin\mysqld.exe –defaults-file=C:\Bitnami\WORDPR~1.8-1\mysql\my.ini wordpressMySQL
    MySQL WILL NOT start without the configured ports free!
    You need to uninstall/disable/reconfigure the blocking application or reconfigure MySQL and the Control Panel to listen on a different port
    この対処はどのようにすれば良いでしょうか?超初心者用にご回答いただければ幸いです。

    • エス技研 より:

      white-raccoon さん、コメントありがとうございます。
      MySQLのポート番号の変更方法について、記事を追記しました。
      ご確認をお願いいたします。

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Windowsで環境変数のパスの設定方法解説。不具合時のチェックポイントも紹介
Windowsで環境変数のパスの設定方法解説。不具合時のチェックポイントも紹介

Windowsで環境変数であるパス(path)の設定方法の解説。標準的な解説に加え、うまくいかない場合のチェック方法や別の設定方法の解説も。うまく設定できない状況は極力なくなるはず。

XAMPPにVirtualHostを設定しドキュメントルートを設置する方法
XAMPPにVirtualHostを設定しドメイン、ドキュメントルートを設置する方法

XAMPPにVirtualHostを設定し、DocumentRootを設置する方法を2つ紹介。ポートを指定してアクセスする方法とhostsを設定してドメインでアクセスする方法。エラーの解消方法も解説。

IEのHTMLソースを秀丸表示で共有メモリへのアクセスが拒否されましたで開けない問題への対処方法

Windows7の IEで HTMLソースを秀丸で表示する際に「共有メモリへのアクセスが拒否されました」のエラーが表示される原因と解決方法の説明。

Windowsのメモリ不足はUSBメモリに仮想メモリをおいて高速化

Windowsでメモリ不足の時はUSBメモリ上に仮想メモリ(ページングファイル)設定で解決します。

ロリポップで非常に大きなハッキング騒動がありました。

ロリポップで非常に大きなハッキング騒動がありました。その結果、影響を受けた内容と、それに対してどう対応したか、のレポートです。加えて、何でロリポップサーバを使っているかの紹介です。

XAMPPの Apacheが起動しなくなった場合の対処方法

ローカルのXAMPP環境で Apacheが起動しなくなる原因の多くはポートのダブり。その対処方法です。

RSA暗号の仕組みがすっきりと分かった瞬間

RSA暗号の仕組みがすっきりと分かったその説明を交えながら、RSA暗号の解説をします。

WindowsXPから Windows7にアップグレードして分かったこと

WindowsXPから 7にアップグレードする際に不安だったバックアップ、ドライバ、32Bit版 64Bit版について書いています。

PHPを勉強するための環境を構築するにはXAMPPが最適

PHPを勉強する環境としてローカル環境を構築するには XAMPPが最適。その解説です。

XAMPPとは?パソコンにローカル LAMP環境を簡単に設置する方法を詳細解説
XAMPPとは?パソコンにローカル LAMP環境を簡単に設置する方法を詳細解説

パソコンに LAMP環境を簡単に構築することができるパッケージ「XAMPP」。そのインストール方法を詳細解説。インストール後の不具合やカスタマイズ方法についても説明。