最近MacにXAMPPをインストールしてローカル環境を整えようと思ったのですが、全然Apacheが起動してくれないという事態になりました。
おそらく同じような悩みを持っている人はたくさんいるはず…
というわけでネットで調べまくって、XAMPPでApacheが起動しない場合の対処法をまとめてきました。
簡単なものから試してみます。
ちなみにバージョンは7.7.3、VMではない方です。
Apacheが起動してサーバーとの接続に成功するとこんな画面になります↓
なおXAMPPのインストール方法は以下の記事で解説しているので参考程度にどうぞ。
>>【初心者向け】MacにXAMPPをインストールする方法から使い方まで解説!
追記:MacならMAMPの方がおすすめです
この記事を読んでいる人はおそらく「PHPが使える環境を構築したいのでとりあえずXAMPPでやる」という人が多いと思います。
しかし、MacでPHPが使えるローカル環境を構築するならXAMPPよりも「MAMP」の方がおすすめです。
僕も以前XAMPPを使っていましたが、なぜかうまく動かない時や挙動が微妙な時がちらほらありました。
でもMAMPを使ってからはそういったことは一切なく快適に使えています。
MAMPはMac向けに作られているので、「どうしてもXAMPPで環境構築をしないといけない」という人以外はMAMPを使うことを強くおすすめします。MAMPなら起動しないといったエラーもほとんどないはずです。
では解説に戻ります。
1:スカイプのポート番号を変更
定番のスカイプのポート番号を変更するという対処法です。
…と言いたいところですが、設定を見ても「追加の受信接続にポート80と443を使用」という項目が見つからないんですよね。
もしかしてWindowsしか変更できないのか?それともSkypeが最新版すぎて設定の項目が消されたのか?
真相はよくわかりませんが、とにかくポート番号に関する設定がないのです。
なので僕はSkypeはアンインストールしました。
ポート番号の競合が原因だとするとどうしようもないし、Skype自体ほとんど使っていないので手っ取り早くアンストすることにしました。
(まあSkype自体下火な雰囲気あるし、今はDiscordとかSlackとかメジャーなツールは他にも色々あるのでなくても大丈夫な気がします)
「SkypeをアンストせずにApacheを起動したい!」という人はXAMMPのApacheのポート番号を変更するという方法があります。詳しくは後述します。
2:MacデフォルトのApacheを停止させる
MacにはデフォルトですでにApacheが入っているようなので、これが動いているとXAMPPのApacheが起動しないということになります。
というわけでデフォルトのApacheを停止させます。
ターミナルを開いて以下のコマンドを入力します。
sudo apachectl stop
パスワードを入力してApacheが停止すれば成功です。
ではXAMPPのApacheを起動させてみましょう。
まだ起動しない人は次へ進んでください。
3:Google Chromeのタブを全て閉じる
Google Chromeと競合しているからApacheがうまく起動しないという情報を見かけました(真偽は不明)
簡単にできるので、とりあえずGoogle Chromeのタブを全て閉じてからXAMPPのApacheと再起動するという方法を試してみてはどうでしょうか。
それでも起動しない場合はいよいよXAMPP内のファイルをいじくります。
4:XAMMPのApacheのポート番号を変更する
少し難しいですが頑張ってください。
「アプリケーション→XAMPP→etc→httpd.conf」と進んでファイルを開いてください。
ファイルを開けない場合は「httpd.confを右クリック→このアプリケーションで開く→その他」と進むとアプリケーションフォルダが開くはずです。
その中からテキストエディットを探してそれで開きましょう。テキストエディットはMac標準搭載です。テキストエディット以外で、自分の好きなテキストエディターで開いても構いません。
httpd.confを開くと52行目あたりに「Listen 80」とあると思います(なかったら頑張って探してください)
この「Listen 80」を「Listen 8080」に変更します。
次に、205行目あたりに「ServerName localhost」とあると思います(なかったら頑張って探してください)
この「ServerName localhost」を「ServerName localhost:8080」に変更します。
もう1つ別のファイルを変更します。
「アプリケーション→XAMPP→etc→extra→httpd-ssl.conf」と進んでファイルと開いてください。
httpd-ssl.confを開くと39行目あたりに「Listen 443」とあると思います(なかったらry)
この「Listen 443」を「Listen 444」に変更します。
次に、83行目あたりの「<VirtualHost _default_:443>を<VirtualHost _default_:444>」に変更します。
次に、87行目あたりの「ServerName www.example.com:443」を「ServerName www.example.com:444」と変更します。
以上の変更が終わったら保存してXAMPPコントロールパネルを再起動します。
Start All(もしくはRestart All)を押して確認しましょう。
ちなみにこの方法でできた人は、次回から接続するURLは「http://localhost:8080」になります。「http://localhost」と入力しても「このサイトにアクセスできません」と表示されるので注意してください。
まだ起動しないという人は次へ進んでください。
5:Mac MojaveへOSをアップグレード
僕はなぜかこれでApacheが起動しました。
上の方法を全てやっても起動しなかったのですが、Macの最新版OS、Mojaveにアップグレードしたら急にサクサク動いてくれるようになりました。理由は全く不明。
「ProFTPD」という項目がいまだに動かないのですが、とりあえずサーバーが構築できればいいので今はほったらかしています。
「色々試したけど全然ダメだ…」という人はOSをMojaveにアップグレードしてみてください。1時間くらいで終わります。
XAMPPを使った環境構築〜PHP初級レベルは以下の本で丁寧に解説してあります。入門者は絶対おすすめしたい1冊です!
まとめ
MacでXAMPPのApacheが起動しない場合の対処法をまとめました。
とりあえず僕が自力で対処できそうなのはこれくらいまでです。
ここまでやってもまだ起動しないという人はもう少し対処法を探してみてください。おそらくここで紹介した以外の対処法も探せばまだまだあるはずです。
頑張ってください。