MAMPに複数のドメイン「バーチャルホスト」を設定する方法

[2011/10/12] [Mac, WordPress]

ローカルのMac上に簡単にWeb開発環境が作れるMAMP(Mac、Apache、Mysql、PHP)で複数のドメイン「バーチャルホスト」を設定する方法です。
MAMPでバーチャルホストを使うメリットは、
ローカル上に公開するURLや構成ディレクトリと持てることです。
ローカルで構築が完了後に、簡単に公開出来るようになります。

MAMPの初期状態のディレクトリー構造

/Applications/MAMP/htdocs/

ブラウザーからアクセスする場合は、2通りのアクセス方法となります。

http://localhost/
127.0.0.1

複数のWebサイト構築時には、htdocsの配下に新しいフォルダを作り下記のようにアクセスします。

http://localhost/example/
127.0.0.1/example/
http://localhost/hogehoge/
127.0.0.1/hogehoge/

階層が深くなり、最終的に公開されるディレクトリーの構造と異なるため、不具合が出やすくなります。

http://example.com
http://hogehoge.com

MAMPフォルダにあるApache設定ファイルの変更

MAMPの起動画面でApache、Mysqlが停止した状態で変更を行います。
下記ファイル最後にバーチャルホストの設定を追加します。
※Apacheの設定ファイルに変更を加える際には、バックアップ取ることをお勧めします。
例:example.comとhogehoge.comを追加する方法

/Applications/MAMP/config/apache/httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>
        ServerName localhost
        DocumentRoot "/Applications/MAMP/htdocs/"
        ErrorLog "logs/localhost"
</VirtualHost>

<VirtualHost *:80>
        ServerName exmaple.com
        DocumentRoot "/Applications/MAMP/htdocs/exmaple.com/"
        ErrorLog "logs/exmaple.com"
</VirtualHost>

<VirtualHost *:80>
        ServerName hogehoge.com
        DocumentRoot "/Applications/MAMP/htdocs/hogehoge.com/"
        ErrorLog "logs/hogehoge.com"
</VirtualHost>

Apacheサーバ再起動後に、
設定が反映されます。

Mac用Hosts切り替えソフト「Hoster」を使う

Mac内にあるHostsの書き換えは付属アプリ「ターミナル」で可能ですが、多少の知識が必要ですので、今回は簡単に設定変更出来るMac用アプリ「RedWinder::MacApp::Hoster」を使います。

インストール後立ち上げて、Hostsの設定をします。
+のマークをクリックし、新しいホストを追加します。

起動します。

Docアプリ上にHostsを変更しているホストの数が表示されます。

以上です。

参考サイト
MAMPとVirtual Hostでローカル環境を作る – atl*weblog

記事の評価

同じカテゴリーの記事

MAMPに複数のドメイン「バーチャルホスト」を設定する方法」への2件のフィードバック

  1. riku

    チュートリアルありがとうございます。大変助かりました。
    私の場合はNameVirtualHost *:80という行を書き忘れてハマりました。

    また、追加のソフトをインストールしたがらない方はターミナルを立ち上げて
    sudo vi /private/etc/hostsを入力してファイルの最後に127.0.0.1 (ホスト名)を追加するだけで完了です(viというエディタは Iを打って「入力モード」に切り替え、escを打って入力モードを退出し :wqを打って「保存して終了」というような使い方

    返信
  2. ピンバック: MAMPでバーチャルホストの設定 (2種類) | SOHEI KITADA

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です