Apache2 バーチャルホスト 設定

この章を始める前に下記の設定が必要です
「Apache2 インストール」
ヒント
現状の設定ではhttp://mail.domain.tldやhttp://ftp.domain.tldでアクセスできてしまうため VirtualHostの設定でhttp://www.domain.tldのアクセスのみを許可する。 ServerAlias domain.tldを追加してhttp://domain.tldのアクセス許可も可能。
httpd.conf編集
[root@centos ~]# vi /etc/httpd/conf/httpd.conf
#NameVirtualHost *:80
↓
NameVirtualHost *:80 ←コメント解除(バーチャルホスト許可)
VirtualHost設定
[root@centos ~]# vi /etc/httpd/conf.d/virtual.conf
↓下記を記入
<VirtualHost *:80>
    ServerName any
    DocumentRoot /tmp
</VirtualHost>

<VirtualHost *:80>
    ServerName www.server-manual.com
    DocumentRoot /var/www/html
</VirtualHost>
wwwなしで接続を許可する場合
[root@centos ~]# vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
    ServerName www.server-manual.com
    ServerAlias server-manual.com
    DocumentRoot /var/www/html
</VirtualHost>
wwwなしをwwwありにリダイレクト(wwwありに統一)する場合
[root@centos ~]# vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
    ServerName www.server-manual.com
    ServerAlias server-manual.com
    DocumentRoot /var/www/html
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(server-manual.com)(:80)? [NC]
    RewriteRule ^(.*) http://www.server-manual.com/$1 [R=301,L]
</VirtualHost>
サブドメインを追加する場合
[root@centos ~]# vi /etc/httpd/conf.d/virtual.conf
↓最終行に下記を記入
<VirtualHost *:80>
    ServerName user_name.server-manual.com
    DocumentRoot /home/user_name/public_html
    ErrorLog /var/log/httpd/user_name-error_log
    CustomLog /var/log/httpd/user_name-access_log combined env=!nolog
</VirtualHost>
ヒント
サブドメインを追加する場合はDNSの設定も必要です。
Apache再起動
[root@centos ~]# /etc/rc.d/init.d/httpd restart
Home PageTop