Im folgenden Beispiel wird ein selbstsigniertes SSL Zertifikat für die Domain "www.domain.tld" erzeugt und in eine VirtualHost für die gleiche Domain eingebunden. Voraussetzung ist die Installation des Apache-Moduls "mod_ssl" sowie eine globale Aktivierung von SSL in "/etc/apache2/ports.conf".

Selbstsigniertes SSL Zertifikat erzeugen

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/domain.tld/apache.key -out /etc/apache2/ssl/domain.tld/apache.crt

Die Angaben zu den darauf folgenden Dialogen sind beliebig. Hier können die default-Werte übernommen werden, da das selbstsignierte Zertifikat beim Aufrufen der Domain im Browser sowieso eine Warnung auslöst. Lediglich bei "Common Name (e.g. server FQDN or YOUR name) []:" sollte die korrekte Domain angegeben werden. Hier ist jedoch auch eine Wildcard-Domain wie z.B. "*.domain.tld" möglich.

Apache Virtual Host SSL Konfiguration

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/domain.tld/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/domain.tld/apache.key
        ServerAdmin info@domain.tld
        ServerName www.domain.tld
        DocumentRoot /var/www/domain.tld/
        ErrorLog /var/log/apache2/domain.tld/error.log
        CustomLog /var/log/apache2/domain.tld/access.log combined
    </VirtualHost>
</IfModule>