Installation & Deployment Guide: Web Server Recipes
These recipes are a starting point for configuring your web server to run Wheelhouse CMS.
Apache VirtualHost Recipe
<VirtualHost *:80>
ServerName *DOMAIN*
ServerAlias www.*DOMAIN*
DocumentRoot /var/www/*DOMAIN*/current/public
<Directory /var/www/*DOMAIN*/current/public>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Log location
ErrorLog /var/www/*DOMAIN*/shared/log/error.log
LogLevel warn
CustomLog /var/www/*DOMAIN*/shared/log/access.log combined
# Output compression
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
RewriteEngine On
# Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www.*DOMAIN*$ [NC]
RewriteRule ^/(.*)$ http://www.*DOMAIN*/$1 [L,R=301]
# Page caching
RewriteRule ^/cache - [F,L]
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{REQUEST_URI} ^/([^.]+)$
RewriteCond %{DOCUMENT_ROOT}/cache/%1.html -f
RewriteRule ^/[^.]+$ /cache/%1.html [QSA,L]
RewriteCond %{THE_REQUEST} ^(GET|HEAD)
RewriteCond %{DOCUMENT_ROOT}/cache/index.html -f
RewriteRule ^/$ /cache/index.html [QSA,L]
</VirtualHost>
Nginx Server Recipe
server {
listen 80;
server_name *DOMAIN* www.*DOMAIN*;
root /var/www/*DOMAIN*/current/public;
access_log /var/www/*DOMAIN*/shared/log/access.log;
error_log /var/www/*DOMAIN*/shared/log/error.log;
location / {try_files $uri /cache/$uri/index.html /cache/$uri.html /cache/$uri @passenger;
}
location @passenger {passenger_enabled on;
}
location ~ ^/assets/tinymce/ {
break;
}
location ~ ^/assets/ {
gzip_static on;
expires 1y;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
}