続・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/ など)にアクセスすると
下記のメッセージが出るので、「アクションを記憶する」を選び、「許可」。
ルール一覧画面に、新しく追加されたルールを確認し、フィルタリングモードを「自動モード」に戻す。
これでなんとかアクセスできるようになりました。