MAMPを使ってローカル環境を複数作ってみる - ポート番号でアクセスするよ


これの後を書こうと思って早5年。
仕事じゃないので後回しになるのは仕方ないよねー。最近まったく触ってないし。
と言いつつも、ちょっと試したいことがあるので、そのついでに覚書を残すことにした。

本来、複数のローカル環境を作る時は、hostsの書き換えまでを行いますが、瞬間的に必要になった時はやや面倒くさい。
例えば、PGがギブアップしたWebページのレイアウト崩れを調査した場合、最悪30分以内にローカル環境が不要になることもある。

モットーは「面倒くさい、嗚呼面倒くさい。できるなら手っ取り早くやりたいよ」なので、正統な方法から横道に逸れがちです。

というわけで、hostsを書き換えず、任意のポート番号でアクセスできるようにします。

環境

  • macOS Catalina(10.15.7)
  • MAMP 6.3(最新ver.6.4 2021/08/09現在)

記事を書いては放置していたので、最新のMAMPはver6.4になっていたorz
念のため最新バージョンのリリースノートを調べてみる(無駄な仕事が増えたw)。

MAMP ver.6.4

参照:Release notes (Mac) - MAMP & MAMP PRO

  • Big Sur(11.3)への最適化
  • ユニバーサルアプリケーション(IntelまたはM1プロセッサを搭載したMacでネイティブに実行)

今回の記事には関係ないので、アップデートせずにver6.3の環境のままにすることにします。
そして、わからなくなったらドキュメントにかえれ →MAMP (macOS) Documentation

MAMPでバーチャルホストの設定をする

まず、バーチャルホスト設定の参照先が無効になってるので有効化。

/Applications/MAMP/conf/apache/httpd.conf--605行
# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

/Applications/MAMP/conf/apache/httpd.conf--605行
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

その後、バーチャルホスト設定をします。
書き方のサンプルがあるので、それに沿って設定を書けば簡単。

/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf--28行
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

今回は「手っ取り早く」動かすので、1項目以外使いませんw

ポート番号が重複すると他のツールが使えなくなる場合もあるので、利用する番号は49152-65535 (DYNAMIC AND/OR PRIVATE PORT) の間で選択します。
参考:Wikipedia|ポート (コンピュータネットワーク)

今回はポートを50000を使用、ホームフォルダ内にdocumentフォルダを作ります。
書き方はListenVirtualHost50000とし、DocumentRootにドキュメントルート/Users/[AccountName]/documentを記載します。
フォルダ名documentは任意の名前でOK。もう一階層掘っても良いし、その辺りはお好きにどうぞ。

/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf--45行以降
Listen 50000
<VirtualHost *:50000>
    DocumentRoot "/Users/[AccountName]/document"
</VirtualHost>

あとはMAMPを起動すれば、ポートでアクセスできるローカル環境のできあがり。
http://localhost:50000でアクセス。
/Users/[AccountName]/documentにデーターを放り込んで、コーディングや確認に使います。
Wordpressもインストールできますが、それはまた今度。

hostsを書き換えないので、ローカル環境を作るほどポート番号が増えて行きますが、瞬間的に必要とか、1人プロジェクトでhostsを書き換えるのが面倒な場合は使える方法かと。
でも、長期的にローカル環境として使うのであれば、hostsの書き換えはしたほうがいいと思います。