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行目にヒットしました。
# 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はまだまだ現役ではないでしょうか!