Macには標準でApacheが入っているので、それを活用してバーチャルホストを設定してみました。最終的にやりたいことは、開発用の作業用フォルダを/Users/ユーザー名/の中にworkというフォルダを作成して、その中で作業できるようにすることです。ということで素人ながらなんとか設定できたので、一連の流れを忘れないように備忘録がてら記事にしてみます。
[ads_center]
バーチャルホストの設定
まずは最終的に自分が作業したいフォルダを作成しときます。
/Users/ユーザー名/workです。
Apacheの設定
Apacheの設定ファイルを編集します。設定ファイルは/etc/apache2/httpd.confにあるのでこれをsudoをつけて編集していきます。
sudo vim /etc/apache2/httpd.conf
下の方に行くと、以下のようなコメントされた記述があるのでそのコメントを外します。
変更前 # Virtual hosts #Include /private/etc/apache2/extra/httpd-vhosts.conf 変更後 # Virtual hosts Include /private/etc/apache2/extra/httpd-vhosts.conf
httpd-vhosts.confの設定
上記のファイルを設定していきます。こちらもsudoをつけます。
sudo vi /private/etc/apache2/extra/httpd-vhosts.conf
http://example.com/にブラウザからアクセスすると/Library/WebServer/Documents/example.comとなるようにします。
<VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/example.com" ServerName example.com <Directory "/Library/WebServer/Documents/example.com"> order deny,allow allow from All </Directory> </VirtualHost>
hostsの設定
/etc/hostsにあるのでこちらもsudoをつけて編集していきます。
sudo vi /etc/hosts
一番下に以下を記述します。
127.0.0.1 example.com
これで、example.comにアクセスすると/Library/WebServer/Documents/example.comを読み込んでくれます。
Apacheを再起動する
Apacheを再起動します。以下のコマンドの他に、「システム設定環境」→「共有」の中にある「Web 共有」のチェックを一度外して、もう一度つけても再起動されるみたいです。
sudo apachectl restart
シンボリックリンクを貼る
最後に自分が実際に作業するフォルダにシンボリックリンクを貼ります。
ln -s /Library/WebServer/Documents/example.com ~/work/example.com
あとはwork/example.comの中に適当なファイルを入れてブラウザで表示されるか確認できれば終了です。これでローカル環境でのサイト管理や作業場所もわかりやすくなりそうです。
以下のサイトが参考になりました。