今回はMAMPでバーチャルホストを設定する方法を紹介する。
「MAMPってなに?」という人は下記の記事を参考してほしい。

簡単、便利。MAMPで開発環境を整える
ウェブサービスを作るには開発環境を整える必要がある。 いきなり作ったものをぶっつけ本番でアップロードする人はさすがにいないだろう。 「自分がデザインしたサイ...
今回の内容
バーチャルホストとは
1つのサーバーで複数のドメインを運用する技術のこと。
この技術を使うことによって、より本番に近い環境で開発を進めることができる。
便利な理由
結論から言うと、本番と同じURLでアクセスできるようになる。
例えば、作成したいサイトが下記の2つあるとする。
- https://test-1.com
- https://test-2.com
このサイトに対してバーチャルホストを設定しないと、開発時にアクセスするURLが下記のようになる。
- https://localhost/test-1.com/
- https://localhost/test-2.com/
上記はバーチャルホストを設定していないため、単にフォルダを分けてサイト管理をしなければならない。
何より作るサイト全てのURLにlocalhostと必ず入るのは美しくない。
これでもいいという人もいるかもしれないが、本番とはディレクトリ構造が微妙に違ってくるし、サイトを作れば作るほど管理が複雑になるため、効率的とは言えない。
しかし、バーチャルホスト設定をすればフォルダはそのままでアクセスするURLも本番と同じようにできる。
開発環境は本番に近ければ近いほどいいので設定をオススメする。
設定方法
今回は例として、上記で挙げたhttps://test-1.comというURLでアクセスできるように設定する。
このURLは人によって違うので、適宣変えて実行してもらいたい。
設定項目
- MAMP側の設定
- Mac側の設定
MAMP側の設定
1./Applications/MAMP/htdocs
内にtest-1
フォルダを作成する
2. /Application/MAMP/conf/apache
内のhttpsd.conf
をエディタで開く
3.# Include /Applications/MAMP/conf/apache/extra/httpsd-vhosts.conf
と書いてある行を探し、先頭の#
を削除する
4./Applications/MAMP/conf/apache/extra/httpsd-vhosts.conf
をエディタで開く
5.下記の設定をファイルの一番下に書く
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
ErrorLog "/Applications/MAMP/logs/apache_error.log"
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/test-1"
ServerName test-1.com
ErrorLog "/Applications/MAMP/logs/test-1_error.log"
</VirtualHost>
<VirtualHost>...</VirtualHost>
の中に書いた内容がバーチャルホストとして適用される。
ServerName
に書いた名前がURLになるので上記の場合はhttps://test-1.comとなる。
DocumentRoot
はhttps://test-1.comにアクセスされた場合に最初にサーバーが見に行くフォルダのこと。ここにサイトに関するデータを入れておく。
ErrorLog
は文字通りエラーログを吐き出す場所。ファイル名は何でも構わない。
このような感じでサイトが増えるたびにバーチャルホストを書き足していけばサイト管理が楽になる。
ちなみにバーチャルホストがなぜ2つ書いてあるかというと、上記1つ目のバーチャルホストはデフォルトの設定で、書いておくことによりバーチャルホストを設定していなかった場合と同じくhttps://localhostとアクセスできるようにするため。
6.MAMPの再起動
Mac側の設定
Macにはhotstファイルというのがあり、そこに追記することでバーチャルホストの設定が完了する。
1.MacのFinderから/private/etc
に移動し、hosts
ファイルを開く
2.127.0.0.1 test-1.com
と追記する
以上で完了。
※hostファイルが編集できない場合etc
フォルダの「情報を見る」を選択して、「共有とアクセス権」に自分を追加すれば権限が付与されるので編集が可能になる。
より本番に近い環境で開発
バーチャルホストを使えば複数のサイトを楽に管理できる。
本番とほぼ同じ環境になるので、イメージがしやすいしスムーズに移行できるメリットがある。
ぜひ、有効に活用してほしい。