Geek-Side

このエントリーをはてなブックマークに追加  

2004/11/10
Apache-2.0.54-r8

Apacheでのバーチャルホストの設定

Apacheには1つのマシンで複数のサイトを管理するバーチャルホストと言う機能があります。
バーチャルホストにはNameベースとIPベースの2種類の方法があります。
  • Nameベース
    ブラウザがリクエストしたホスト名を基に応答する
  • IPベース
    接続してきたIPアドレスを基に応答する。
以下の例では、Nameベースのバーチャルホストについて解説します。
tma2002.homedns.org と www.example.com の二つのホストを運用する場合の設定です。

バーチャルホストの設定

/etc/apache2/conf/apache2conf を以下のように設定します。
NameVirtualHost 192.168.1.1:80

#tma2002.homedns.orgの設定を記述します。
<VirtualHost 192.168.1.1:80>
ServerName tma2002.homedns.org
DocumentRoot /var/www/localhost/htdocs/
ErrorLog logs/error_log_hoge
CustomLog logs/access_log_hoge combined env=!VLOG
</VirtualHost>

#www.example.comの設定を記述します。
<VirtualHost 192.168.1.1:80>
ServerName www.example.com
DocumentRoot /home/fuga/htdocs
ErrorLog logs/error_log_fuga
CustomLog logs/access_log_fuga combined env=!VLOG

#/home/fuga/htdocs ディレクトリへのアクセスを許可します。
<Directory "/home/fuga/htdocs">
       Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
</Directory>

</VirtualHost>

・NameVirtualHost 192.168.1.1:80
 リクエストを受けるサーバーのIPアドレスとポートを指定します。
 例では、IPアドレスが192.168.1.1のポート80番について、バーチャルホストを設定しています。

・<VirtualHost 192.168.1.1:80>
ここから</VirtualHost>で囲まれたブロックに、このホストの振る舞いを
記述します。

・ServerName tma2002.homedns.org
このブロックがどのホストを扱うか指定します。例では tma2002.homedns.org を扱います。

・DocumentRoot /var/www/localhost/htdocs/
 ServerName で指定されたホスト用のコンテンツの、システム内での位置を指定します。
 例では www.hoge.ne.jp は /home/httpd/hdocのコンテンツを扱います。

・ErrorLog logs/error_log_hoge
エラーログの出力先を指定します。例では logs にerror_log_fugaという名前で
ログが出力されます。

・CustomLog logs/access_log_hoge combined env=!VLOG
 カスタムログの出力先を指定します。例では logs にaccess_log_hogeという名前で ログが出力されます。

・<Directory "/home/fuga/htdocs">〜
 ディレクトリ /home/fuga/htdocs へのアクセスを許可する設定です。
この設定を行わないと
client denied by server configuration:
という内容のエラーログが出力され、アクセスできません。

www.example.com用のDocumentRootを作成します。

 $ mkdir -p /home/fuga/htdocs
 $ chown apache:apache /home/fuga/htdocs
 $ chmod 755 /home/fuga/htdocs
上記でwww.example.comのDocumentRootの実行権を変更していますが、これを行わないと、
Permission denied....と言う内容のログが出力され、アクセスできません。

また、IPアドレスでアクセスがあった場合は、先に書かれているホスト(上記例ではtma2002.homedns.org)
が応答します。


Index
Apacheのインストールと基本設定
ApacheでのCGIの設定と設置
Apacheでのバーチャルホストの設定
ApacheでのWEBDAVの設定
Basic認証の設定(ファイル認証)
Basic認証の設定(DB認証)
ApacheでのSSLの設定
SSIの設定と利用

このエントリーをはてなブックマークに追加   ツイート