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で複数のサイトを管理できる方法を紹介させていただきます。
では、トミーいきまーす!