User Tools

Site Tools


nndocs:templates:apache

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:

FIXME 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>
nndocs/templates/apache.txt · Last modified: 2024/09/03 17:41 by naptastic