SSL Zertifikat · 6 min read · Sep 24, 2025

Sichern von ISPConfig 3.1 mit einem kostenlosen Let's Encrypt SSL-Zertifikat

WICHTIG: Dieser Leitfaden ist nicht mit ISPConfig 3.2 und neueren Versionen kompatibel, da ISPConfig 3.2 und neuere Versionen Let’s Encrypt für alle Dienste integriert haben. Das Let’s Encrypt SSL-Zertifikat wird während der Installation automatisch konfiguriert, sodass es nicht mehr erforderlich ist, Let’s Encrypt manuell für einen Dienst zu konfigurieren.

Autor: ahrasis

Dieses Tutorial zeigt, wie man ein kostenloses Let’s Encrypt SSL-Zertifikat für die ISPConfig-Oberfläche (Port 8080), das E-Mail-System (Postfix und Dovecot/Courier), den FTP-Server (pure-ftpd) und Monit erstellt und konfiguriert. Die Befehle in diesem Tutorial wurden auf Ubuntu 16.04 getestet, sie sollten auch für Debian funktionieren. Bestimmte Anpassungen können erforderlich sein, um es auf CentOS zum Laufen zu bringen.

Hilfe zu diesem Leitfaden ist in diesem Forenthread verfügbar.

Erstellen einer Website mit ISPConfig Server-Hostname FQDN

Erstellen Sie eine Website für Ihren Server im ISPConfig-Panel über Sites > Website > Neue Website hinzufügen. Denken Sie daran! Dies ist Ihre Server-Website und muss daher Ihren vollständig qualifizierten Domainnamen (FQDN) enthalten. Ich werde es in diesem Leitfaden als hostname -f bezeichnen.

hostname -f

Hoffentlich funktioniert es auch ohne Änderungen an Ihrem Server.

Zugriff auf die ISPConfig-Website online

Überprüfen Sie, ob Ihre Server-Website bereit und online zugänglich ist, da Let’s Encrypt überprüfen muss, ob Ihre Website zugänglich ist, bevor es den SSL-Schlüssel, das Zertifikat und die Ketten-Datei für Ihre Server-Website ausstellt. Sie müssen auch die DNS-Zone erstellen und deren ordnungsgemäße Verbreitung zulassen, da Let’s Encrypt dies ebenfalls überprüfen muss.

Aktivieren von SSL für das ISPConfig 3 Control Panel (Port 8080)

Wenn Sie SSL während der ISPConfig-Installation nicht aktiviert haben, d.h. für das Control Panel auf Port 8080, aktivieren Sie es, indem Sie ispconfig_update.sh im Terminal eingeben und für SSL auf Ja wählen. Wir benötigen dies nicht als richtigen Schlüssel, noch wollen wir ihn behalten, aber wir möchten schneller arbeiten, daher können wir einfach für alle Felder eingeben. Wenn Sie dies abgeschlossen haben, sollte das selbstsignierte SSL bereits für Ihr ISPConfig aktiviert sein.

Überprüfen von SSL für das ISPConfig 3 Control Panel (Port 8080)

Überprüfen Sie Ihren Browser, um zu bestätigen, indem Sie das ISPConfig-Control-Panel auf Port 8080 öffnen. Beachten Sie, dass Sie in diesem Stadium möglicherweise eine Warnung erhalten, da die erstellten SSL-Dateien selbstsigniert sind, aber der Browser wird bestätigen, dass Ihr ISPConfig SSL aktiviert hat oder nicht.

Sichern der ISPConfig-Website mit Let’s Encrypt SSL

Wenn das oben Genannte erledigt ist, gehen Sie zurück zu ISPConfig-Panel > Sites > Website > Website-Name, klicken Sie dann auf die Kontrollkästchen SSL und Let’s Encrypt und speichern Sie - um Let’s Encrypt SSL-Dateien zu erstellen und sie für Ihre Server-Website zu aktivieren. Wenn erfolgreich, sollte Ihre Server-Website jetzt diese Let’s Encrypt SSL-Dateien verwenden, jedoch nicht Ihre ISPConfig 8080-Seite. Wenn nicht erfolgreich, können Sie nicht weiter fortfahren, also überprüfen Sie die Protokolldatei auf einen Hinweis.

Ändern des ISPConfig 3 Control Panels (Port 8080)

Wenn LE SSL bereits funktioniert, gehen Sie zu Ihrem Server-Terminal, wechseln Sie mit sudo su zu root und verwenden Sie den folgenden Befehl, um die erstellten selbstsignierten SSL-Dateien mit Let’s Encrypt SSL-Dateien zu sichern und zu ersetzen.

cd /usr/local/ispconfig/interface/ssl/  
mv ispserver.crt ispserver.crt-$(date +"%y%m%d%H%M%S").bak  
mv ispserver.key ispserver.key-$(date +"%y%m%d%H%M%S").bak  
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak  
ln -s /etc/letsencrypt/live/$(hostname -f)/fullchain.pem ispserver.crt  
ln -s /etc/letsencrypt/live/$(hostname -f)/privkey.pem ispserver.key  
cat ispserver.{key,crt} > ispserver.pem  
chmod 600 ispserver.pem
  • Wenn Sie ispserver.pem zuvor nicht erstellt haben, können Sie die dritte Zeile ignorieren, die darauf abzielt, die vorhandene, falls vorhanden, als Backup umzubenennen.
  • Beachten Sie, dass wir den Let’s Encrypt Live-Ordner anstelle des Archivordners verwenden.
  • Beachten Sie auch die letzte Zeile, in der ispserver.pem durch Kombinieren von Dateien erstellt wird, daher wird es nicht automatisch von Let’s Encrypt erneuert, im Gegensatz zu anderen Dateien, die wir lediglich verlinkt haben, daher werden wir uns in diesem letzten Teil dieses Leitfadens darum kümmern.
  • Beachten Sie auch, dass Sie entweder hostname -f oder server1.example.com eingeben, da das Ergebnis dasselbe ist, weil hostname -f server1.example.com ist.

Verwendung derselben Let’s Encrypt SSL-Zertifikate für andere wichtige Dienste

Als zusätzliche Tipps, basierend auf der Sicherung Ihrer ISPConfig 3-Installation, möchten Sie möglicherweise Symlinks zu ispserver.key oder .crt oder .pem verwenden, anstatt direkt auf die Let’s Encrypt SSL-Dateien für Postfix, Dovecot, Courier, pure-FTPd und Monit zu verweisen. Für Dovecot, wenn es bereits die Postfix-SSL-Dateien verwendet, können Sie es sicher ignorieren. Im Detail müssen Sie nur Folgendes tun:

a. Für Postfix

cd /etc/postfix/  
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak  
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak  
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert  
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key  
service postfix restart  
service dovecot restart

b. Für Dovecot: (* Hinweis, dies sollte nicht zusammen mit Courier existieren)

Überprüfen Sie, ob dieser Code existiert, indem Sie nano /etc/dovecot/dovecot.conf verwenden.

[...]  
ssl_cert = 

Lassen Sie sie so, wie sie sind, wenn sie existieren. Andernfalls beheben Sie sie. In jedem Fall ist service dovecot restart bereits oben behandelt.

c. Für Courier: (* Hinweis, dies sollte nicht zusammen mit Dovecot existieren)

cd /etc/courier/  
mv imapd.pem imapd.pem-$(date +"%y%m%d%H%M%S").bak  
mv pop3d.pem pop3d.pem-$(date +"%y%m%d%H%M%S").bak  
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem imapd.pem  
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pop3d.pem  
service courier-imap-ssl stop  
service courier-imap-ssl start  
service courier-pop-ssl stop  
service courier-pop-ssl start

d. Für pure-FTPd:

cd /etc/ssl/private/  
mv pure-ftpd.pem pure-ftpd.pem-$(date +"%y%m%d%H%M%S").bak  
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem  
chmod 600 pure-ftpd.pem  
service pure-ftpd-mysql restart

e. Für Monit: (Wenn Sie es auf Ihrem Server installiert haben)

nano /etc/monit/monitrc

Fügen Sie den oben erstellten Symlink zu ispserver.pem, den wir für pure-ftpd erstellt haben, auch hier hinzu:

[...]  
set httpd port 2812 and  
SSL ENABLE  
PEMFILE /etc/ssl/private/pure-ftpd.pem  
allow admin:'secretpassword'  
[...]

Und starten Sie Monit neu:

service monit restart

Erstellen eines automatischen Erneuerungsskripts für Ihre ISPConfig Pem-Datei (ispserver.pem)

In diesem letzten Schritt, den ich bisher in keinem Leitfaden gefunden habe, geht es um das automatische Update von ispserver.pem, wie bereits angedeutet. Derzeit muss es manuell geändert werden, direkt nachdem Let’s Encrypt Ihre Server-SSL-Dateien automatisch erneuert hat. Um dies nicht zu übersehen, möchten Sie möglicherweise incron installieren, wie im entsprechenden incron-Tutorial vorgeschlagen, und ein Skript erstellen, um Ihre ispserver.pem-Datei automatisch zu aktualisieren, wie folgt:

Installieren Sie über den Terminalbefehl incron, erstellen Sie dann die Skriptdatei und bearbeiten Sie sie mit nano:

apt install -y incron  
nano /etc/init.d/le_ispc_pem.sh

Fügen Sie dies in die le_ispc_pem.sh ein:

#!/bin/sh  
### BEGIN INIT INFO  
# Provides: LE ISPSERVER.PEM AUTO UPDATER  
# Required-Start: $local_fs $network  
# Required-Stop: $local_fs  
# Default-Start: 2 3 4 5  
# Default-Stop: 0 1 6  
# Short-Description: LE ISPSERVER.PEM AUTO UPDATER  
# Description: Aktualisiert ispserver.pem automatisch, nachdem die ISPC LE SSL-Zertifikate erneuert wurden.  
### END INIT INFO  
cd /usr/local/ispconfig/interface/ssl/  
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak  
cat ispserver.{key,crt} > ispserver.pem  
chmod 600 ispserver.pem  
chmod 600 /etc/ssl/private/pure-ftpd.pem  
service pure-ftpd-mysql restart  
service monit restart  
service postfix restart  
service dovecot restart  
service nginx restart
  • Beachten Sie, dass einige Leute Monit nicht installieren, sodass sie es sicher entfernen können. Passen Sie das obige Skript entsprechend an.
  • Für Multi-Server-Setups beziehen Sie sich auf Beitrag #203 und fügen Sie den gegebenen SCP-Code hier hinzu, um zukünftige Updates zu automatisieren.

Wir machen es dann ausführbar, fügen root als erlaubten Benutzer für incrontab hinzu und bearbeiten dann die incrontab-Datei:

chmod +x /etc/init.d/le_ispc_pem.sh  
echo "root" >> /etc/incron.allow  
incrontab -e

Fügen Sie diese Zeile in die incrontab ein:

/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.sh

Neustart Ihrer Dienste

Ich denke, das ist alles für die Sicherung Ihres Servers mit Let’s Encrypt. Sie möchten möglicherweise anschließend Ihren Webserver neu starten.

service nginx restart

Denken Sie daran: Wenn Sie Apache verwenden, ändern Sie nginx entsprechend in apache2.

LE4ISPC

Als Alternative möchten Sie möglicherweise das LE4ISPC-Skript verwenden, das für diesen Zweck erstellt wurde und sowohl nginx als auch apache2 von ISPConfig bis pure-ftpd oben unterstützt, mit Ausnahme von Monit. Bevor Sie es verwenden, sollten Sie die oben genannten Schritte (1-5) bereits abgeschlossen haben und:

  1. Die Website für Ihren Server über ISPConfig erstellt haben;
  2. Die Website online zugänglich ist;
  3. ISPConfig SSL aktiviert (über Installation oder Update);
  4. LE SSL erfolgreich für die Website aktiviert wurde.
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.