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」でアクセスできるようにすれば複数案件にも対応ができますね。お疲れ様でした。