Problem:
Certbot (mit der Option --authenticator webroot) kann wegen fehlendem Zugriff auf das Verzeichnis /.well-known/acme-challenge/ keine SSL-Zertifikate erstellen oder aktualisieren.
certbot --authenticator webroot --installer apache
oder
certbot --authenticator webroot --webroot-path /path/to/your/webroot --installer apache -d mydomain.ch -d www.mydomain.ch
Ursache:
Neuere ISPConfig-Versionen haben in ihrer Apache-Config-Datei (normalerweise: /etc/apache2/sites-available/ispconfig.conf) einen Alias-Eintrag auf das /.well-known/acme-challenge/-Verzeichnis eingetragen:
Alias /.well-known/acme-challenge /usr/local/ispconfig/interface/acme/.well-known/acme-challenge
<Directory /usr/local/ispconfig/interface/acme/.well-known/acme-challenge>
Require all granted
<IfModule mpm_itk_module>
AssignUserId www-data www-data
</IfModule>
</Directory>
Dies ermöglicht zwar den Zugriff auf das Verzeichnis vom Webbrowser aus, jedoch nicht über das Dateisystem.
Lösung:
Erstellen Sie einen Symlink für das Verzeichnis .well-known im Web-Root Ihrer Website auf den in der oben genannten ispconfig.conf eingetragenen Pfad.
Beispiel (wenn Sie noch gar kein .well-known-Verzeichnis haben, ansonsten kann auch nur das Unterverzeichnis acme-challenge entsprechend verlinkt werden):
ln -s /usr/local/ispconfig/interface/acme/.well-known .well-known
Damit sollte Certbot dann auch über das Dateisystem auf den korrekten Pfad zugreifen und die Zertifikate erstellen können.