Die neuen CPanel-Tarife von Hosteurope bieten in den höherpreisigen Tarifen eine Auto-SSL-Funktion an. Ist diese aktiviert, wird automatisch ein SSL-Zertifikat für die Domain erzeugt und aktuell gehalten. Doch auch wenn Sie den Standard, Deluxe oder Ultimate Tarif gebucht haben, können Sie Ihre Webseite mit SSL absichern. Möglich machen dies Let’s Encrypt, ein kleines Script und der SSH-Zugang, welchen alle Pakete mitbringen.
Hinweis: Dieses Script wurde mit PHP 7.x-Version entwickelt, es funktioniert leider nicht mehr, wenn Sie eine aktuelle PHP 8.x-Version verwenden.
Anpassung des Scriptes
Im ersten Schritt benötigen wir das Script. Dieses können Sie hier herunterladen. Entpacken Sie die ZIP-Datei und bearbeiten Sie die „myletsencrypt.sh“-Datei mit einem Texteditor. Hier bietet sich ein Editor wie Notepad++ an, welcher die Linux-Zeilenenden des Scriptes berücksichtigt und nicht verändert. Verwenden Sie nicht den Editor von Windows.
Tragen Sie Ihre E-Mail-Adresse ein. An diese werden die Zertifikate nach der Erstellung gesendet. Zusätzlich müssen die Ordner und Domains festgelegt werden.
Die Konfiguration der Domains ist in Blöcken unterteilt. Jeder Block enthält den Pfad zur Webseite auf dem Server, sowie die Domainnamen. Tragen Sie die Domainnamen ein, unter welcher die Webseite erreichbar ist. Geben Sie für die Domain auch die „www“-Subdomain mit an.
Das Script gestattet die Erstellung von Zertifikaten für beliebig viele Domains und Subdomains, sofern diese auf dem gleichen Server liegen.
Tipp: Den Pfad zur Webseite können wir mit SSH und dem Linux-Befehl „
pwd
“ schnell ermitteln.
Upload des Scriptes
Nach den Anpassungen laden Sie das Script auf den Webspace. Das Script können Sie im Verzeichnis unterhalb des „public_html„-Verzeichnisses ablegen. Der Verzeichnisname kann frei gewählt werden, im Beispiel verwenden wir „le„.
Ausführen des Scriptes
Für die Erstellung des SSL-Zertifikates müssen wir nun noch das Script „myletsencrypt.sh
“ ausführen. CPanel bringt hier dankenswerterweise ein Terminal mit, welches direkt im Browser läuft. Wechseln Sie im Terminal mit dem Befehl „cd le
“ in das „le“-Verzeichnis.
Das Script müssen Sie noch ausführbar machen. Hierzu geben Sie „chmod +x myletsencrypt.sh
“ ein.
Nun kann es losgehen. Durch Eingabe von „./myletsencrypt.sh
“ starten Sie die Erstellung der Zertifikate.
Im Hintergrund passiert vereinfacht folgendes: das Script teilt Let’s Encrypt mit, dass wir gerne für Domain XY ein SSL-Zertifikat hätten. Der Dienst muss nun prüfen, ob wir berechtigt sind für diese Domain ein Zertifikat anzufordern. Dies passiert durch das Anlegen einer Datei mit bestimmten Inhalt, welchen Let’s Encrypt uns vorgibt, im Ordner „.well-known„. Let’s Encrypt prüft den Inhalt und stellt damit sicher, dass wir die Domain unter unserer Kontrolle haben.
Je nach Anzahl der Domains müssen Sie etwas Geduld mitbringen. Hat alles geklappt, erscheint die Meldung, dass die E-Mail mit den Zertifikaten versendet wurde.
Sollte es zu Fehlermeldungen kommen, prüfen Sie diese. In vielen Fällen sind es Tippfehler in den Pfadangaben zur Webseite oder der Domain. Ein „/bin/sh^M: bad interpreter“ deutet auf fehlerhafte Zeilenenden hin, welche der Editor eingefügt hat. Achten Sie hier auf Linux- bzw. Unix-Zeilenenden (LF).
Zertifikat installieren
Das erstellte Zertifikat wird Ihnen per E-Mail zugeschickt, alternativ liegt es nun auch im Verzeichnis unseres Scriptes und kann mittels FTP oder SFTP heruntergeladen werden. Die E-Mail enthält zwei Dateien, den privaten Schlüssel (cert_private_key.pem) und unser Zertifikat (fullchain.pem).
Speichern Sie beide Dateien auf Ihrer Festplatte ab. Das Zertifikat laden wir nun im CPanel hoch. Klicken Sie auf den Unterpunkt SSL/TLS.
Hier klicken Sie auf den Unterpunkt „SSL-Zertifikate generieren, aufrufen, hochladen oder löschen„. Hier können Sie nun die Zertifikatsdatei hochladen.
Eine Erfolgsmeldung erscheint und das neue Zertifikat wird angezeigt. Klicken Sie nun auf „Installieren“ um das Zertifikat zu installieren.
Wir sind fast am Ziel! Im nächsten Dialog müssen Sie nun den privaten Schlüssel einfügen. Öffnen Sie dazu die „cert_private_key.pem“ mit einem Texteditor, kopieren Sie den Inhalt und fügen Sie ihn in das Textfeld für den privaten Schlüssel ein. Anschließend kann das Zertifikat installiert und aktiviert werden.
Fertig! Das Zertifikat ist aktiv und beim Aufruf Ihrer Webseite sollte das Schloss-Symbol eine SSL-Verbindung signalisieren. Klappt dies nicht gleich, hilft ein beherztes STRG + F5 um den Browser zu aktualisieren.
Aktualisierung des Zertifikates
Die Zertifikate von Let’s Encrypt sind mit einer Gültigkeit von 3 Monaten ausgestattet. Vor Ablauf sollten Sie die Zertifikate erneuern. Dies gelingt zum Glück ohne langwierige Konfiguration. Führen Sie einfach das Script neu aus und Sie erhalten die Zertifikate neu generiert per E-Mail zugesendet. Auch die Einrichtung eines Cronjobs ist möglich. Kommt eine Domain hinzu, fügen Sie diese einfach im Script ein und führen das Script erneut aus. Dies geht zu jedem Zeitpunkt, auch vor Ablauf des Zertifikats.
Viel Erfolg!
- cPanel – Let’s Encrypt Zertifikate generieren und nutzen - 5. Mai 2021