自宅サーバの道しるべ
▼ホーム
ホームへ戻る
▼基本設定
ネットワーク構成
Fedoracore3の設定
コンパイラの導入
ポート設定の概要
ポート設定(ルータ)
ポート設定
(ファイアウォール)
▼新サーバPC
新サーバPCのスペック
ネットワークドライバの
インストール
グラフィックドライバの
インストール
▼ダイナミックDNS
ダイナミックDNSの概要
DynDNSの設定
ddclientの設定
▼メールサーバ
メールサーバの概要と準備
Postfixの構築
Qpopperの構築
不正メール中継テスト
空メール(自動返信メール)
スパムメール対策(Postfix)
バーチャルドメイン設定
(Postfix)
▼Webサーバ
Webサーバの概要と準備
Apacheの構築
PHPの構築
バーチャルホストの設定
HTTPリダイレクトの設定
▼データベース
MySQLの構築
PostgreSQLの構築
▼FTPサーバ
FTPサーバの概要と準備
vsftpdの構築
▼共有サーバ
Sambaの概要と準備
Samba構築(ファイル共有)
cupsの概要と準備
cupsの構築(プリンタ共有)
プリンタ設定(クライアント)
▼資料
HTTPステータスコード
▼リンク
参考書籍一覧
参考書籍のレビュー
リンク
関連サイト
 ■ホーム>バーチャルホストの設定
■バーチャルホストとは
1台のサーバで複数のWebサーバと同じ役割を果たせるようにする機能です。
Apacheの環境設定ファイル(httpd.conf)を変更することで実現します。
バーチャルホストには、「IPベース」と「NAMEベース」の2つの方式があります。

ダイナミックDNSとApacheの設定に関しては、
ダイナミックDNSの概要
DynDNSの設定
ddclientの設定
Apacheの構築
上記のページを参照して下さい。


■IPベースのバーチャルホスト
この方式では、複数のIPアドレスを所有していることが前提です。
本来であれば、1つのIPアドレスに対して1つのサーバPCを割り当てれば良いのですが、
物理的に複数サーバPCを設置する制約(設置スペース、金銭的、消費電力等)がある場合に、
この方式で対応します。

■NAMEベースのバーチャルホスト
IPアドレスが1つしか無い場合、1つのIPアドレスに対して複数のホスト名を設定し、
ホスト名によって対応するレスポンスを返す
のが、この方式です。
個人で通常のプロバイダ契約している場合は、こちらの「NAMEベースのバーチャルホスト」を
使用することになります。
 

ここでは自宅サーバということで、IPアドレスが1つしかないものとし、
NAMEベースのバーチャルホストを構築していきます。
現在使用している当サイトのホスト名は”my-server.homelinux.com”ですが、
今回追加するホスト名は当サイトのテスト環境ということで、”t-my-server.homelinux.com”とし、
使用するユーザーは”t-web”、ドキュメントフォルダは”/home/t-web”とします。

ホスト名

ユーザー

ドキュメントフォルダ

IPアドレス

my-server.homelinux.com web /home/web 55.66.77.88※
t-my-server.homelinux.com t-web /home/t-web
※IPアドレスはあくまで例です。

NAMEベースのバーチャルホストを実現させる為には、以下4つの設定が必要になります。
・ホスト名の追加(サーバ側ダイナミックDNS)
・ddclientの設定追加(クライアント側ダイナミックDNS更新)
・Apacheの環境設定追加
・ユーザー”t-web”の作成


Step1.DynDNSの設定(新規ホスト名の追加)
DynDNSの設定のStep2〜3と同様の手順でホスト名”t-my-server.homelinux.com”を追加します。
具体的にはログイン後、Services→DynamicDNS→Manage Hostsとリンクをたどって行くと、
登録ホストの一覧画面が表示されます。

登録ホストの一覧画面

登録ホストの一覧画面

ここから(1)Add Hostをクリックすると、ホストの新規作成画面に移動します。
ホスト名を入力し、(2)Add Hostボタンを押すと、登録ホストの一覧画面に戻ります。
登録ホストの一覧画面では、今追加登録したホスト名が追加されていることを確認します。

ホストの新規作成画面

ホストの新規作成画面

以上でダイナミックDNSサーバ側の設定は完了です。

Step2.ddclientの設定(ホスト名の追加)
エディタで/etc/ddclient/ddclient.confを編集します。
修正箇所はホスト名を設定している箇所に,(カンマ)と新規ホスト名を追加します。
環境設定ファイル
/etc/ddclient/ddclient.conf

修正前

修正後

DynDNSの使用設定 server=members.dyndns.org,   \
protocol=dyndns2                  \
my-server.homelinux.com
server=members.dyndns.org,  \
protocol=dyndns2                 \
my-server.homelinux.com,t-my-server.homelinux.com
※必要な箇所のみ抜粋
ddclient.confの変更を有効にさせる為にddclientを再起動します。
終端(ターミナル)を開き、次のようにコマンドを入力します。
終端(ターミナル)を開きます。
# /etc/rc.d/init.d/ddclient restart

Shutting down ddclient:                          [
OK ]
Starting ddclient:                                   [
OK ]

#

 
このコマンドにより、ddclientを
再起動させます。

以上でddclientの設定は完了です。

Step3.Apacheの環境設定(httpd.confの設定追加)
バーチャルホスト設定する上で一番重要になってくるのが、Apacheの環境設定です。
環境設定ファイル”/etc/httpd/conf/httpd.conf”の末尾にバーチャルホスト設定を追記します。

当サイトのローカルIPアドレスは”192.168.11.101”なので、次のように記述します。
バーチャルホスト設定用の追加記述
(※追記部分のみ抜粋)
/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.11.101

<VirtualHost 192.168.11.101>
    DocumentRoot /home/web
    ServerName my-server.homelinux.com
</VirtualHost>

<VirtualHost 192.168.11.101>
    DocumentRoot /home/t-web
    ServerName t-my-server.homelinux.com
    ServerAdmin root@t-my-server.homelinux.com
    ErrorLog logs/t-error_log
    CustomLog logs/t-access_log
</VirtualHost>

 

■バーチャルホスト設定の解説
NAMEベースのバーチャルホストで使用するディレクティブ(指示文)について項目毎に説明していきます。
ディレクティブは基本的に次のような構文で記述します。
 ディレクティブ項目名 設定パラメータ

        Apache環境設定ファイルのバーチャルホスト設定項目一覧表

ディレクティブ項目

解  説

NameVirtualHost NAMEベースのバーチャルホスト宣言
<VirtualHost> バーチャルホスト設定の開始を意味します。
DocumentRoot Web上で見えるメインのドキュメントフォルダ
ServerName Webアクセスのホスト名を指定します。
ServerAdmin サーバ管理者のメールアドレス
ErrorLog エラーログ出力先パス(フォルダ&ファイル名)
CustomLog アクセスログ出力先パス(フォルダ&ファイル名)
</VirtualHost> バーチャルホスト設定の終了を意味します。

         ※背景色が赤色になっているディレクティブ項目は必須項目です。
          ディレクティブを指定しなかった項目は、Apacheの設定が適用されます。


■NameVirtualHost
 NAMEベースのバーチャルホストの使用を宣言します。
※NAMEベースのバーチャルホストでは、必須項目となります。

 設定パラメータは”IPアドレス:ポート番号”で指定します。
 具体的には下記のように記述できます。
 

設定パラメータ

記述例

解 説

IPアドレス:ポート番号 192.168.11.101:8080 記述したIPアドレスとポート番号に対しての
バーチャルホストを設定します。
*:80 記述したポート番号で、すべてのIPアドレスに対して
バーチャルホストを設定します。
IPアドレス 192.168.11.101 記述したIPアドレスに対して
バーチャルホストを設定します。
※ポート番号を省略しているので
ポート80(Web用ポート)へのアクセスとなります。
* すべてのIPアドレスに対して
バーチャルホストを設定します。
※ポート番号を省略しているので
ポート80(Web用ポート)へのアクセスとなります。

■<VirtualHost>
 バーチャルホストの括りの開始を意味します。
 <VirtualHost>の設定パラメータにはNameVirtualHostで指定した同一の設定パラメータを記述します。

■DocumentRoot
 Web上で見えるメインのドキュメントフォルダを指定します。
※このディレクティブは必須項目です。 

■ServerName
 ダイナミックDNSで登録したホスト名を指定します。
※このディレクティブは必須項目です。 

■ServerAdmin
 サーバ管理者用のメールアドレスを指定します。
 ”t-my-server.homelinux.com”の管理用メールアドレスは”root@t-my-server.homelinux.com”としていますが、
 このメールアドレスの設定は行っていません。
※今後Postfixによるバーチャルホスト設定を行う予定です。

■ErrorLog
 エラーログの出力先(フォルダパス&ファイル名)を指定します。
 記述例にあるフォルダパス”logs/”は”/var/log/httpd/”のシンボリックリンクとなります。
 この項目を指定しない場合はデフォルトのエラーログに出力されます。

■CustomLog
 アクセスログの出力先(フォルダパス&ファイル名)を指定します。
 記述例にあるフォルダパス”logs/”はエラーログ同様”/var/log/httpd/”のシンボリックリンクとなります。
 この項目を指定しない場合はデフォルトのエラーログに出力されます。

■</VirtualHost>
 バーチャルホストの括りの終了を意味します。
 ディレクティブ(指示文)を囲むために<VirtualHost>〜</VirtualHost>で括ります。


バーチャルホスト設定完了後、設定を有効にする為にApache(httpd)を再起動する必要があります。

終端(ターミナル)を開きます。
# /etc/init.d/httpd restart


httpd を停止中:                                   [ 
OK  ]
httpd を起動中:                                   [ 
OK  ]

#
 

このコマンドにより、Apache(httpd)を
再起動します。

このメッセージが表示されれば、
再起動完了です。
以上でNAMEベースのバーチャルホストの設定はすべて完了です。

Step4.ユーザーの作成
ここでは新たに”t-web”というユーザーを作成し、ホームディレクトリを"/home/t-web/"に
配置するものとします。
【アプリケーション】→【システム設定】→【ユーザーとグループ】を選択すると、
「ユーザー管理ウィンドウ」が開きます。
ウィンドウ上部の「ユーザーを追加(U)」のアイコンをクリックすると、
「新規ユーザーの作成ウィンドウ」が開きます。
ユーザー名:t-web
パスワード(2箇所):*********
ユーザー名とパスワード(2箇所)を入力し、「OK」ボタンを押すとユーザーが作成されます。

Step5.動作確認
実際にホームディレクトリ”/home/t-web/”にindex.phpファイル(htmlファイルでも可)を置いて
Webブラウザからアクセスします。
当サイトのテストで作成したindex.phpファイルは次の通りです。
/home/t-web/index.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>バーチャルホストのテスト</title>
</head>
<body>
こちらは「自宅サーバの道しるべ」バーチャルホスト用テストサイト<br>
<b>http://t-my-server.homelinux.com</b>です。<br>
「自宅サーバの道しるべ」に戻りたい場合は、下記のリンクをクリックして下さい。<br>
<br>
<center>
<a href="http://my-server.homelinux.com/">自宅サーバの道しるべに戻る</a>
</center>
</body>
</html>

WebブラウザからURLに”http://t-my-server.homelinux.com/”と入力して確認して下さい。
もしくは、下記のリンクをクリックしても確認できます。

■注意点
自宅サーバではサイトを確認する場合、ローカルIPアドレスでアクセスすると思います。
※当サイトではWebブラウザから”http://192.168.11.101/”として確認表示しています。

NAMEベースのバーチャルホストの場合、上記のようにIPアドレスでアクセスしても
最初に記述したバーチャルホストのサイトが表示されてしまいます。
(ホスト名でアクセスしてもルーター管理画面が表示されてしまう為。)
その為テストサイトを確認表示するには、あくまでホスト名によるアクセスを行う必要があります。
確認手法としては、以下の方法があります。
・外部PCからアクセスする。
・携帯電話のインターネットを使用してアクセスする。

どうしてもローカル環境でチェックしたい場合は、パソコンおやじWWWサーバテストを利用します。
利用方法については実際のページをご覧下さい。


ホームへ戻る

ページトップへ