Xamppでポート競合を防ぐ方法をご紹介します。
##作業環境
OS:Windows 10
エディション:HOME
バージョン:2004
Xampp:バージョン7.4.6
※Xamppのインストール方法はこちらで解説しています。
【環境構築】Windows10にXAMMPをインストールする方法
##ポートとは
ポートはよく「扉(ドア)」に例えられるます。
IPアドレスが住所「家」であれば、ポートは外に出る・外から入る「扉(ドア)」に該当します。
多くのホームページでインターネットはIPアドレスで通信を行っていると記載されていますが、実際には「IPアドレス+ポート番号」で通信を行っています。
引用元:用語集 「ポート(PORT)とは?」
##Xamppでポート競合が起こる原因
1つのプログラムにつきポートは1個しか利用できない仕組みとなっているので、Xamppが他のプログラムと同じポートを使っていると競合が起きて、Xamppが利用できなくなります。
そこでXamppで利用するポートを変更することで、競合を防ぎます。
##Xamppで利用するポートを変更する
Xamppのデフォルトでは、Apacheは80番と443番、MySQLは3306番のポートをそれぞれ利用しています。80番はHTTPプロトコル、つまりホームページを閲覧するときに使われるものなので、様々なソフトで利用されていて競合の原因になります。このポート番号を変更します。
###①Apacheのポート番号を変更する
ApacheやMySQLなどを起動している場合は全部停止して、「Config」を押します。
「Service and Port Settings」を押します。
この画面が起動するので、「Main Port」の番号を任意の数字に変更します。ここでは「8888」と設定しました。変更したら「Save」のボタンを押して画面を閉じます。
###※エラーが起きた場合
私の環境下では、以下のエラーが出てきました。
Error:Cannot create file "C:\xampp\xampp-control.ini"
アクセスが拒否されました。
書き込み権限がないようなので、管理者権限で実行してみます。
「XAMPP Control Panel」で右クリックをして「その他」→「管理者として実行」を押して、管理者権限で実行するとエラーが解消しました。
###②Apache(httpd.conf)を変更する
Apacheの右の「Config」→「Apache(httpd.conf)」を選びます。
「httpd.conf」がメモ帳で開くので、「編集」→「検索」を選びます。
「Listen」と検索をし、「Listen 80」とポート番号が書いてあるので、ここも先程と同じ番号に変更をします。ここでは「Listen 8888」としました。変更が終わったら、保存してメモ帳を閉じます。
※管理者権限で実行している場合は、ここまでできたら一度Xamppを終了して、再度、通常通りに起動してください。
###③動作確認
「Apache」と「MySQL」をそれぞれ「Start」ボタンを押して起動すると、ポート番号の表示が変わっています。
「Apache」の右の「admin」のボタンを押します。
上のような画面が開いたら、ポート番号の変更は完了です。
##参考サイト
用語集 「ポート(PORT)とは?」