CentOS5 Webサーバーの構築[Apache] 複数FQDNでの運用[バーチャルホスト] - itochif.com
構築の例
今回は以下のような条件で複数サイトの運用を行います。
- 以下の2サイトを運用する
- http://www.itochif.com/(Apacheのインストールと設定で設定したサイト)
- http://www2.itochif.com/(追加するサイト)
- www.itochif.comの基本設定を以下のようにする(Apacheのインストールと設定と同じ)
- 公開ディレクトリは/var/www/html
- www2.itochif.comの基本設定を以下のようにする
- ローカルユーザーwww2の権限でスクリプト等を動作させる
- 公開ディレクトリは/var/www/www2.itochif.com/public_html
- エラーログはlogs/www2.itochif.com-error_log
- アクセスログはlogs/www2.itochif.com-access_log
- www.itochif.com、www2.itochif.comのDNS正引きで同じIPアドレスが返ってくるようにDNSレコードを設定しておく
www.itochif.com(メインホスト)の設定
Apacheのインストールと設定で設定したwww.itochif.comの設定を行います。www.itochif.com(バーチャルホスト機能を使用する前から使用しているメインのサイト)の設定は、複数のバーチャルホスト設定の中でも、一番最初に記述する必要があります。
# mkdir /etc/httpd/conf.d/vhosts #バーチャルホストの設定ファイルを置くディレクトリの作成 # vi /etc/httpd/conf/httpd.conf ------------------------------ 次の行からhttpd.confの中身(の一部) #元のファイルの各行のコメントをはずします。※元ファイルでの行数は右のコメント部分 NameVirtualHost *:80 #972 <VirtualHost *:80> #985 DocumentRoot /var/www/html #987 ServerName www.itochif.com #988 </VirtualHost> #991 Include conf.d/vhosts/*.conf #最終行に追記 ------------------------------ httpd.conf終了図1.メインホスト(www.itochif.com)の設定
www2.itochif.com(バーチャルホスト)の設定
バーチャルホストの設定を行います。管理を楽にするために、上記で作成したディレクトリ(/etc/httpd/conf.d/vhosts)に固有の設定ファイルを作成します。
# /usr/sbin/useradd -d /var/www/www2.itochif.com/ -s /sbin/nologin www2 # /usr/bin/passwd www2 # ユーザーwww2のパスワード設定 Changing password for user www2. New UNIX password: # パスワードを入力してEnterキーを押下します Retype new UNIX password: # 上と同じパスワードを入力してEnterキーを押下します passwd: all authentication tokens updated successfully. # mkdir /var/www/www2.itochif.com/public_html #公開ディレクトリの作成 # chown www2.www2 /var/www/www2.itochif.com/public_html/ #公開ディレクトリのオーナーをwww2に変更 # chmod 0705 -R /var/www/www2.itochif.com #/var/www/www2.itochif.com以下のファイルのパーミッションを変更 # vi /etc/httpd/conf.d/vhosts/100_www2.itochif.com.conf #www2.itochif.com用の設定ファイル ------------------------------ 次の行から100_www2.itochif.com.confの中身 <VirtualHost *:80> #サーバ名 ServerName www2.itochif.com #公開ディレクトリ DocumentRoot /var/www/www2.itochif.com/public_html #エラーログ ErrorLog logs/www2.itochif.com-error_log #アクセスログ CustomLog logs/www2.itochif.com-access_log combined #suexecのユーザーをwww2、グループをwww2に設定 SuexecUserGroup www2 www2 </VirtualHost> ------------------------------ 100_www2.itochif.com.conf終了 # /sbin/service httpd restart #設定を反映させるため、apacheを再起動する httpd を停止中: [ OK ] httpd を起動中: [ OK ]図2.バーチャルホスト(www2.itochif.com)の設定
アクセスできるかどうかを確認する
設定した二つのホストに接続できるかどうかを確認します。
# echo www.index > /var/www/html/index.html # echo www2.index > /var/www/www2.itochif.com/public_html/index.html # telnet localhost 80 # www.itochif.comに接続確認(黄色の文字を入力する) Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. GET / HTTP/1.1 HOST: www.itochif.com HTTP/1.1 200 OK Date: Sat, 03 May 2008 07:00:00 GMT Server: Apache Last-Modified: Sat, 03 May 2008 07:00:00 GMT ETag: "a0394-10-c4cffb40" Accept-Ranges: bytes Content-Length: 10 Connection: close Content-Type: text/html; charset=UTF-8 www.index #www.itochif.comの公開ディレクトリに作成したindex.htmlの中身が表示されている Connection closed by foreign host. # telnet localhost 80 # www2.itochif.comに接続確認(黄色の文字を入力する) Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. GET / HTTP/1.1 HOST: www2.itochif.com HTTP/1.1 200 OK Date: Sat, 03 May 2008 07:00:00 GMT Server: Apache Last-Modified: Sat, 03 May 2008 07:00:00 GMT ETag: "b0009-11-c66bf800" Accept-Ranges: bytes Content-Length: 11 Connection: close Content-Type: text/html; charset=UTF-8 www2.index #www2.itochif.comの公開ディレクトリに作成したindex.htmlの中身が表示されている Connection closed by foreign host.図3.設定したホストへの接続確認
掲載日 5/03/2008

![インテルCentrino Duo搭載ThinkPad T60 [468x60]](http://www.ibm.com/jp/pc/campaign/affiliate/10000001.gif)

Apacheには、複数のFQDNで複数のWebサイトの運用を行うバーチャルホストと呼ばれる機能があります。例えば、内容の異なるhttp://www.itochif.com/とhttp://www2.itochif.com/を1台のコンピュータで行う事が可能です。
今回はコンピュータにIPアドレスを1つ割り当てている状態でバーチャルホストの機能が扱える、ネームベースのバーチャルホスト機能を使用して複数サイトの運用を行います。
※Apacheのインストールと設定が完了している前提で書きます。