# ************************************
# Vhost template in module puppetlabs-apache
# Managed by Puppet
# ************************************
# 
<VirtualHost *:80>
  ServerName default
  ServerAdmin root@localhost

  ## Vhost docroot
  DocumentRoot "/var/www/html"

  ## Directories, there should at least be a declaration for /var/www/html

  <Directory "/var/www/html">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/apache2/default_error.log"
  ServerSignature Off
  CustomLog "/var/log/apache2/access.log" combined 
  ## Script alias directives
  ScriptAlias /cgi-bin "/usr/lib/cgi-bin"
</VirtualHost>
