joppot

コピペで絶対動く。説明を妥協しない

Macのhostsとapache2.4でvirtualhostを使ってディレクトリごとにsubdomainを設ける

      2017/03/25

Pocket

topthumbsubdoman

概要

みなさんこんにちはcandleです。今回はmacで簡単にサブドメインでプロジェクトを分ける方法を紹介します。
例えば、こんな状態の時に便利です。幾つかのwordpressを開発している時に一般にMAMPとかapacheでやっていると、

http://localhost:8080/workspace/alice_blog/index.html

http://localhost:8080/workspace/tom_service/index.html

みたいな長いURLになってしまいますが。
この記事の方法をとれば、

http://alice.localhost:8080/index.html
http://tom.localhost:8080/index.html

みたいなことができます。

前提

mac
apache2.4
適当なプロジェクト

SPONSORED LINK


hostsの設定

まず、使用したいサブドメインをhostsに記述します。

/etc/hostsを開いて、
一般に以下のように記述します。

127.0.0.1 好きなドメイン名

127.0.0.1は自分のPCつまりローカルホストを表しています。
今回はこのようにします。

127.0.0.1 alice.localhost

hostsubdomain

保存しましょう。
サブドメインの設定は以上です。

apacheのバーチャルホストの設定

続いて、apache側の設定をします。
brewでapache2.4を入れた場合は以下のパスに設定ファイルがあります。

/usr/local/etc/apache2/2.4/httpd.conf

下の方に以下を記述します。

<VirtualHost *:8080>
  ServerName alice.localhost
  DocumentRoot /Users/candle/apache/alice_blog
  <Directory "/Users/candle/apache/alice_blog">
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

alicelocal

8080はポート番号で各自の設定に合わせてください。
ServerNameで先ほど設定したサブドメインを記述します。
DocumentRootとでurlでアクセスした時にルートにしたい場所を指定します。
一般的にはプロジェクトのディレクトリを選びます。

保存しましょう。


ブラウザで確認する

それではapacheサーバを起動して確認してみましょう。

brewで入れたapacheの場合は以下のコマンドで起動します。

httpd -k start

続いて設定したURLにアクセスしてみます。

http://alice.locahost:8080

youcanacessaliceblog

アクセスできましたね。


まとめ

このapacheの設定はあくまでローカルで開発するための設定でセキュリティなどは考慮してないので、本番環境にそのまま流用するなどは気をつけてください。

 - mac ,