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
![]()