# ************************************
# Vhost template in module puppetlabs-apache
# Managed by Puppet
# ************************************
# 
<VirtualHost *:80>
  ServerName demo-trunk.ofbiz.apache.org

  ## Vhost docroot
  DocumentRoot "/var/www/ofbiz/big-files"

  ## Directories, there should at least be a declaration for /var/www/ofbiz/big-files

  <Directory "/var/www/ofbiz/big-files">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/apache2/ofbiz-trunk_error.log"
  ServerSignature Off
  CustomLog "/var/log/apache2/demo-trunk.ofbiz.apache.org.http_access.log" combined 

  ## Custom fragment
  RedirectMatch permanent ^/(.*)$ https://demo-trunk.ofbiz.apache.org/$1

</VirtualHost>
