Computer,OS,Linux,FreeBSD,Virtualization,Network,etc...
Linux_Tips(CentOS) » 各種サーバ構築 » apache_NameVirtualHostの設定
NameVirtualHostの設定
(同一ハード且つ同一IPで、サイト名を分離する場合)
★DNSサーバでの作業
●外向け正引きゾーンファイルの編集
# vi /var/named/chroot/var/named/hoge.com.db.wan
下記のCNAMEレコードを追加
XXX IN CNAME hostA.hoge.com.
YYY IN CNAME hostA.hoge.com.
ZZZ IN CNAME hostA.hoge.com.
※XXX,YYY,ZZZはWebサーバの別名。実際は英小文字で!
●ゾーンファイルの文法チェック
# cd /var/named/chroot/var/named
# named-checkzone hoge.com. ./hoge.com.db.wan
●BINDの再起動
# /etc/rc.d/init.d/named restart
●下記のdigコマンドツールでAレコードの正引きを確認
http://o2soft.jp/tool/dig/
★Webサーバでの作業
詳細は下記URLをを参照の事。
http://httpd.apache.org/docs/2.0/ja/vhosts/name-based.html
http://nox-insomniae.ddo.jp/insomnia/2005/12/apache2-virtualhost.html
http://blog.tauchi.net/2007/07/namevirtualhost.html
●基本的には「GlobalなDocumentRoot,ServerName,Directoryディレクティブ」は無効になり、
VirtualHostディレクティブに記載する。
メインホストはVirtualHostディレクティブの一番最初に記載すれば、デフォルトホストとなる。
# vim /etc/httpd/conf/httpd.conf
##DocumentRoot "/var/www/html"
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin 管理者メアド
DocumentRoot /var/www/html/main
ServerName www.hoge.com
ServerAlias hoge.com
ErrorLog /var/www/html/main/apache-log/error_log
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/html/main">
Options FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 管理者メアド
DocumentRoot /var/www/html/zzz
ServerName XXX.hoge.com
ErrorLog /var/www/html/zzz/apache-log/error_log
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/html/zzz">
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 管理者メアド
DocumentRoot /var/www/html/yyy/
ServerName YYY.hoge.com
ErrorLog /var/www/html/yyy/apache-log/error_log
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/html/yyy">
Options FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 管理者メアド
DocumentRoot /var/www/html/zzz
ServerName ZZZ.hoge.com
ErrorLog /var/www/html/zzz/apache-log/error_log
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/html/zzz">
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
●文法チェック
# apachectl -t
●apache再起動
# apachectl restart
●URLアクセス確認
http://www.hoge.com
http://XXX.hoge.com
http://ZZZ.hoge.com
http://YYY.hoge.com