MAMPを使ってMacのローカルで複数サイトのバーチャルホストを設定する方法
Webサイトを制作するときに、いちいちサーバーにアップしてプレビューするのも々どうなので、案件ごとにMAMPでバーチャルホスト設定して、自分のパソコンで確認しやすいようにして作業をしているのですが、みなさんってどうしてます?
ローカル環境でも複数サイトのホストを予め設定しておけば、いろいろと便利なこともあるので、ちょっとご紹介。
追記:2012/12/25
より具体的に「MAMPを使ってローカルで複数サイトのバーチャルホストを設定&イントラ環境や仮想環境からもそのサイトを確認する設定方法」というエントリーを書きました。
そもそものキッカケ
つい先日@tacamyさんがこんなのをツイートしてました。
ローカルで複数サイトのバーチャルホスト設定したり、WordPress動かしたりしたいんだけど、MAMP Pro買うのと、自分で毎回設定すんのと、どっちがいいんや。。
MAMPを使って、ローカルに複数サイトをバーチャルホスト設定して利用するのは、とっても簡単です!自分はMAMP Proは使ったことないので、どうなのかわからないですが、無料版のMAMPでも十分副サイトの管理できるのでそれだけであれば購入の必要はないかと思います。
ちょっとした設定だけでできてしまいますし
MAMPって、何?
そもそもMAMPって何?って方もいると思うので、簡単に。
MAMPは「Macintosh+Apache+MySQL+PHP」の略。MacにApacheのサーバーとMySQLのデータベース、それとPHP環境をボタンひとつで起動・終了させることができるようになるアプリです。Macなら、もともとの状態でも、ApacheやMySQLなどが入っているのですが、このMAMPを使うことで、より簡単にローカルをサーバーとして利用させることができます。
とりあえずMacを利用の方は、MAMPをダウンロードしてインストールしてください。Proも同時にインストールされてしまうのですが、必要ない場合はアプリケーションフォルダから削除するだけでOK。
早速設定
Apacheからまず設定。MAMP内のhttpd.confファイルをメモ帳でひらきます。ファイルは下記にあります。
/Applications/MAMP/conf/apache/httpd.conf
■ルートにしたいディレクトリの指定
まずはルートに指定したいディレクトリを指定するための設定。
# # This should be changed to whatever you set DocumentRoot to. # <Directory "/Applications/MAMP/htdocs">
こんな感じになっているところが、とりあえずhttp://localhost/でアクセスできるようになっているデフォルトのディレクトリ。
今回はここは特に触ることなく、するーして、その下あたりに、別途ルートにしたいディレクトリの指定を追加。
<Directory "/Users/hoge/web/httpdocs">
Options FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
これを追加しておくと、/Users/hoge/web/httpdocsここをルートにできる。
ちなみに、上記の指定云々でのセキュリティなどなどは割愛。
■バーチャルホストを使えるように
もう一つ、httpd.confでの設定。MAMP2.0からバーチャルホストの設定が別ファイルになったので、それを使えるように。
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
上記の2行目は先頭に「#」が入っているようであれば、これを外しておきます。(たぶんデフォルトでは外れてる???)
バーチャルホストの設定ファイルの編集
続いてそのhttpd-vhosts.confの編集。httpd.confの階層にextraというフォルダがあるので、その中にhttpd-vhosts.confが入ってます。
とりあえずややこしいこと抜きに、80のポートが使われる設定になっていると思うので、以下追加
<virtualhost *:80> DocumentRoot "/Users/hoge/web/httpdocs" ServerName huga </virtualhost>
上記の2つのみあれば、とりあえずOK。DocumentRootは先程追加したディレクトリと同じに合わせ、ServerNameには、http://◯◯/の◯◯に入れたい文字列で設定。上の例であれば、http://huga/でアクセス出来るようになります。
残りの設定はあと1つ
ホストの設定
最後に、ホストを設定。hosterとか使ってもいいし、hostファイルを編集でもOK。とりあえず後者のhostファイルの編集方法。
/private/etc/hostのhostファイルをメモ帳などで開き編集。
127.0.0.1 huga
先ほどServerNameで設定した文字列と同じ名で追加。
最後にMAMPを一度終了させ、再度起動するとhttp://huga/で/Users/hoge/web/httpdocに入れたファイルにアクセス出来るようになっている。
とりあえず自分のMacのみでアクセスするような場合はこんな感じに3箇所の設定だけでOK。VMwareなどのバーチャル環境からアクセスする場合はもう1箇所設定を追加する必要があるのですが、それはまた今度。
環境を増やしたい場合は、3つを別途追加するだけでOK.
これでローカルで複数環境のバーチャルホストを設定することができました。
大変参考になりました、ありがとうございました!!