In meinem Blog-Beitrag vom 29. Februar 2016 schilderte ich, wie ein Let‘s-Encrypt-Webseiten-Zertifikat manuell erstellt wird. Doch das manuelle Zertifikate erstellen hat so seine Tücken, wie ich bei den vorangegangenen Versuchen, erneut ein Zertifikat manuell zu erzeugen (Grund: Ablauf des alten Zertifikats in Kürze), feststellen mußte.
Wichtig beim manuellen Zertifikate erzeugen ist der Zugriff auf den Server-Unterordner »…/.well-known/acme-challenge« und die in ihm enthaltenen (eingefügten) Dateien (vgl. Schritte 3 und 4). Der Zugriff kann versagt werden (Fehler!), wie in der nachfolgenden Fehlermeldung nachzulesen ist:
You don't have permission to access ... on this server Server unable to read htaccess file, denying access to be safe Apache Server at ... Port 80
Bei https ist es das Standarport 443. Bedeutsam ist hier, dass es sich um einen 403-Zugriffsfehler handelt; es wird generell der Zugriff verweigert. Die Zugriffsrechte der .htaccess-Datei im Wurzelverzeichnis der Webseite (Startverzeichnis) habe ich mit Filezilla (besser via sftp als ftp) angepasst, indem ich die Benutzerrechte von .htaccess auf den Oktalwert 751 (oder besser (?): 755) eingestellt habe. Wenn das nicht ausreicht, müssen die Rechte der übergeordneten Ordner gleichermaßen angepasst werden (bei »…/acme-challenge« starten).
Um zu überprüfen, ob die Zugriffsrechte richtig eingestellt sind, kann es sich lohnen, eine Hilfedatei einzurichten (Filezilla) wie z. B. text.txt. Mit dem Befehl
curl -i wie-auch-immer-ihre-Seite-heisst.de/.well-known/acme-challenge/test.txt
läßt sich leicht überprüfen (eine Zeile!), wie es von außerhalb mit dem Lesezugriff in dem Ordner so bestellt ist. Meine Textdatei hatte den Inhalt „Hallo Welt„. „Hallo Welt“ wurde neben anderen Dateiinformation wiedergegeben, sobald die Benutzerrechte richtig eingestellt waren.
Nach dem die Installation des Zertifikats schließlich erfolgreich war, habe ich via All In One WordPress Security (ich nutze WordPress) den alten Oktalwert 644 für die Zugriffsrechte von .htaccess eingestellt. Das geht natürlich auch mit Filezilla oder einem anderen gleichwertigen Programm. Möglicherweise war die Installation und Konfiguration von All In One WordPress Security der Grund für die Zugriffsverweigerung auf .htaccess.
Doch bevor ich den Standardwert für .htaccess einstellen konnte, mußte ich noch einen anderen Fehler beseitigen. Die zugehörige Fehlermeldung im Terminal war:
... Press ENTER to continue archive directory exists for ...
Hier galt es, den Archivordner (auf meinem Rechner: /etc/letsencrypt/archive/aufrechtnet) umzubenennen oder zu löschen. Ich entschied mich für ersteres.
* * *
Weitere Beiträge hier bei auf.recht zu Let‘s Encrypt:
- 2016-02-29: „Let’s encrypt“: Wie erzeuge ich manuell einen verschlüsselten sicheren Zugang für ein WordPress-Blog…
- 2016-07-14: „Let’s encrypt“: Das manuelle Zertifikate erstellen unter Ubuntu 14.04 funktioniert immer noch.
- 2016-10-07: „Let’s encrypt“: Let’s Encrypt unter Ubuntu 16.04 [PPA]