DESIGN-DEVELOPデザイン・開発

【MAMP】複数のドメインを使用したマルチサイト環境の作り方(バーチャルホスト)

編集・ライティング

ECHOVISION STUDIO

当メディアの開発・運用を担当しています。ホームページやメディアなどのウェブサイト制作から、広告用のバナー制作など、ウェブに関するクリエイティブはお気軽にご相談ください。
https://echovision-studio.com/

中・小規模事業向けホームページ制作サービス
https://marruto.com/

MAMPは初期設定だと「localhost」で1つのドキュメントルート「/MAMP/htdocs/」にしかアクセスができず、複数プロジェクトに対応できません。今回は複数のドキュメントルートを作成し、案件ごとにドメインを割り当てて管理する方法をご紹介します。

バーチャルホストとは?

バーチャルホストとは、1つのサーバーで仮想的に複数のドメインを運用する技術のことです。この技術を使うことによって、MAMPで複数のドキュメントルートを用意することができます。

任意のドキュメントルートを用意する

任意のドキュメントルートを用意しておきましょう。「/MAMP/htdocs/」に、「sample01」というディレクトリ(フォルダ)を作成してください。この「/MAMP/htdocs/sample01/」をドキュメントルートとして設定していきます。

バーチャルホストを使用できるようにする

MAMPでは初期設定だとバーチャルホストを使用できないので、「/MAMP/conf/apache/httpd.conf」を編集しコメントアウトを外しておきます。

# Virtual hosts 
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
# Virtual hosts 
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

これでMAMPでバーチャルホストが利用できるようになります。

バーチャルホストの設定を追加する

「/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>

このサンプルを参考に、DocumentRoot(ドキュメントルート)と、ServerName(ホスト名)を追記します。ServerName(ホスト名)は、先ほど作成した任意のディレクトリです。

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/sample01/"
    ServerName sample01.com
</VirtualHost>

※サンプルの設定記述は削除しても問題ありません

ターミナルからホストの設定を追加する

Spotlight検索(Command + Space)から「ターミナル」を検索してアプリケーションを起動します。

今回はターミナルで「/private/etc/hosts」を編集してきます。ターミナルを開いたら、下記のコマンドを実行してください。ファイルをテキストエディタで開く(管理者権限)というコマンドです。

sudo vi /etc/hosts

ファイルが開くので、キーボードの「i」を押して–INSERT- 状態(入力可能)にします。先ほど設定したドキュメントルートとホスト名を入力します。

127.0.0.1       localhost
127.0.0.1       sample01.com //ここに追加

完了したら「esc」を押して–INSERT- 状態(入力可能)を解除します。さらに:wqと入力して「return」で実行しファイルを閉じます。

コラム – 127.0.0.1とは?

自身を意味するIPアドレス(ループバックアドレス)です。「localhost」という名前でもアクセスができます。今回はこのIPアドレス(ループバックアドレス)に、「sample01.com」というホスト名で、ルートディレクトリを指定しアクセスできるようにしています。

ポートの設定を変更する

MAMPを起動させて、メニューの「Preference」から「Ports」タブを開きます。「Apache Port」を「80」に設定してください。

完了したらMAMPを再起動して、ブラウザを起動させてアドレスバーにホスト名を入力して確認します。これで「sample01.com」で「/MAMP/htdocs/sample01/」にアクセスが可能になります。

まとめ

いかがでしたでしょうか。今回と同じ手順で「/MAMP/htdocs/sample02/」に「sample02.com」でアクセスできるようにすれば複数案件にも対応ができますね。お疲れ様でした。

どうぞお気軽に
お問い合わせください

プレスリリース、広告掲載、その他クリエイティブの制作依頼などは、
下記からお気軽にご相談ください。ご質問、ご意見も受け付けております。