Apache mit Let’s Encrypt unter Ubuntu absichern
Um Apache unter Ubuntu mit Let’s Encrypt abzusichern, installieren Sie Certbot, richten einen Apache Virtual Host für Ihre Domain ein, führen sudo certbot --apache aus, verbessern die TLS-Konfiguration und prüfen, ob Zertifikate automatisch erneuert werden. Nach Abschluss dieser Schritte können Besucher die Website über HTTPS mit einem vertrauenswürdigen Zertifikat aufrufen, das von Let’s Encrypt ausgestellt wurde. Let’s Encrypt ist eine gemeinnützige Zertifizierungsstelle, die von der Internet Security Research Group (ISRG) betrieben wird.
Let’s Encrypt stellt kostenlose domainvalidierte TLS-Zertifikate (DV) bereit. Certbot ist der empfohlene ACME-Client für Ubuntu. Das Programm fordert Zertifikate an, bestätigt die Kontrolle über die angegebene Domain und konfiguriert Apache so, dass die Website sicher über HTTPS bereitgestellt werden kann.
Diese Anleitung eignet sich für Ubuntu 22.04 LTS, Ubuntu 24.04 LTS (Noble Numbat) und Ubuntu 26.04 LTS (Resolute Raccoon) mit Apache 2.4. Die Einrichtung verwendet einen eigenen Virtual Host, anstatt sich ausschließlich auf die Standard-Website von Apache zu verlassen. Wenn Ihr Server noch Ubuntu 20.04 verwendet, nutzen Sie eine entsprechende Anleitung für Ubuntu 20.04.
Die Website kann auf einer beliebigen virtuellen Cloud-Maschine betrieben werden, während die benötigten DNS-Einträge über das Verwaltungsinterface Ihres Hosting- oder DNS-Anbieters eingerichtet werden können.
Versionshinweis: Die in dieser Anleitung verwendeten Befehle wurden unter Ubuntu 22.04, 24.04 und 26.04 LTS mit Apache-Paketen aus den Standard-Repositories geprüft. Ubuntu 26.04 LTS wurde im April 2026 veröffentlicht. Certbot wird gemäß den EFF-Anweisungen über snap installiert und nicht über die ältere Methode apt install certbot. Automatische Erneuerungen werden über einen systemd-Timer ausgeführt, bei einer Snap-Installation von Certbot üblicherweise über snap.certbot.renew.timer.
Wichtige Punkte
- Installieren Sie Certbot mit
sudo snap install --classic certbotund stellen Sie sicher, dass/snap/bin/certbotüber IhrenPATHerreichbar ist. - Bevor Sie
sudo certbot --apacheausführen, prüfen Sie, ob der Apache Virtual Host die korrekten Werte fürServerNameundServerAliasenthält. - Erlauben Sie HTTPS-Verbindungen über UFW mit
sudo ufw allow 'Apache Full'und entfernen Sie das eingeschränktere ProfilApache, wenn es nicht mehr benötigt wird. - Let’s-Encrypt-Zertifikate sind 90 Tage gültig. Certbot versucht eine Erneuerung, sobald weniger als 30 Tage Restlaufzeit verbleiben.
- Verbessern Sie die TLS-Sicherheit über
/etc/apache2/mods-available/ssl.confoder eine separate Konfigurationsdatei, indem Sie TLS 1.0 und TLS 1.1 deaktivieren, OCSP Stapling einschalten und HSTS übermod_headerskonfigurieren. - Testen Sie die Zertifikatserneuerung mit
sudo certbot renew --dry-run. Falls ein Fehler auftritt, prüfen Sie/var/log/letsencrypt/letsencrypt.log. - Für Zertifikatsanfragen gelten Beschränkungen. Prüfen Sie die Let’s-Encrypt-Limits, darunter beispielsweise die Begrenzung auf 50 Zertifikate pro registrierter Domain und Woche.
- Unter Ubuntu 26.04 LTS werden weiterhin dieselbe Snap-basierte Certbot-Installation und die üblichen Apache-Verzeichnisse verwendet. Prüfen Sie installierte Versionen mit
lsb_release,apache2 -vundopenssl version.
So funktioniert die Zertifikatsausstellung mit Let’s Encrypt
Die folgende Abfolge zeigt vereinfacht, wie die Ausstellung eines Let’s-Encrypt-Zertifikats funktioniert.
- Ein Browser ruft
https://your_domainauf. - Apache liefert das unter
/etc/letsencrypt/live/your_domain/gespeicherte Zertifikat aus. - Beim ersten Start von Certbot erstellt das Programm entweder eine temporäre Challenge-Ressource oder nutzt das Apache-Plugin, um über Port 80 nachzuweisen, dass die Domain kontrolliert wird.
- Die Let’s-Encrypt-ACME-API stellt anschließend das Zertifikat aus. Die privaten Schlüssel verbleiben auf Ihrem Server; Let’s Encrypt speichert Ihren privaten Schlüssel nicht.
- Ein systemd-Timer führt zweimal täglich
certbot renewaus und erneuert geeignete Zertifikate, bevor sie ablaufen.
Sofern kein DNS-basiertes Validierungs-Plugin verwendet wird, wie es beispielsweise für Wildcard-Zertifikate erforderlich ist, muss eingehender Datenverkehr auf Port 80 den Server erreichen können, damit die HTTP-01-Validierung funktioniert.
Voraussetzungen
Bevor Sie mit dieser Anleitung beginnen, sollten folgende Voraussetzungen erfüllt sein:
- Ein Server mit Ubuntu 22.04, 24.04 oder 26.04 LTS, auf dem ein Nicht-Root-Benutzer mit sudo-Rechten und eine geeignete Firewall eingerichtet sind. Wenn Sie eine neue virtuelle Cloud-Maschine erstellen und die neueste hier genannte LTS-Version einsetzen möchten, wählen Sie ein Ubuntu-26.04-LTS-Image.
- Eine registrierte Domain. In dieser Anleitung wird your_domain als Platzhalter verwendet.
- DNS-A-Records für
your_domainundwww.your_domain, die auf die öffentliche IP-Adresse des Servers zeigen. Richten Sie diese Einträge bei Ihrem DNS-Anbieter ein. - Eine Apache-Installation mit einem eigenen Virtual Host unter
/etc/apache2/sites-available/your_domain.conf. - Optional UFW als Firewall des Servers.
Ubuntu- und Apache-Umgebung überprüfen
Bevor Sie Zertifikate installieren oder erneuern, sollten Sie mehrere Prüfungen auf dem Server durchführen. Mit den folgenden Befehlen lässt sich feststellen, ob eine der unterstützten LTS-Versionen verwendet wird und Apache verfügbar ist.
Ubuntu-Version überprüfen
lsb_release -ds
Die Ausgabe sollte beispielsweise Ubuntu 22.04.x LTS, Ubuntu 24.04.x LTS oder Ubuntu 26.04.x LTS entsprechen.
Apache-Version prüfen
Kontrollieren Sie, ob Apache installiert ist, und notieren Sie die vorhandene Version. Paketrevisionen können sich durch Sicherheits- oder Wartungsupdates jederzeit ändern.
apache2 -v
Die erste Zeile einer aktuellen LTS-Installation kann beispielsweise folgendermaßen aussehen:
Server version: Apache/2.4.58 (Ubuntu)
Unter Ubuntu 22.04 oder 26.04 kann der Wert abweichen. Sie können das installierte Paket über die Ubuntu-Paketsuche mit der jeweiligen Suite vergleichen: jammy, noble oder resolute.
OpenSSL-Version überprüfen
TLS 1.2 und TLS 1.3 benötigen OpenSSL 1.1.1 oder neuer. Ubuntu 22.04 und spätere Versionen enthalten OpenSSL 3.x.
openssl version
Prüfen, ob Apache läuft
sudo systemctl is-active apache2
Als Ausgabe wird active erwartet. Falls Apache noch nicht installiert wurde, installieren Sie den Webserver, bevor Sie fortfahren. Das Verfahren mit apt install apache2 gilt ebenso für Ubuntu 24.04 und 26.04.
| Ubuntu LTS | Codename | Ungefähre Apache-Version in den Standard-Repositories |
|---|---|---|
| 22.04 | Jammy | 2.4.52 oder neuer |
| 24.04 | Noble | 2.4.58 oder neuer |
| 26.04 | Resolute | 2.4.x; führen Sie apache2 -v auf Ihrem Server aus |
Eine konkrete Apache-Paketrevision für Ubuntu 26.04 wird hier bewusst nicht festgelegt, da Sicherheitsupdates die Build-Kennung verändern können. Maßgeblich ist die Ausgabe von apache2 -v auf der tatsächlich eingesetzten virtuellen Maschine.
Schritt 1: Certbot unter Ubuntu installieren
Für Ubuntu 22.04, 24.04 und 26.04 empfiehlt das Certbot-Projekt die Installation über snap anstelle der Certbot-Pakete aus den regulären apt-Repositories.
snapd und Certbot installieren
Aktualisieren Sie zunächst den Paketindex und installieren Sie snapd. Auf einigen minimalen Server- oder Cloud-Images ist das Paket bereits vorhanden.
sudo apt update
sudo apt install snapd -y
Aktualisieren Sie die Snap-Core-Laufzeit, bevor Certbot installiert wird. Dies wird insbesondere für neu bereitgestellte Server mit Ubuntu 22.04, 24.04 und 26.04 empfohlen.
sudo snap install core
sudo snap refresh core
Entfernen Sie ältere Certbot-Pakete, die über apt installiert wurden, damit stattdessen die Snap-Version genutzt wird.
sudo apt remove certbot python3-certbot-apache 2>/dev/null || true
Installieren Sie Certbot über Snap.
sudo snap install –classic certbot
Erstellen Sie den empfohlenen symbolischen Link, damit der Befehl certbot normal aufgerufen werden kann.
sudo ln -sf /snap/bin/certbot /usr/bin/certbot
Überprüfen Sie die installierte Certbot-Version.
certbot –version
Es sollte eine Certbot-Versionsnummer erscheinen. Da Snap das Paket aktualisiert, kann sich die konkrete Versionsnummer im Laufe der Zeit ändern.
Prüfen Sie zusätzlich, ob das Apache-Plugin verfügbar ist.
sudo certbot plugins
In der Plugin-Liste sollte ein Eintrag apache vorhanden sein.
snap list certbot
systemctl list-timers –all | grep -i certbot
Bei einer Snap-Installation erscheint snap.certbot.renew.timer häufig nach der ersten erfolgreichen Ausführung von certbot --apache.
Hinweise zu Ubuntu 26.04 LTS
Ubuntu 26.04 LTS (Resolute Raccoon) verwendet weiterhin dieselben wichtigen Pfade und Werkzeuge wie Ubuntu 22.04 und 24.04. Dazu gehören /etc/apache2/, a2ensite, apachectl configtest sowie das UFW-Profil Apache Full. Certbot speichert Zertifikate weiterhin unter /etc/letsencrypt/.
Wenn beim Aufruf von certbot unerwartet eine andere Installation gestartet wird, ermitteln Sie alle verfügbaren Certbot-Binärdateien.
which -a certbot
Entfernen Sie veraltete apt-Pakete und behalten Sie den symbolischen Link /usr/bin/certbot bei, der auf /snap/bin/certbot verweist.
Schritt 2: Apache Virtual Host überprüfen
Certbot wertet die Direktiven ServerName und ServerAlias innerhalb eines Apache Virtual Hosts aus, um zu bestimmen, welche Hostnamen in das Zertifikat aufgenommen werden können.
Öffnen Sie die Konfigurationsdatei der Website.
sudo nano /etc/apache2/sites-available/your_domain.conf
Stellen Sie sicher, dass die folgenden Direktiven im Abschnitt <VirtualHost *:80> vorhanden sind.
ServerName your_domain
ServerAlias www.your_domain
Aktivieren Sie bei Bedarf die Website und das Apache-SSL-Modul und laden Sie Apache anschließend neu.
sudo a2ensite your_domain.conf
sudo a2enmod ssl
sudo systemctl reload apache2
Überprüfen Sie vor jedem Neuladen die Syntax der Apache-Konfiguration.
sudo apachectl configtest
Die gewünschte Ausgabe lautet Syntax OK. Beheben Sie alle Konfigurationsfehler, bevor Apache neu geladen wird.
sudo systemctl reload apache2
Schritt 3: HTTPS in der Firewall freigeben
Wenn UFW aktiviert ist, erlauben Sie HTTP- und HTTPS-Verbindungen über das Anwendungsprofil Apache Full.
Prüfen Sie zunächst die aktuell eingerichteten Firewall-Regeln.
sudo ufw status
Falls lediglich das Profil Apache für Port 80 zugelassen ist, aktivieren Sie das umfassendere Profil.
sudo ufw allow ‚Apache Full‘
Wenn die ursprüngliche Regel nur für HTTP nicht mehr erforderlich ist, entfernen Sie sie.
sudo ufw delete allow ‚Apache‘
Kontrollieren Sie anschließend die resultierende Firewall-Konfiguration.
sudo ufw status
| UFW-Profil | Geöffnete Ports | Typischer Zweck |
|---|---|---|
| Apache | 80/tcp | Nur HTTP-Verkehr |
| Apache Full | 80/tcp, 443/tcp | HTTP- und HTTPS-Verkehr |
| Apache (v6) / Apache Full (v6) | Dieselben Ports über IPv6 | Server mit IPv4 und IPv6 |
Die HTTP-01-Zertifikatserneuerung ist weiterhin auf Port 80 angewiesen. Dieser Port sollte deshalb auch nach der erfolgreichen HTTPS-Einrichtung erreichbar bleiben.
Schritt 4: Let’s-Encrypt-SSL-Zertifikat anfordern
Starten Sie Certbot mit der Apache-Integration.
sudo certbot –apache
Certbot fragt mehrere Angaben ab:
- Eine E-Mail-Adresse, über die Sicherheits- und Erneuerungshinweise empfangen werden können.
- Die Zustimmung zum Let’s Encrypt Subscriber Agreement.
- Eine optionale Entscheidung zur Teilnahme an der EFF-Mailingliste.
- Die Hostnamen, die im Zertifikat enthalten sein sollen, normalerweise
your_domainundwww.your_domain.
Bei erfolgreicher Ausführung kann die Ausgabe ungefähr wie im folgenden Beispiel aussehen. Die tatsächlichen Ablaufdaten und Dateipfade hängen von der jeweiligen Installation ab.
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your_domain/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your_domain/privkey.pem
This certificate expires on YYYY-MM-DD.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for your_domain to /etc/apache2/sites-available/your_domain-le-ssl.conf
Successfully deployed certificate for www.your_domain to /etc/apache2/sites-available/your_domain-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://your_domain and https://www.your_domain
Öffnen Sie https://your_domain in einem Browser. Der Browser sollte über die Anzeige für eine sichere Verbindung beziehungsweise das Schlosssymbol bestätigen, dass ein gültiges Zertifikat verwendet wird.
Speicherorte der Zertifikatsdateien
| Pfad | Zweck |
|---|---|
/etc/letsencrypt/live/your_domain/fullchain.pem |
Das Domainzertifikat zusammen mit der Zwischenzertifikatskette; Apache verweist normalerweise über SSLCertificateFile auf diese Datei. |
/etc/letsencrypt/live/your_domain/privkey.pem |
Der private Schlüssel, der über SSLCertificateKeyFile verwendet wird. |
/etc/letsencrypt/live/your_domain/cert.pem |
Das Domainzertifikat ohne zusätzliche Zwischenzertifikatskette. |
/etc/letsencrypt/live/your_domain/chain.pem |
Die Zwischenzertifikatskette. |
/etc/letsencrypt/live/your_domain/README |
Von Certbot bereitgestellte Informationen. |
/etc/letsencrypt/renewal/your_domain.conf |
Die Erneuerungskonfiguration des Zertifikats. |
Die Dateien im Verzeichnis live/ sind symbolische Links. Bei einer Zertifikatserneuerung aktualisiert Certbot deren Zielpfade.
Weitere Hintergrundinformationen zu privaten Schlüsseln und Certificate Signing Requests finden Sie in einer OpenSSL-Anleitung zu SSL-Zertifikaten, Schlüsseln und CSRs.
Website mit SSL Labs testen
Nachdem Sie die TLS-Härtung aus Schritt 5 durchgeführt haben, können Sie die Domain mit dem SSL Labs Server Test prüfen und eine externe Bewertung erhalten.
Schritt 5: TLS und HTTP-Sicherheitsheader härten
Certbot aktiviert HTTPS, zusätzliche Konfigurationen können jedoch veraltete Protokolle deaktivieren und stärkere HTTP-Sicherheitsheader bereitstellen.
Apache-Headers-Modul aktivieren
sudo a2enmod headers
SSL-Protokolle und Cipher Suites konfigurieren
Öffnen Sie die Konfigurationsdatei des Apache-SSL-Moduls.
sudo nano /etc/apache2/mods-available/ssl.conf
Fügen Sie die folgenden Direktiven hinzu oder passen Sie vorhandene Einträge entsprechend an. Die Kommentare erläutern den jeweiligen Zweck.
# Allow TLS 1.2 and TLS 1.3 while turning off SSLv3, TLS 1.0, and TLS 1.1.
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# Use modern AEAD cipher suites and let Apache negotiate an appropriate option with the client.
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
# Let clients choose cipher preference, which is suitable for TLS 1.3.
SSLHonorCipherOrder off
# Turn on OCSP stapling so Apache can include revocation information during the TLS handshake.
SSLUseStapling on
SSLStaplingCache „shmcb:${APACHE_RUN_DIR}/ssl_stapling(32768)“
| Protokoll | Apache 2.4 unter Ubuntu 22.04, 24.04 und 26.04 | Hinweise |
|---|---|---|
| TLS 1.3 | Mit OpenSSL 3.x unter Ubuntu 22.04 und neuer verfügbar | Wird von aktuellen Clients verwendet |
| TLS 1.2 | Unterstützt | Eine verbreitete Mindestversion für produktive Websites |
| TLS 1.1 und älter | Durch die oben gezeigte SSLProtocol-Direktive deaktiviert |
Das Abschalten dieser Versionen kann die Bewertung durch SSL Labs verbessern |
Ubuntu 24.04 stellt über die Standard-Repositories häufig Apache 2.4.58 bereit, während Ubuntu 22.04 Apache 2.4.52 oder eine neuere Revision enthält. Unter 26.04 können Sie mit apache2 -v die installierte Version prüfen und auf packages.ubuntu.com die Paket-Suite resolute kontrollieren.
HSTS und weitere Sicherheitsheader hinzufügen
Bearbeiten Sie den von Certbot erzeugten SSL Virtual Host. Der Dateiname endet üblicherweise auf -le-ssl.conf.
sudo nano /etc/apache2/sites-available/your_domain-le-ssl.conf
Fügen Sie die folgenden Direktiven innerhalb des Abschnitts <VirtualHost *:443> ein.
# Tell browsers to require HTTPS for one year and extend the rule to subdomains.
Header always set Strict-Transport-Security „max-age=31536000; includeSubDomains“
# Reduce the risk of MIME-type sniffing.
Header always set X-Content-Type-Options „nosniff“
# Limit frame embedding unless the application requires a different policy.
Header always set X-Frame-Options „SAMEORIGIN“
Überprüfen Sie die Apache-Konfiguration und laden Sie den Dienst anschließend neu.
sudo apachectl configtest
sudo systemctl reload apache2
Certbot richtet üblicherweise eine Weiterleitung von HTTP auf HTTPS ein. Prüfen Sie, ob http://your_domain auf eine https://-Adresse weiterleitet. Apache-Weiterleitungen können bei Bedarf auch manuell eingerichtet werden.
Schritt 6: Automatische Zertifikatserneuerung überprüfen
Let’s-Encrypt-Zertifikate laufen nach 90 Tagen ab. Certbot installiert einen systemd-Timer, der zweimal täglich kontrolliert, ob Zertifikate für eine Erneuerung infrage kommen.
Bei Snap-basierten Installationen können Sie den üblicherweise verwendeten Erneuerungstimer prüfen.
sudo systemctl status snap.certbot.renew.timer
Falls diese Unit nicht vorhanden ist, überprüfen Sie den alternativen Timer.
sudo systemctl status certbot.timer
Alternativ können Sie die vollständige Timer-Liste nach Certbot-bezogenen Einträgen durchsuchen.
systemctl list-timers | grep -i certbot
Führen Sie anschließend eine simulierte Erneuerung durch.
sudo certbot renew –dry-run
Ein erfolgreicher Test kann beispielsweise folgende Meldung ausgeben:
Congratulations, all simulated renewals succeeded:
/etc/letsencrypt/live/your_domain/fullchain.pem (success)
Wenn die Zertifikatserneuerung fehlschlägt
- Prüfen Sie
sudo less /var/log/letsencrypt/letsencrypt.log. - Stellen Sie sicher, dass Port 80 aus dem öffentlichen Internet erreichbar ist, sowohl über die Server-Firewall als auch über gegebenenfalls vorgeschaltete Infrastruktur-Firewalls.
- Kontrollieren Sie, ob die DNS-Einträge der Domain weiterhin auf den aktuellen Server zeigen.
- Nachdem Sie das Problem behoben haben, führen Sie
sudo certbot renew --dry-runerneut aus.
Let’s Encrypt verschickt Hinweise zum Ablauf eines Zertifikats an die dafür registrierte E-Mail-Adresse. In produktiven Umgebungen sollte E-Mail jedoch nicht die einzige Methode zur Überwachung der Zertifikatserneuerung sein.
Häufige Probleme mit Let’s Encrypt und Apache beheben
Fehler bei der Domainvalidierung
- DNS-Änderungen wurden noch nicht vollständig übernommen: Führen Sie
dig +short your_domain Aaus und vergleichen Sie die ausgegebene Adresse mit der öffentlichen IP-Adresse des Servers. - Der falsche Virtual Host wird verwendet: Der Wert von
ServerNamemuss mit der über Certbot angeforderten Domain übereinstimmen. - Port 80 ist blockiert: Die HTTP-01-Validierung benötigt eingehende TCP-Verbindungen auf Port 80. Prüfen Sie sowohl vorgeschaltete Firewall-Regeln als auch UFW.
Apache-Fehler nach der Ausführung von Certbot
Führen Sie sudo apachectl configtest aus. Certbot verändert Konfigurationsdateien unter /etc/apache2/sites-available/. Falls erforderlich, stellen Sie eine Sicherung wieder her oder führen Sie sudo certbot --apache erneut aus, nachdem Probleme wie ein fehlerhafter ServerName korrigiert wurden.
Fehler durch Zertifikatslimits
Let’s Encrypt verwendet Beschränkungen für Zertifikatsanfragen. Das angegebene Limit für Zertifikate pro registrierter Domain liegt bei 50 pro Woche; prüfen Sie für aktuelle Werte die offizielle Dokumentation. Wenn ein Limit erreicht wurde, warten Sie, bis das entsprechende Zeitfenster zurückgesetzt wurde, oder verwenden Sie während Tests die Staging-Umgebung.
sudo certbot –apache –staging
Zertifikate aus der Staging-Umgebung werden von gewöhnlichen Browsern nicht als vertrauenswürdig anerkannt und sollten ausschließlich zu Testzwecken eingesetzt werden.
Firewall verhindert die Zertifikatserneuerung
Die Standardkonfiguration für Erneuerungen nutzt weiterhin die HTTP-01-Validierung über Port 80. Behalten Sie deshalb das Firewall-Profil Apache Full bei oder erlauben Sie ausdrücklich sowohl 80/tcp als auch 443/tcp.
Let’s Encrypt im Vergleich zu kostenpflichtigen Zertifizierungsstellen
| Faktor | Let’s Encrypt | Kostenpflichtige Zertifizierungsstelle |
|---|---|---|
| Kosten | Kostenlos | Üblicherweise jährliche Zertifikatsgebühr oder Abonnement |
| Validierung | Domainvalidierung (DV) | DV-, OV- oder EV-Validierung kann verfügbar sein |
| Zertifikatslaufzeit | 90 Tage mit automatischer Erneuerung | Oft ungefähr ein Jahr |
| Wildcard-Zertifikate | Über eine DNS-01-Challenge verfügbar | Verfügbar und möglicherweise mit kommerzieller Unterstützung |
| Support | Dokumentation und Community-Unterstützung | Kann Anbieter-SLAs und telefonischen Support umfassen |
| Typischer Einsatz | Öffentliche Websites, APIs und Home-Lab-Umgebungen | Unternehmensrichtlinien, EV-Anforderungen oder Umgebungen mit kommerziellem Supportbedarf |
Let’s Encrypt eignet sich besonders, wenn: Sie den Server selbst verwalten, die Zertifikatserneuerung automatisiert ist und ein gewöhnliches domainvalidiertes HTTPS-Zertifikat Ihre Anforderungen erfüllt.
Eine kostenpflichtige Zertifizierungsstelle kann sinnvoll sein, wenn: eine Organisation OV- oder EV-Validierung, bestimmte Compliance-Unterlagen oder einen kommerziellen Supportvertrag benötigt.
Das CA/Browser Forum hat kürzere maximale Zertifikatslaufzeiten innerhalb der Branche diskutiert. Die automatisierte Erneuerung mit Certbot bleibt unter Ubuntu auch bei zukünftigen Änderungen der Zertifikatslaufzeiten eine praktische Vorgehensweise. Verfolgen Sie den Let’s-Encrypt-Blog für entsprechende Richtlinienänderungen.
Häufig gestellte Fragen zu Let’s Encrypt, Apache und Ubuntu
Die folgenden Fragen behandeln typische Themen rund um Let’s Encrypt, Ubuntu und Apache.
1. Wie verwendet man Let’s Encrypt mit Apache unter Ubuntu?
Installieren Sie Certbot über Snap, konfigurieren Sie den Apache-ServerName, erlauben Sie Verbindungen über die Ports 80 und 443 und führen Sie sudo certbot --apache aus. Certbot ruft das Zertifikat ab und passt die Apache-Konfiguration an. Anschließend übernimmt ein systemd-Timer die regelmäßigen Erneuerungsprüfungen.
2. Wie aktiviert man SSL in Apache2 unter Ubuntu?
Aktivieren Sie mod_ssl mit sudo a2enmod ssl, beschaffen Sie ein Zertifikat und konfigurieren Sie einen Virtual Host, der HTTPS über Port 443 bereitstellt. Wenn das Apache-Plugin von Certbot verwendet wird, erstellt es normalerweise eine Datei mit dem Namen your_domain-le-ssl.conf.
3. Wie aktiviert man TLS 1.2 in Apache2?
Fügen Sie SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 in /etc/apache2/mods-available/ssl.conf ein. Auf aktuellen Ubuntu-Systemen bleiben dadurch TLS 1.2 und TLS 1.3 verfügbar. Führen Sie sudo apachectl configtest aus, bevor Sie die Änderungen mit sudo systemctl reload apache2 übernehmen.
4. Ist Let’s Encrypt wirklich kostenlos?
Ja. Let’s Encrypt erhebt keine Gebühren für seine Zertifikate. Der Dienst wird von der gemeinnützigen ISRG betrieben. Weitere Informationen finden Sie in den Let’s Encrypt FAQ. Die Zertifikatslimits gelten dennoch.
5. Wie lange ist ein Let’s-Encrypt-Zertifikat gültig?
Die Standardlaufzeit beträgt 90 Tage. Certbot versucht eine Erneuerung, sobald weniger als 30 Tage bis zum Ablauf verbleiben. Mit sudo certbot renew --dry-run können Sie überprüfen, ob die automatische Erneuerung auf dem Server korrekt funktioniert.
Fazit
Sie haben Certbot über Snap installiert, mit der Apache-Integration ein Let’s-Encrypt-Zertifikat angefordert, HTTPS-Verkehr über UFW zugelassen, die TLS-Konfiguration verbessert und die automatische Zertifikatserneuerung unter Ubuntu überprüft. Die Website kann nun vertrauenswürdiges HTTPS für your_domain bereitstellen.
Wenn Ihr Server statt Apache Nginx verwendet, können Sie die entsprechende Vorgehensweise für die Absicherung von Nginx mit Let’s Encrypt unter Ubuntu verwenden. In lokalen Umgebungen, in denen keine öffentlich vertrauenswürdige Zertifizierungsstelle erforderlich ist, kann für Apache-Tests auch ein selbstsigniertes SSL-Zertifikat eingesetzt werden.
Zu den offiziellen Quellen gehören die Certbot-Dokumentation und die Let’s-Encrypt-Dokumentation.
Nächste Schritte
- Erstellen Sie eine neue virtuelle Cloud-Maschine mit Ubuntu 26.04 LTS und wenden Sie dasselbe Verfahren auf dem neuen Server an.
- Installieren Sie einen vollständigen LAMP-Stack unter Ubuntu. Die für Ubuntu 22.04 verwendeten Apache- und
apt-Schritte lassen sich in ähnlicher Form auch unter 24.04 und 26.04 verwenden. - Richten Sie die erforderlichen DNS-Einträge auf den Server aus und verwenden Sie bei Bedarf eine verwaltete Anwendungsplattform, wenn Sie automatische TLS-Verwaltung ohne eigene Certbot-Wartung bevorzugen.
- Lesen Sie Getting Started with Let’s Encrypt, um weitere Informationen zu ACME-Konzepten außerhalb von Apache zu erhalten.
Betreiben Sie Apache auf einer virtuellen Cloud-Maschine mit Snapshot- und Monitoring-Funktionen, damit Konfigurationsänderungen zurückgesetzt werden können, falls sie HTTPS-Probleme verursachen.
Beschäftigen Sie sich weiter mit Compute, Storage, Netzwerken, verwalteten Datenbanken und weiteren Cloud-Infrastrukturdiensten.
Mehr über Cloud-Infrastrukturprodukte erfahren.


