Mein Setup:
- Debian 9
- Check_MK Raw Edition
Ich nutze XCA für meine eigenen Zertifikate und exportiere mir die zwei benötigten Dateien.
- der private Schlüssel wird als PEM Textformat (*.pem) exportiert
- das Zertifikat wird als PEM Textformat mit Kopf- und Fußzeilen (*.crt) exportiert
Prüfen ob das Apache SSL Modul geladen ist.
$ apachectl -M | grep ssl (keine Ausgabe, nicht geladen)
Das SSL Modul für Apache aktivieren.
$ a2enmod ssl $ systemctl restart apache2
Erneute Prüfung ob es geladen wurde.
$ apachectl -M | grep ssl ssl_module (shared)
Die exportierten Dateien auf den Server kopieren (z.B. nach /etc/ssl/) und die Datei /etc/apache2/sites-available/default-ssl.conf anpassen.
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # SSL SSLEngine on SSLCertificateFile /etc/ssl/cmk.bachmann.lan.crt SSLCertificateKeyFile /etc/cmk.bachmann.lan.pem </VirtualHost> </IfModule>
SSL in Apache aktivieren.
$ a2ensite default-ssl.conf $ systemctl reload apache2
Check_MK ist jetzt über HTTPS mit dem eigenen Zertifikat erreichbar.
Sollen jetzt noch alle HTTP Anfragen automatisch auf HTTPS umgeleitet werden, kommen in die /etc/apache2/sites-enabled/000-default.conf
noch diese drei Rewrite Zeilen.
<VirtualHost *:80> # HTTP auf HTTPS umleiten RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}/$1 [L] --- SNIP ---