AC-5

某SEの雑記帳

バーチャルホストの設定

      2016/01/20

一台のサーバに複数のドメインで公開する為、バーチャルホストの設定をします。
今回は、ドメイン:hogehoge.com/でアクセスした場合は/var/www/vhost/hogehoge.com/html/の内容が表示されるように設定したいと思います。

バーチャルホストの設定をするには、Apacheに記載する必要があるのですが、
元ファイルである/etc/httpd/conf/httpd.confはなるべく汚したく無いので、
別ファイルにバーチャルホストの設定を作成して読み込ませます。

そうする事で、ドメイン別に設定ファイルを作成する事ができ、複数のドメインを載せる場合にもメンテがしやすくなります。

バーチャルホストの設定

[root@test]# vi /etc/httpd/conf/httpd.conf←apache設定ファイル編集
#NameVirtualHost *:80
↓
NameVirtualHost *:80←コメント解除してバーチャルホスト有効化
[root@test]# cd /etc/httpd/conf.d/←conf.dディレクトリに移動します。
conf.dディレクトリに置かれたconfファイルは、Apacheの起動時に一緒に読み込まれる為、このディレクトリに「ドメイン名.conf」のような形で設定ファイルを作成します。
バーチャルホストを有効にした場合は、メインドメインの分もconfファイルを作成する必要があります。
[root@test conf.d]# vi hogehoge.com.conf←viでドメイン名.confのファイルを作成
<VirtualHost *:80>
        ServerName hogehoge.com
        DocumentRoot /var/www/vhost/hogehoge.com/html/
<Directory /var/www/vhost/hogehoge.com/html/>
        AllowOverride All←バーチャルホストで.htaccessを利用できるようにする
</Directory>
</VirtualHost>
[root@test conf.d]# httpd -t←Apache設定ファイルのテスト
Syntax OK
[root@test conf.d]# service httpd restart←Apacheの再起動

Apacheの設定ファイルでAllowOverrideをAllにしていても、バーチャルホストの場合はその記述もドメイン毎に書いてあげる必要があります。
また、AllowOverrideはの中に指定する必要があります。

 - Linux