Linuxサーバ奮戦記 ---バーチャルホスト(Apache2.2.x)---  12Jan2008  >>TOP

Apache2.2.x から設定のベースは httpd.conf で行い,種々の詳細設定は extra ディレクトリ以下のファイルで行う様になっている。Apache2で設定されている各項目をApache2.2.xのextraディレクトリに移動させたようなものであるから,移行はそんなに難しいものではないでしょう。

バーチャルホスト(仮想ホスト)設定

ここでは,IPアドレスが1つしかない場合で取得した複数ドメインを1つのサーバで動かしちゃおうということをメモってます。
たとえば,
LAN側のサーバIP:192.168.0.3 に
ドメイン:www.sample1.jp, www.sample2.info, www.sample3.com を稼動させようとします。

/usr/local/apache2/conf/httpd.conf を vi エディタで編集する。
最後の方にある # Virtual hosts 以下の箇所を変更(#を削除)。
(httpd-vhosts.conf ファイルを読み込む様にする。)

・・・・・・・・・・・・・・・・・

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

・・・・・・・・・・・・・・・・・



次に,以下のファイルを vi エディタで編集する。。
/usr/local/apache2/conf/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 192.168.0.3

<VirtualHost 192.168.0.3>
DocumentRoot /home/user1/htdocs
ServerName www.sample1.jp
ServerAlias www.sample1.jp
HostNameLookups double
UseCanonicalName off
</VirtualHost>

<VirtualHost 192.168.0.3>
DocumentRoot /home/user2/public_html
ServerName www.sample2.info
ServerAlias www.sample2.info
HostNameLookups double
UseCanonicalName off
</VirtualHost>

<VirtualHost 192.168.0.3>
DocumentRoot /home/user3/public_html
ServerName www.sample3.com
ServerAlias www.sample3.com
HostNameLookups double
UseCanonicalName off
</VirtualHost>



apache2を再起動する。
コマンド: /usr/local/apache2/bin/apachectl restart


クライアント(Windows)で確認
クライアント側(WindowsXP)で,http://192.168.0.3/ を表示させればuser1のページが見れるが,あとの2つをローカルでは見ることができません。グローバルではそれぞれのドメインを入力すれば見れます。
ダイアルアップで接続して確認するか,プロキシで外部経由で自宅サーバをアクセスする方法があります。
他に,ネームサーバを立ち上げる方法もあります。

しかし,思わぬ便利な設定があるのを教えてもらって,実際にうまくいったので公開します。
(WindowsXP)エクスプローラを開き C:\WINDOWS\system32\drivers\etc にある hosts ファイルをテキストエディタで開いて,
以下のカラーの部分を追加して保存してみる。
この設定でローカル接続でも通常のドメイン入力で3つのHPを確認することが可能になります。



# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost
192.168.0.3  www.sample1.jp  www.sample2.info  www.sample3.com