目次

virtualhosts

httpd.conf

# vi /etc/httpd/conf/httpd.conf
-) #NameVirtualHost *:80
+) NameVirtualHost *:80

vhosts.conf

# vi /etc/httpd/conf.d/vhosts.conf

以下の記述を適宜修正しながら必要なだけ並べる

<VirtualHost *:80>	
   ServerAdmin webmaster@dummy-host.example.com	
   DocumentRoot "/var/www/vhosts/html/public_html"	
   ServerName testsv.example.com  	
   DirectoryIndex index.php index.html	
   ErrorLog /var/www/vhosts/html/logs/error_log	
   <Directory "/var/www/vhosts/html/public_html">	
      AllowOverride All  	
      Allow from All	
   </Directory>
   CustomLog /var/www/vhosts/html/logs/access_log common

   Alias /img/ "/home/htdocs/img/"
   <Directory "/home/htdocs/img">
      AllowOverride None
      Allow from all
   </Directory>
</VirtualHost>

vhostsフォルダ

# mkdir -p /var/www/vhosts/html/public_html
# mkdir -p /var/www/vhosts/html/logs

ファイル設置

/var/www/vhosts/html/public_html 以下にドキュメントを設置

設定反映(apache 再起動)

# /etc/rc.d/init.d/httpd restart

Tips

.htaccessが無視される

.htaccessはディレクトリ毎に設定されるので、デフォルトのDocumentRoot以外をVitrualHostに設定すると、その配下では.htaccessは無視される。
VirtualHostディレクティブにDirectoryディレクティブを定義して、「AllowOverride All」を定義すれば良い。

<VirtualHost *:80>
  ServerName vhost.co.jp
  DocumentRoot /var/www_vhost/html
  <Directory /var/www_vhost/html>
    AllowOverride All
  </Directory>
</VirtualHost>