apache-1.3.20でVirtualHost
はじめに
このサイトは、netgroove.ne.jpさんに hayagui.com をホスティングしてもらっていますが、この仕組みを apache でやってみます。
環境
apache は、FreeBSD4.4のCDから /stand/sysinstall でインストール。
| OS |
FreeBSD 4.4 |
| apache のバージョン |
1.3.20 |
| WWWサーバ名 |
chaco.hayagui.com |
| VirtualHostするURL |
kenz.hayagui.com |
とりあえずapacheのインストールと設定
apacheをインストールすると、/usr/local/etc/apache の下に5 つのファイルと *.default ファイルが作成されます。
- access.conf
- magic
- srm.conf
- httpd.conf
- mime.types
で、変更するファイルは httpd.conf です。
このファイルを vi などで開いて変更してください。
このサーバ名は、chaco.hayagui.com なので、以下のように変更します。
#ServerAdmin you@your.address
ServerAdmin root@chaco.hayagui.com
と、
#ServerName new.host.name
ServerName chaco.hayagui.com
これらを変更します。
あと、以下の2つの行を確認した後保存してください。
DocumentRoot "/usr/local/www/data"
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
前者は、ユーザに属さないhtmlを格納するディレクトリのルートです。
後者は、個人ユーザのhtmlディレクトリです。その後に、
chaco# /usr/local/sbin/httpd
と入力して httpd を起動してください。(これをしなくて、FreeBSDをrebootしてもいいです。)
ネットワークの設定が済んでいるWindowsマシン(jhon)から、ここをアクセスしてみます。
ブラウザを起動して、http://chaco.hayagui.com/ に設定すると、次のように表示されると思います。
あれ、前とデザイン変わったな..
kenzというユーザのディレクトリ(/usr/home/kenz/public_html/)に cd して index.html というファイルを作成します。
ファイルの中身は、以下のような感じ。
<html>
<head>
<title>hogehoge</title>
</head>
<body bgcolor=#ffffff>
<h1>hogehoge</h1>
test
</body>
</html>
http://chaco.hayagui.com/~kenz/ を開くと、以下のように表示されます。
本題のVirtualHost
VirtualHostとは、ひとつのWebサーバで複数のドメインに対応する機能です。
この機能を実現するには、ひとつのWebサーバに複数のIPアドレスを割り当てる方法と、
ひとつのWebサーバに複数のホスト名を割り当てる方法があります。
今回は、後者の方法でVirtualHostを実現します。
http://chaco.hayagui.com/~kenz/ を http://kenz.hayagui.com というバーチャルホストにします。
DNSの設定を変更
kenz.hayagui.com という URL にしますので、このホスト名で名前解決する必要があります。
/etc/namedb/hayagui.zone を開いて、以下の行を追加します。
kenz IN CNAME chaco
これの意味は、chaco という名前のホストに kenz という別名を割り当てています。
chaco.hayagui.com と kenz.hayagui.com は同じIPアドレスになります。
hayagui.zone の Sirial を更新して再起動します。nslookup して確認するとこんな感じ。
chaco# nslookup
Default Server: chaco.hayagui.com
Address: 192.168.0.5
> chaco
Server: chaco.hayagui.com
Address: 192.168.0.5
Name: chaco.hayagui.com
Address: 192.168.0.5
> kenz
Server: chaco.hayagui.com
Address: 192.168.0.5
Name: chaco.hayagui.com
Address: 192.168.0.5
Aliases: kenz.hayagui.com
同じIPアドレスになっていますね。
apacheの設定を変更
さて、/usr/local/etc/apache に cd して、httpd.conf を開いてください。
ファイルの最後の方にある以下の項目を変更します。
# Use name-based virtual hosting.
#
#NameVirtualHost *
NameVirtualHost 192.168.0.5
これは、バーチャルホストするサーバのIPアドレスを設定します。
#
# VirtualHost example:
#<VirtualHost *>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
<VirtualHost 192.168.0.5>
ServerAdmin root@chaco.hayagui.com
DocumentRoot /usr/local/www/data
ServerName chaco.hayagui.com
ErrorLog /var/log/chaco.hayagui.com-error_log
CustomLog /var/log/chaco.hayagui.com-access_log common
</VirtualHost>
<VirtualHost 192.168.0.5>
ServerAdmin kenz@chaco.hayagui.com
DocumentRoot /usr/home/kenz/public_html
ServerName kenz.hayagui.com
ErrorLog /var/log/kenz.hayagui.com-error_log
CustomLog /var/log/kenz.hayagui.com-access_log common
</VirtualHost>
各々以下のような意味を持ちます。
- ServerAdmin
- サーバ管理者のメールアドレス
- DocumentRoot
- htmlを保存するルートディレクトリ
- ServerName
- サーバ名。VirtualHostするURLとなります。
- ErrorLog
- エラーを格納するディレクトリ。
- CustomLog
- エラーを格納するディレクトリ。
で、httpd を起動させると、以下のようなページを見ることができます。
先ほど http://chaco.hayagui.com/~kenz/ で表示してた内容と同じですね。
VirtualHost成功成功。
戻る
|