続・Mac ローカルでWEB開発!「MAMP」でlocalhostが表示されない…を解決

2015年の記事「Mac ローカルでWEB開発!「MAMP」と「Hoster」で簡単設定」の続編。時代はもはや2020年。Mac OSが「Catalina」となり、32bitアプリが使えなくなりました。というわけで「Hoster」なしの「MAMP」でローカル開発環境を整えることに。。

しかし!(これはCatalinaにする前、Sierraの時からの問題なのですが)突如、hostsで設定したアドレスにアクセスできなくなったので、調べてみたらセキュリティソフトが邪魔してた……の巻。

まずは「MAMP 5.7」はCatalinaに対応しているので、最新版をダウンロード。

インストール&設定は→こちらと同じ

「Hoster」の代わりに結局「ターミナル」で設定

Catalinaで動作するhost設定アプリがまだなさそうなので、hostsファイルを直接編集しますが、hostsファイルは書き込み不可なので、ターミナルから設定します。

①ターミナルを起動

アプリケーション→ユーティリティ→ターミナルを起動し、コマンドを入力。

sudo vi /etc/hosts

②Macのパスワード入力

→hostsファイルの内容が表示されるので

③末尾で i を押して入力モードにする

末尾で i を押すと — INSERT — と表示されます。

④IPアドレスとサーバー名を入力

末尾に、IPアドレス+半角スペースorタブスペース+MAMPのhttpd-vhosts.confのServerNameで設定した名前 を入力
(httpd-vhosts.conf)

ServerNameが banana なら

127.0.0.1 banana

と入力

⑤escで入力モード終了

⑥:wq で保存して終了

これで、MAMPでサーバーを立ち上げたら http://banana/ へアクセスできるようになります。

……とはならなかった場合。

セキュリティソフトのパーソナルファイアウォールを見直そう

OSをCatalinaにアップする前からの問題だったのですが、何かのタイミング(Chromeのアップデートかセキュリティソフトのアップデートか)で、突如 localhostへのアクセスができなくなりました。(403とか404ではなく、応答がない状態)

私の場合、ESET Cyber Security Pro を使っていて、毎回「パーソナルファイアウォール」を無効にすると問題解決していたのですが、MAMPを立ち上げるたびにESETを開いてパーソナルファイアウォールを有効/無効にするのもめんどい。

というわけで、ルールを設定して切り抜けました。

ESETのパーソナルファイアウォール設定画面を開き、

ルール一覧画面で、フィルタリングモードを「対話モード」に変更

上で設定したアドレス( http://banana/ とか http://localhost/ など)にアクセスすると
下記のメッセージが出るので、「アクションを記憶する」を選び、「許可」。

ルール一覧画面に、新しく追加されたルールを確認し、フィルタリングモードを「自動モード」に戻す。

これでなんとかアクセスできるようになりました。