Apacheの不特定多数ドメインの対応

最終更新日時:2007-08-30 17:32:14
Apache

Apacheの不特定多数ドメインの対応


Apacheで不特定多数のドメインに対応する方法です。
ホスティングのようなサービスでは重宝しますね。

 NameVirtualHost *
 <VirtualHost *>
        ServerName aaa
        VirtualDocumentRoot /home/Project/www/%0/htdocs
        VirtualScriptAlias /home/Projectwww/%0/cgi-bin
        <Directory  "/home/Project/www">
                 Options FollowSymLinks
                 AllowOverride All
                 Order allow,deny
                 Allow from all
        </Directory>
 </VirtualHost>


こんな感じに設定すると、例えば、http://www.aaa.com/ であれば、/home/Project/www/www.aaa.com/htdocs が DocumentRoot となり、/home/Project/www/www.aaa.com/cgi-bin が ScriptAlias 設定となります。
また、通常このような場合、アクセスログをドメインごとに分けて出力することができないので、以下のようにアクセスログ内にドメイン情報を含めるような設定にしておくとよいでしょう。

 LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vcombined
 CustomLog "|/usr/local/apache/bin/rotatelogs  /usr/local/apache/logs/access_log.%Y%m%d 86400 540" vcombined


お問い合わせは 掲示板 にて。