====== VirtualHosts ====== First some basic things: ===== Where to find the VirtualHost file ===== The out-of-the-box location for the file is /opt/csw/apache2/etc/virtualhosts (blastwave template) or /opt/local/etc/httpd/ (pkgsrc template). If you want to change the location, then look in your /opt/csw/apache2/etc/httpd.conf (blastwave template) or /opt/local/etc/httpd/httpd.conf (pkgsrc template) file for the following lines to change the path: # And here are the virtualhost files Include /opt/csw/apache2/etc/virtualhosts/*.conf ===== Multiple URLs pointing to same site ===== Site to come up as http://www.example.com, http://example.com and http://blog.example.com ServerName www.example.com ServerAlias example.com ServerAlias blog.example.com If you only want a single url to work then only define a value for ServerName. ===== Set the order of default pages served ===== DirectoryIndex index.html dispatch.fcgi ===== Setting the htdocs dir ===== Where is the public dir: DocumentRoot /home/domains/www.example.com/current/public ===== rewrite ===== Enable rewrite: RewriteEngine* On Don't serve up the SVN stuff: RewriteRule ^(.*/)?\.svn/ - [F,L] ===== Log files ===== define the error log file: ErrorLog /opt/csw/apache2/var/log/blog.example.com.error define the location of the custom file note "common" is defined in httpd.conf which is the format for the file: CustomLog /opt/csw/apache2/var/log/blog.example.com common ====== The complete VirtualHost Entry ====== putting it all together 001-example.com.conf file: I use mongrel cluster with 5 balancing. ServerName www.example.com ServerAlias example.com ServerAlias blog.example.com DirectoryIndex index.html dispatch.fcgi DocumentRoot /home/domains/www.example.com/current/public RewriteEngine On RewriteRule ^(.*/)?\.svn/ - [F,L] ProxyPass /images ! ProxyPass /stylesheets ! ProxyPass /javascripts ! ProxyPass / balancer://blog/ ProxyPassReverse / balancer://blog ProxyPreserveHost On ErrorLog /opt/csw/apache2/var/log/blog.example.com.error CustomLog /opt/csw/apache2/var/log/blog.example.com common BalancerMember http://127.0.0.1:8010 BalancerMember http://127.0.0.1:8011 BalancerMember http://127.0.0.1:8012 BalancerMember http://127.0.0.1:8013 BalancerMember http://127.0.0.1:8014