MAMPで複数のサイトを設定する方法


こんにちは,masART STUDIOのカワグチです。

MAMP(マンプ)を 利用して,ローカルPCにテスト用のWebサイトを構築されている方も多いかと思います。ちなみに,MAMPとはローカルサーバ環境で,Apache,MySQL,PHP,などを一括で使用できるパッケージとなっています。

MAMPは便利なアプリケーションですが,そのままでは複数のサイトを扱うことができません。Dreamweaver(ドリームウィーバー)で複数のサイトを管理している場合,サイトを切り替える度にMAMPの設定を変更するのも手間がかかります。

そこで,今回はMAMPで複数のサイトを設定する方法をご紹介します。MAMPのインストール方法は,前回の投稿で紹介しておりますので興味のある方は,こちらをご参照ください。



バーチャルホストの設定

有料版のMAMP PROでは標準の機能で複数のローカルホストを立てることができます。一方,無料版のMAMPでも,Apacheの設定ファイルである「httpd.conf」と「httpd-vhosts.conf」の2つのファイルを編集することで複数のローカルホストを立てることができます。

このように,1つのサーバで複数のローカルホストの運用を行う技術のことを,バーチャルホスト(Virtual Host)といいます。


httpd.confの編集

はじめに,Apacheのメインの設定ファイルである「httpd.conf」を編集して,バーチャルホストの設定ファイル(httpd-vhosts.conf)を読み込むように変更します。

「httpd.conf」は以下の場所にあります。念のため作業前に安全な場所にバックアップを作成してください。

  • /Applications/MAMP/conf/apache/httpd.conf
1. https.confを開く:ファインダーより「アプリケーション」>「MAMP」>「conf」>「apache」の順にフォルダを展開し,「httpd.conf」をエディタで開きます。
2. Virtual hostsの検索:574行目付近に「# Virtual hosts」という記述があります。ご使用のMAMPのバージョンによって異なる可能性があります。見つからない場合はエディタの検索機能で「# Virtual hosts」の行を探してくだい。
3. コメントアウトの解除:「# Virtual hosts」の行が見つかったら,直下の行の左端より「#」を削除して,バーチャルホストの設定ファイル(httpd-vhosts.conf)を読み込むように変更して保存します。

httpd-vhosts.confの編集

MAMPではドキュメントルートの初期値が「/Applications/MAMP/htdocs」,Apache Portの初期値が「8888」と設定されています。

初期値では,ブラウザのURLを入力する欄に「http://localhost:8888/」と打ち込むことで,ローカルホスト(/Applications/MAMP/htdocs配下)のコンテンツが表示するはずです。

これを,バーチャルホストの設定ファイル「httpd-vhosts.conf」を編集して,ポート別で複数のサイトを振り分けるように設定します(既存の設定ファイルはバックアップとして保管します)。

「httpd-vhosts.conf」は以下の場所にあります。

  • /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
4. httpd-vhosts.confの退避:ファインダーより「アプリケーション」>「MAMP」>「conf」>「apache」>「extra」の順にフォルダを展開し,「httpd-vhosts.conf」を「httpd-vhosts-backup.conf」とリネームします。

テキストエディタで新規ファイルを作成して,バーチャルホストの設定を行います。今回は,「http://localhost:8001/」や「http://localhost:8002/」のようにポートを振り分けることで,サイト1とサイト2が切り替わることを目指します。ご使用の環境にあわせて,しかるべく設定をしてください。以下のように,やりたいことを箇条書きにしておくと,設定の漏れやミスの防止になります。

1. http://localhost:8001/ 
 ・ポート番号8001でアクセスする。
 ・サイト1(/Users/userId/Documents/web/public_html/site1 配下)を表示する。 

2. http://localhost:8002/ 
 ・ポート番号8002でアクセスする。
 ・サイト2(/Users/userId/Documents/web/public_html/site2 配下)を表示する。 

次に,やりたいことリストをもとに設定,つまりApacheが理解できるように翻訳します。

Listen 8001
Listen 8002

<VirtualHost *:8001>
    DocumentRoot "/Users/userId/Documents/web/public_html/site1"
    <Directory "/Users/userId/Documents/web/public_html/site1">
        AllowOverride All
    </Directory>
</VirtualHost>

<VirtualHost *:8002>
    DocumentRoot "/Users/userId/Documents/web/public_html/site2"
    <Directory "/Users/userId/Documents/web/public_html/site2">
        AllowOverride All
    </Directory>
</VirtualHost>

設定が完了したら「/Applications/MAMP/conf/apache/extra/」内に「httpd-vhosts.conf」と名前つけて保存します(既存の設定ファイルに上書きしないよう注意してください)。


Dreamweaverの設定

続きまして,Dreamweaver側の設定です。Dreamweaverが起動していない場合は,Dreamweaverを起動してください。

5. サイトの管理:Dreamweaverのアプリケーションメニューより[サイト] > [サイトの管理…]を選択して,サイトの管理画面を表示します。バーチャルホストを設定したいサイトを選択してダブルクリックします。
6. サイト設定:サイト設定画面で「サーバー」カテゴリを選択して,「localhost」をダブルクリックします。
7. テストサーバーの設定:サーバーフォルダーを「/Applications/MAMP/htdocs/site1」などに変更(ここでは本番ドメインが「masart.info」なので,「/Applications/MAMP/htdocs/masart.info」と設定),Web URLを「http:localhost:8001/」(ポート番号を「8888」から「8001」)に変更して,「保存」を押下します。

「5.」〜「7.」の手順を,バーチャルホストに設定したサイトすべてに適用します。


お疲れさまでした。今回は,MAMPで複数のサイトを立ち上げる方法と,Dreamweaverの設定変更についてご紹介しました。

最後までご高覧いただきましてありがとうございました。