eureka

MAMPのバーチャルホストでlocalhostのポート番号ごとにサイトを設定する

0
mamp

WordPressのテーマ開発をMAMPでやることが多いのですが、複数のWordPressサイトやPHPページを管理したいためバーチャルホストの設定をしています。

これにより、MAMPでもlocalhostに好きなポート番号を割り当てて開発することができるようになりますので、その設定を残していこうと思います。

MAMPのダウンロードとインストール

ダウンロード&インストールについては多くの記事で取り上げているため、ここでは割愛させていただきます。

MAMPのダウンロードは下記からどうぞ。
https://www.mamp.info/en/

バーチャルホストの設定を有効化する

早速バーチャルホストを有効化します。

ターミナルで下記のコマンドを実行し、該当のファイルを開きます。

$ vim /Applications/MAMP/conf/apache/httpd.conf

vimエディタ上のコマンドラインでVirtual hostsを検索します。

ノーマルモードで?Virtual hostsと入力すると検索できます。
おそらく一発で見つかると思いますが、一発で見つからなかった場合はnを押すと次の検索該当箇所に移ります。

ちなみに:set numberと打つとファイル内の行数を表示できます。
私の場合は584行目にヒットしました。

vimのコマンドモードで行数を表示する
# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

先頭の#はコメントアウトですので削除することで有効化することができます。

挿入モード(キーボードのiをタイプ)にするとファイル内への入力を受け付けるようになるので、コメントアウトを外しましょう。
以下のようになればOKです。

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

ノーマルモード(キーボードのescをタイプ)に戻し、:qwと入力してvimから抜けましょう。入力内容を保存して脱出するコマンドです。

もし、間違えて変な箇所を編集してしまった場合は、保存せず:q!で一度抜ければ元の状態に戻すことができます。

vimの操作についてはこちらが参考になりますのでよろしければ。
【備忘録】Vimの操作

複数ホストの設定

続いてポート番号の設定をしていきます。

ターミナルで下記のコマンドを実行し、該当のファイルを開きます。

$ vim /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

ファイルの一番下に下記のようなサンプルが書いてあるのが見つけられると思います。

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    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>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

その下から、ポート番号に割り当てるサイトの詳細を追記していきます。
今回はblogディレクトリをlocalhostの8001番に割り当てる設定をします。

<VirtualHost *:8001>
    DocumentRoot "/Applications/MAMP/htdocs/blog"
    ServerName blog.test
</VirtualHost>

VirtualHost *:8001の8001の部分に設定したいポート番号を入力します。
DocumentRootにはMAMPのドキュメントルート(htdocs配下)に配置したフォルダを書きます。
ServerNameは今回はlocalhostで開くので何でも良いですが、適当なドメイン名とかにしておくと良いと思います。

追記できたらesc + :qwでファイルを保存して抜けて完了です。

動作確認

MAMPを立ち上げてサーバを起動します。
ブラウザからlocalhost:8001にアクセスするとサイトが見れるようになっていると思います。

ポート番号を追加したいとき

上記で設定は完了となりますが、追加でポート番号を割り当てたい場合はホストの設定で以下を追加していけば良いです。

<VirtualHost *:8002>
    DocumentRoot "/Applications/MAMP/htdocs/blog2"
    ServerName blog2.test
</VirtualHost>

ポート番号はなんでも良いですが、すでに使われているものを割り当ててしまうとMac自体の挙動がおかしくなったりしますので気をつけてください。
8000台は無難だったかと思います。

参考記事

かなり昔に設定しているので何を参考にしたか忘れましたが、下記の記事は設定が近いので共有させていただきます。

MAMPを使って複数バーチャルホストのローカル環境を設定する

最後に

WordPressだけであればLocalbyFlywheelなどのツールも出てきているので、MAMPを使うこと自体少なくなってきていると思うのですが、WordPress以外にPHPをいじりたくなった場合にはMAMPはまだまだ現役ではないでしょうか!

0