ApacheのVirtualhostを使って複数サイトを管理

phiary に引っ越しました. 毎日プログラミングやWebに関する情報を発信しています! RSS 登録してたまに覗いたり, tweet やハテブして拡散してもらえると幸いです.

Pocket

先日ルート相対パスについて紹介しましたが、
ひとつ問題が起きました。
それはひとつのドメインで複数のWebサイトを管理している場合、
ルート相対パスがすべて同じになってしまうということです。

っということで今回はApacheで複数のドメインを使えるようにする
Virtualhostの設定方法について紹介したいと思います。

私はXAMPPでApatchをインストールしたので、
そういった方向きです。
デフォのドキュメントルート(htdocs)を変えたい方も
ぜひ参考にしてみてください。

ざっくりした手順は、
  1. hostファイルを編集してサーバー名を登録
  2. ApatchのVirtualhostを有効にする
  3. hostファイルで登録したサーバー名と好きなドキュメントルートを登録する
  4. Apatchの再起動

といった流れです。

1.hostファイルを編集してサーバー名を登録

C:/WINDOWS/System32/drivers/etc/にあるhostファイルを
開いてください。(拡張子はないですがただのテキストファイルなので
ドラッグなり右クリックなりで開いてください)

下のほうに127.0.0.1 localhostと書いてあると思うので、
その下に

127.0.0.1 programmingjunks

と書いてください。

programmingjunksの部分は自分の登録したいホスト名でかまいません。
これでIPアドレスとサーバー名の対応付けの完了です。

2.ApatchのVirtualhostを有効にす

C:/xampp\apache/conf/extraにあるhttpd-vhosts.confを開いてください。
#でコメントアウトされている。

#NameVirtualHost *:80

NameVirtualHost *:80

に変更してください。

これで複数のホストを管理できるようになります。

3.hostファイルで登録したサーバー名と好きなドキュメントルートを登録する

手順2で修正した NameVirtualHost *:80 の下に

<virtualhost>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</virtualhost>

<virtualhost>
DocumentRoot "C:/xampp/htdocs/programmingjunks"
ServerName programmingjunks
</virtualhost>
    

DocumentRootに好きなドキュメントルートを、
ServerNameにhostファイルで登録したサーバー名を書いてください。

下のVirtualHostが新たに登録したホストです。

上のVirtualHostを指定している理由は、手順2でVirtualHostを有効にしたので、
デフォルトのlocalhostが無効になっているからです。

同じ手順を繰り返せば、どんどんドキュメントルートを設定することができます。

4.Apatchの再起動

Apatchを再起動。
これで手順3で編集した内容が反映されます。

お疲れ様でした。これで設定したドメインルートが有効になります。
あとは新しく設定したドキュメントルートにばんばんサイトを作っちゃってください。

以上、みなさんの開発に少しでも役立てば幸いです。

TRACK BACK URL

POST COMMENT

メールアドレスが公開されることはありません。