Default vhost:
<VirtualHost *:80>
ServerAdmin [% serveradmin %]
<Location "/server-status">
SetHandler server-status
Require local
Require ip 10.0.0.0/8
Require ip 172.16.0.0/12
Require ip 192.168.0.0/16
</Location>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://[% servername %]/$1 [R,L]
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Static site:
ServerSignature Off
<VirtualHost *:80>
ServerName [% servername %]
RewriteEngine On
RewriteCond %{SERVER_NAME} =[% servername %]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName [% servername %]
DocumentRoot /var/www/[% servername %]
ServerAdmin [% serveradmin %]
<IfModule ssl_module>
SSLCertificateFile [% let_certbot_fill_this_in %]
SSLCertificateKeyFile [% let_certbot_fill_this_in %]
SSLCACertificateFile [% let_certbot_fill_this_in %]
</IfModule>
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Wordpress blog:
<VirtualHost *:80>
ServerName [% servername %]
RewriteEngine On
RewriteCond %{SERVER_NAME} =[% servername %]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName [% servername %]
ServerAdmin [% serveradmin %]
DocumentRoot /var/www/[% servername %]/
<Directory /var/www/[% servername %]/>
DirectoryIndex index.php
Options -Indexes -MultiViews
AllowOverride all
</Directory>
<IfModule ssl_module>
SSLCertificateFile [% let_certbot_fill_this_in %]
SSLCertificateKeyFile [% let_certbot_fill_this_in %]
SSLCACertificateFile [% let_certbot_fill_this_in %]
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
SetHandler "proxy:unix:/run/php/[% phpuser %].sock|fcgi://localhost"
</FilesMatch>
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Reverse proxy to Oobabooga with VirtualHost name and SSL:
<VirtualHost *:80>
ServerName [% servername %]
ServerAdmin [% serveradmin %]
DocumentRoot /var/www/[% servername %]/
RewriteEngine On
RewriteCond %{SERVER_NAME} =[% servername %]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<Virtualhost *:443>
ServerName [% servername %]
ServerAdmin [% serveradmin %]
<IfModule ssl_module>
SSLCertificateFile [% let_certbot_fill_this_in %]
SSLCertificateKeyFile [% let_certbot_fill_this_in %]
SSLCACertificateFile [% let_certbot_fill_this_in %]
</IfModule>
Include /etc/letsencrypt/options-ssl-apache.conf
# XXX experimental blocking API proxy endpoint
ProxyPass /api/ http://[% ooba_ip %]:5000/api/
# Known-good web UI http reverse-proxy
ProxyPass / http://[% ooba_ip %]:7860/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
# XXX experimental streaming API proxy endpoint
RewriteRule ^/api/v1/stream/?(.*) "ws://[% ooba_ip %]:5005/api/v1/stream/$1" [P,L]
# Known-good web UI ws reverse-proxy
RewriteRule ^/?(.*) "ws://[% ooba_ip %]:7860/$1" [P,L]
</Virtualhost>
Reverse proxy to Transmission (no SSL yet):
<VirtualHost *:80>
ServerName [% servername %]
ServerAdmin [% serveradmin %]
DocumentRoot /var/www/[% servername %]
<Directory "/">
Require local
Require ip 10.0.0.0/8
Require ip 172.16.0.0/12
Require ip 192.168.0.0/16
</Directory>
RewriteEngine On
RewriteRule /(.*) http://[% transmission_ip %]:9091/$1 [P]
</VirtualHost>
DokuWiki:
favicon.ico is still the default forever
<VirtualHost *:80>
ServerName [% servername %]
RewriteEngine On
RewriteCond %{SERVER_NAME} =[% servername %]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName [% servername %]
ServerAdmin [% serveradmin %]
DocumentRoot /var/www/[% servername %]/
<Directory /var/www/[% servername %]/>
DirectoryIndex doku.php
AllowOverride all
RewriteEngine on
RewriteBase /
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
RewriteRule ^index.php$ doku.php
</Directory>
<IfModule ssl_module>
SSLCertificateFile [% let_certbot_fill_this_in %]
SSLCertificateKeyFile [% let_certbot_fill_this_in %]
SSLCACertificateFile [% let_certbot_fill_this_in %]
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
SetHandler "proxy:unix:/run/php/[% phpuser %].sock|fcgi://localhost"
</FilesMatch>
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>