--- # Apache 2.4 vHost Template defintion for vhost-gen.py # # The 'feature' section contains optional features that can be enabled via # conf.yml and will then be replaced into the main vhost ('structure' section) # into their corresponding position: # # __XDOMAIN_REQ__ # __PHP_FPM__ # __ALIASES__ # __DENIES__ # __STATUS__ # # The features itself also contain variables to be adjusted in conf.yml # and will then be replaced in their corresponding feature section # before being replaced into the vhost section (if enabled): # # PHP-FPM: # __PHP_ADDR__ # __PHP_PORT__ # XDomain: # __REGEX__ # Alias: # __REGEX__ # __PATH__ # Deny: # __REGEX__ # Status: # __REGEX__ # # Variables to be replaced directly in the vhost configuration can also be set # in conf.yml and include: # __VHOST_NAME__ # __DOCUMENT_ROOT__ # __INDEX__ # __ACCESS_LOG__ # __ERROR_LOG__ # __PHP_ADDR__ # __PHP_PORT__ # ### ### Basic vHost skeleton ### vhost: | ServerName __VHOST_NAME__ CustomLog "__ACCESS_LOG__" combined ErrorLog "__ERROR_LOG__" __REDIRECT__ __SSL__ __VHOST_DOCROOT__ __VHOST_RPROXY__ __PHP_FPM__ __ALIASES__ __DENIES__ __SERVER_STATUS__ # Custom directives __CUSTOM__ ### ### vHost Type (normal or reverse proxy) ### vhost_type: # Normal vHost (-p) docroot: | # Define the vhost to serve files DocumentRoot "__DOCUMENT_ROOT__" DirectoryIndex __INDEX__ AllowOverride All Options All RewriteEngine on RewriteBase / Order allow,deny Allow from all Require all granted # Reverse Proxy (-r) rproxy: | # Define the vhost to reverse proxy ProxyRequests off ProxyPass __LOCATION__ __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ ProxyHTMLURLMap __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ __LOCATION__ ProxyPassReverse / SetOutputFilter proxy-html ProxyHTMLURLMap / __LOCATION__ ProxyHTMLURLMap __LOCATION__ __LOCATION__ RequestHeader unset Accept-Encoding ### ### Optional features to be enabled in vHost ### features: # SSL Configuration ssl: | SSLEngine on SSLCertificateFile "__SSL_PATH_CRT__" SSLCertificateKeyFile "__SSL_PATH_KEY__" SSLProtocol __SSL_PROTOCOLS__ SSLHonorCipherOrder __SSL_HONOR_CIPHER_ORDER__ SSLCipherSuite __SSL_CIPHERS__ # Redirect to SSL directive redirect: | RedirectMatch (.*) https://__VHOST_NAME__:__SSL_PORT__$1 # PHP-FPM will not be applied to a reverse proxy! php_fpm: | # PHP-FPM Definition Require all granted SetHandler proxy:fcgi://__PHP_ADDR__:__PHP_PORT__ # enablereuse requires Apache 2.4.11 or later # If the php file doesn't exist, disable the proxy handler. # This will allow .htaccess rewrite rules to work and # the client will see the default 404 page of Apache RewriteCond %{REQUEST_FILENAME} \.php$ RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteRule (.*) - [H=text/html] alias: | # Alias Definition Alias "__ALIAS__" "__PATH____ALIAS__" __XDOMAIN_REQ__ Order allow,deny Allow from all Require all granted deny: | # Deny Definition Order allow,deny Deny from all server_status: | # Status Page SetHandler server-status Order allow,deny Allow from all Require all granted xdomain_request: | # Allow cross domain request from these hosts SetEnvIf Origin "__REGEX__" AccessControlAllowOrigin=$0 Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header always set Access-Control-Max-Age "0" Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request. RewriteEngine On RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]