Um HTTPS
auf der Znuny (Test) Webseite zu aktivieren wird ein selbstsigniertes Zertifikat mit öffentlichem Schlüssel erstellt. Folgendes Kommando nutzt OpenSSL
, ein weit verbreitetes Tool zur Erstellung und Verwaltung von SSL/TLS-Zertifikaten:
$ sudo openssl req -x509 -newkey rsa:4096 -nodes -keyout /etc/ssl/znuny/public.key -out /etc/ssl/znuny/certificate.crt -days 365
Apache SSL Konfiguration
Wir haben unsere Schlüssel- und Zertifikatsdateien im Verzeichnis /etc/ssl/znuny
erstellt. In diesem Schritt werden die folgenden Änderungen an der Apache-Konfiguration vorgenommen:
Passen Sie die Apache Default SSL Konfigurationsdatei /etc/apache2/sites-available/default-ssl.conf
an Ihre Bedürfnisse an. Wichtig sind vor allem die Angaben zum Document Root der Website und die Pfade zur Zertifikats- und Schlüsseldatei:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin your_email@example.com ServerName znuny.prontosystems.de DocumentRoot /opt/znuny/var/httpd/htdocs/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/znuny/certificate.crt SSLCertificateKeyFile /etc/ssl/znuny/public.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
Führen Sie folgende Kommandos aus, um HTTPS zu aktivieren:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl.conf
$ sudo apache2ctl configtest
Syntax OK
$ sudo systemctl restart apache2
Permanenter Redirect auf HTTPS
Damit alle Anfragen an den Server automatisch über HTTPS geleitet werden, fügen Sie den folgenden Konfigurationsblock am Ende der Apache-Konfigurationsdatei /opt/znuny/scripts/apache2-httpd.include.conf
hinzu:
<IfModule mod_rewrite.c> <IfModule mod_ssl.c> <Location /znuny> RewriteEngine on RewriteCond %{HTTPS} !^on$ [NC] RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L] </Location> </IfModule>
Testen Sie abschließend die Apache-Konfiguration und starten Sie Apache neu:
$ sudo apache2ctl configtest
Syntax OK
$ sudo systemctl restart apache2