Für Apache 2.4: "Apachectl graceful" (aka "reload") lädt die Zertifikate für mich neu (getestet mit Ubuntu 16.04 mit 2.4.18-2ubuntu3). Der Vorbehalt: Es gibt eine Menge Informationen im Internet, die sagen, Apache benötigt einen vollständigen Neustart statt eines Neuladens, um neue Zertifikate zu akzeptieren. Da für mich ein anmutiges Nachladen ausreichend war würde ich sagen, dass es möglich ist, vielleicht sogar wahrscheinlich, dass für ältere Apache-Versionen einmal mehr als ein Nachladen benötigt wurde?
Sie könnten ein Skript erstellen, das zuerst die Erneuerung des Zertifikats durchführt und dann apachectl anmutig. Oder eben 2 Cronjobs, wo die apachectl anmutig nach dem certbot cronjob passiert.
Dieses Problem ist nicht so schlimm, aber IMHO: Letsencrypt wird die Zertifikate bis zu 30 Tage vor Ablauf erneuern. Persönlich starte ich meine Server öfter neu, weil mein wöchentliches ubuntu-autoupdater in "/etc/apt/apt.conf.d/50unattended-upgrades" mit "Unattended-Upgrade :: Automatic-Reboot" ";" und die Chance, dass es kein Update gibt, das es für volle 30 Tage neu starten will, ist ziemlich niedrig.
Wenn Sie keine Neustarts wünschen, müssen Sie Ihre anderen Dienste überprüfen (Postfix, Dovecot kommen Ihnen in den Sinn, wenn Sie Mail auf dem Server haben), was sie benötigen, um ein neues Zertifikat zu akzeptieren Ihr Skript, das "certbot renew" startet.
Nach einiger Zeit bekomme ich diese Antwort. Aber jetzt bekomme ich einige Probleme: Ich will meine Webseiten nicht über HTTP. Und Webroot muss die Herausforderung über HTTP durchführen. Kennen Sie eine alternative Möglichkeit, die Herausforderung mithilfe von HTTPS auszuführen, ohne Apache zu stoppen oder neu zu starten? –
@HugoFonseca Wenn ich Ihre Frage richtig verstehe, sollte es möglich sein, nur HTTP-Verbindungen zu den temporären Dateien in $ {webroot-path} /. Well-known/acme-challenge zuzulassen, während HTTPS für den Rest Ihrer Site weiterhin benötigt wird . Ich kann mir einige Möglichkeiten vorstellen, dies in der Server-Konfiguration zu tun, vielleicht ist die einfachste Regel eine URL-Rewrite-Regel in einer .htaccess-Datei. Es hängt davon ab, wie Sie HTTPS für den Rest Ihrer Site erzwingen wollen, aber im Wesentlichen würden Sie nur eine Ausnahme für dieses Verzeichnis erstellen. –