
MAMP のインストール方法はこちらにまとめてます。
バーチャルホストのたて方について
バーチャルホストとは
簡単にですが、バーチャルホスト(Virtual Host)とは1つのサーバで複数のドメインを運用する技術のことで、Webサーバ、メールサーバなどで利用されます。
MAMPをインストールすると、初期状態は
/Applications/MAMP/htdocs/
がローカルディレクトリとして設定されてます。
ローカルディレクトリは、http://localhost:8888/ でブラウザで表示を確認することができます。
ただ、この場合、MacのHDDディスクに直接データを置くことになり、容量が大きいサイトを制作したりすると、HDDを圧迫しかねないので、WEBサイトのデータは外部に置くことをおすすめします。
MacのディスクがSSDで、500GBだったりするとWEBサイトのデータだけですぐに圧迫してしまい、Mac自体の動作が遅くなる要因にもなります。
外部ディスクを準備
まず、外付けSSDかHDDを用意します。
お金に余裕があれば、SSDがいいですが、HDDでも問題ありません。
MAMPのWeb Serverを変更する
 
MAMPを起動します。
キーボードの「cmd + , 」設定を開きます。
 
①環境設定が表示されたら、ページ上部のタブ「Web Server」をクリックします。
②「Select」をクリックします。
 
「Select」をクリックすると、フォルダを選択する画面が表示され、WEBサイトを管理しているフォルダを選択します。
僕は、idocsというフォルダに各クライアント様のWEBサイトデータを管理しているので、idocsを選択します。
カケルデザインのサイトであれば「kakeru-d」フォルダ、すくのび日記であれば「sukunobi」といった感じです。
gitなどもありますが、僕がgitが苦手なため、ドロップボックスで会社と自宅のデータをクラウド化させました。
これにより、会社でも自宅でも最新状態にデータを保てるため、快適に作業できます。
この方法については、別途記事にまとめさせていただきます。
バーチャルホストの設定
続いてバーチャルホストの設定を行います。
設定ファイルは以下のフォルダ下にあります。
- /Applications/MAMP/conf/apache/httpd.conf
- /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
httpd.confの設定
 
httpd.confをテキストエディタ等で開き、578行目あたりに、下記のような記述があるはずです。
# Virtual hosts # Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
これを下記のとおり、変更します。(コメントアウトを外す)
# Virtual hosts Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
引き続き、httpd-vhosts.confの設定を行います。
httpd-vhosts.confの設定
「httpd-vhosts.conf」以下にあります。
/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
 
ファイルを開くこと、こんな記述になってます。
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn’t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option ‘-S’ to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<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>
このファイルの追記を行い、作成したいバーチャルホストを作成していきます。
追記する場合は、一番下の文章から、追加していきます。
取り急ぎ、追加した内容を見てみましょう。
#すくのび日記
Listen 8711
<VirtualHost *:8711>
    ServerAdmin demo-sukunobi_wp
    DocumentRoot “/Volumes/HDD/Dropbox/idocs/sukunobi/“
</VirtualHost>
ServerAdmin:すいません、いまいち詳細が分かってません。取り急ぎ任意に英字で入力しておきます。
DocumentRoot:参照するWEBサイトのフォルダのPASSを記述します。
これで設定完了です。
MAMPを再起動させます。再起動しないと設定した内容が反映されません!
僕もはじめは、分からず途方くれたことがありました。
以下の内容で、phpファイルを作成してください。
何でもいいですが、ファイル名をdirectoryPass.phpとして保存しましょう。
<?php //絶対パス echo __FILE__ . ‘<br />’; //ディレクトリパス echo dirname(__FILE__) . ‘<br />’; //スクリプト名 echo basename(__FILE__) . ‘<br />’; //指定した拡張子を取り除いたスクリプト名 echo basename(__FILE__, ‘.php’); ?>
MAMPを起動し、URLに
http://localhost:8888/directoryPass.php
とアクセスしてみてください。ファイルパスが表示されるはずです。

httpd-vhosts.confの全体像
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn’t need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option ‘-S’ to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<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>
#新規追加 WEBサイト
#すくのび日記
Listen 8711
<VirtualHost *:8711>
    ServerAdmin demo-sukunobi_wp
    DocumentRoot “/Volumes/HDD/Dropbox/idocs/sukunobi/“
</VirtualHost>

僕の場合は、
http://llocalhost:8711/
で表示されました。
※あくまでデータベースの設定がない静的なサイトです。データベースが必要なサイトであれば、phpMyAdminでの設定が必要になります。
バーチャルホストにもう一つサイトを追加する場合
#新規追加 WEBサイト
#すくのび日記
Listen 8711
<VirtualHost *:8711>
    ServerAdmin demo-sukunobi_wp
    DocumentRoot “/Volumes/HDD/Dropbox/idocs/sukunobi/“
</VirtualHost>
#カケルデザイン
Listen 8712
<VirtualHost *:8712>
    ServerAdmin demo-kakeru-d
    DocumentRoot “/Volumes/HDD/Dropbox/idocs/kakeru-d/“
</VirtualHost>
Listen 8712でカケルデザインを追加。再度MAMPを再起動。
http://llocalhost:8712/
にアクセスすると、カケルデザインのサイトが表示されます。
上記のようにローカルホストの番号を変更し、WEBサイトフォルダを設定することで、複数のWEBサイトを表示させることができるようになります。
すくのび日記が表示されます。

カケルデザインが表示されます。

まとめ
いかがだったでしょうか?
説明が下手くそで分かりにくいところもあったかもですが、少しでもお役に立てれば幸いです。
頑張って、ローカル環境を構築して、どんどんサイトを作っていきたいですね!
最後まで、ご閲覧いただき、ありがとうございました。






 
	        	        		 
	        	        		 
	        	        		 
	        	        		 
	        	        		 
	        	        		 
	        	        		 
	        	        		










MAMPのデフォルトの設定ですと、1サイトしか表示されない・・・。
それだと作業効率も悪いので、MAMPで複数のサイトを管理できる方法を紹介させていただきます。
では、トミーいきまーす!