Certbot auf Ubuntu - Dein Guide für fehlerfreies HTTPS

Installation von Certbot auf Ubuntu mit Snap. E-Mail-Adresse für Benachrichtigungen wird eingegeben.

Geschrieben von

Enno Wendt

Veröffentlicht am

29. Mai 2026

Inhaltsverzeichnis

Ich setze auf Ubuntu fast immer auf Certbot, wenn ein Server schnell und sauber HTTPS bekommen soll. In diesem Artikel zeige ich, wie ich das Werkzeug installiere, welches Verfahren ich für Apache, Nginx, Webroot oder Standalone nehme, wie die automatische Erneuerung funktioniert und welche Fehler in der Praxis am häufigsten auftreten. So sparst du dir Experimente an der falschen Stelle und kommst direkt zu einem belastbaren SSL-Setup.

Die wichtigsten Punkte für den schnellen Einstieg

  • Auf aktuellen Ubuntu-Systemen ist der Snap-Weg für Certbot meist die pragmatischste Wahl.
  • Für Apache und Nginx reicht oft ein einzelner Befehl, wenn Port 80 erreichbar ist.
  • Wildcard-Zertifikate funktionieren sinnvollerweise nur über DNS-Validierung.
  • Die Erneuerung läuft normalerweise automatisch, ich prüfe sie trotzdem mit einem Dry-Run.
  • Die relevanten Dateien liegen unter /etc/letsencrypt/live/; Webserver sollten direkt darauf zeigen.

Warum Certbot auf Ubuntu in den meisten Fällen der richtige Weg ist

Für öffentliche Websites ist Zertifikatsverwaltung kein Randthema, sondern Basisbetrieb. Let’s Encrypt liefert kostenlose, vertrauenswürdige TLS-Zertifikate, und Certbot nimmt dir den nervigen Teil ab: Validierung der Domain, Ausstellung des Zertifikats und spätere Verlängerung. Technisch läuft das über ACME, also ein Protokoll, das die Domainkontrolle automatisiert nachweist und den gesamten Ablauf standardisiert.

Ich bevorzuge diesen Weg auf Ubuntu aus einem einfachen Grund: Er ist gut dokumentiert, reproduzierbar und für den Alltag robust. Klassisches SSL ist heute eigentlich nur noch ein Sprachgebrauch aus alten Zeiten; praktisch geht es um TLS, also um verschlüsselte und überprüfbare Verbindungen zwischen Browser und Server. Wenn das Setup sauber ist, merkt der Nutzer davon nur das Schloss im Browser - du als Betreiber sparst dir dagegen viel manuelle Pflege.

Wichtig ist aber die Grenze: Certbot löst das Zertifikatsproblem, nicht das Infrastrukturproblem. Wenn DNS falsch zeigt, Port 80 blockiert ist oder der Webserver nicht sauber neu lädt, scheitert die Ausstellung trotzdem. Genau deshalb lohnt sich ein klarer Ablauf statt eines Schnellschusses. Als Nächstes schaue ich deshalb auf die Frage, welcher Installationsweg unter Ubuntu wirklich sinnvoll ist.

Welcher Installationsweg auf Ubuntu sinnvoll ist

Auf Ubuntu gibt es mehrere Wege, Certbot zu betreiben, aber sie sind nicht gleich gut. In der Praxis nehme ich fast immer den Snap, außer eine Umgebung zwingt mich bewusst zu etwas anderem. Der Grund ist simpel: Aktualität, klare Paketgrenzen und eine Erneuerung, die in normalen Setups bereits mitgedacht ist.

Weg Wann ich ihn nehme Stärken Grenzen
Snap Fast immer auf aktuellem Ubuntu Aktuelle Version, saubere Trennung, automatische Erneuerung gut integriert Etwas ungewohnt, wenn man strikt auf klassische Paketverwaltung setzt
APT Wenn Richtlinien Ubuntu-Pakete verlangen Vertrauter Paketfluss, administrativ oft bequem Kann gegenüber Snap hinterherhinken
Standalone Wenn kein Webserver eingebunden werden soll Einfach für einzelne Prüfungen oder Sonderfälle Port 80 muss erreichbar sein, der Dienst darf nicht belegen sein
DNS-01 Für Wildcards oder wenn Port 80 nicht offen ist Sehr flexibel, funktioniert auch ohne eingehenden Webtraffic DNS-Zugriff und ein passendes Plugin oder manuelle DNS-Änderungen nötig

Der offizielle Certbot-Weg auf modernen Linux-Systemen ist für mich daher klar: Snap zuerst, Alternativen nur mit Grund. Das erspart später das Durcheinander, bei dem apt und Snap parallel installiert sind und niemand mehr sicher weiß, welche Binary wirklich läuft. Wenn die Entscheidung steht, geht es an die konkrete Einrichtung.

Installation von Certbot auf Ubuntu mit Snap. E-Mail-Adresse für Benachrichtigungen wird eingegeben.

So richte ich ein Zertifikat auf Ubuntu ein

Bevor ich den ersten Befehl ausführe, prüfe ich drei Dinge: Die Domain zeigt auf den richtigen Server, Port 80 ist von außen erreichbar, und ich habe sudo-Rechte. Ohne diese Basis scheitert die Ausstellung oft an einem Detail, das mit SSL selbst wenig zu tun hat.

Die Installation mit Snap

Auf einem aktuellen Ubuntu-Server sieht der Einstieg meistens so aus:

sudo apt update
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

Der Symlink ist vor allem dann hilfreich, wenn certbot nicht automatisch im PATH liegt. Ich lege ihn bewusst an, weil ich lieber ein eindeutiges Kommando habe als je nach Session unterschiedliche Aufrufe. Danach ist das Werkzeug einsatzbereit.

Apache und Nginx

Wenn der Webserver bereits läuft und die Website über HTTP erreichbar ist, ist der schnellste Weg meistens der beste. Für Apache nutze ich:

sudo certbot --apache

Für Nginx entsprechend:

sudo certbot --nginx

In diesen Fällen kann Certbot die Konfiguration oft direkt anpassen und HTTPS aktivieren. Das ist bequem, aber nicht magisch: Wenn die Serverkonfiguration ungewöhnlich ist, prüfe ich trotzdem jedes Detail nach dem Lauf. Wer lieber selbst an der Konfiguration bleibt, kann mit certonly nur das Zertifikat holen und die Webserver-Dateien von Hand anpassen.

Webroot, wenn ich die Kontrolle behalten will

Bei komplexeren Deployments arbeite ich gern mit Webroot. Dabei legt Certbot die Challenge-Datei in ein bestehendes Verzeichnis, das der Webserver ohnehin ausliefert. Ein typischer Aufruf sieht so aus:

sudo certbot certonly --webroot -w /var/www/html -d example.de -d www.example.de

Das ist sinnvoll, wenn ich die Webserver-Konfiguration nicht automatisch ändern möchte oder wenn mehrere Anwendungen auf demselben Host laufen. Der Nachteil ist klar: Ich muss genau wissen, welches Verzeichnis wirklich ausgeliefert wird. Schon ein falscher Pfad reicht für einen Fehlschlag.

Lesen Sie auch: SSL/TLS-Zertifikate - Der ultimative Leitfaden für sichere Websites

Standalone und DNS-01 für Sonderfälle

Wenn kein Webserver eingebunden werden soll, nutze ich gelegentlich Standalone:

sudo certbot certonly --standalone -d example.de

Das funktioniert aber nur, wenn Port 80 nicht belegt und von außen erreichbar ist. Für Wildcard-Zertifikate wie *.example.de reicht das nicht aus; dafür brauche ich DNS-Validierung. Genau dort liegt der praktische Punkt: Nicht jede Domain lässt sich mit dem gleichen Verfahren sauber lösen, und es ist besser, das früh zu erkennen, als später an einer scheinbar simplen Einrichtung zu hängen. Damit kommen wir zur Frage, die im Betrieb am meisten zählt: Wie bleibt das Zertifikat dauerhaft gültig?

Automatische Erneuerung, ohne später in Zeitdruck zu geraten

Let’s Encrypt-Zertifikate sind kurzlebig, und das ist Absicht. Ich behandle sie deshalb nicht wie ein einmaliges Projekt, sondern wie einen laufenden Prozess. Der richtige Reflex ist nicht, ein Zertifikat nur auszustellen, sondern sofort zu prüfen, ob die Verlängerung wirklich automatisch greift.

Mein Standardtest ist schlicht:

sudo certbot renew --dry-run

Damit simuliere ich die Erneuerung, ohne ein echtes Zertifikat zu verbrauchen oder die Konfiguration unnötig zu verändern. Wenn dieser Test sauber durchläuft, habe ich deutlich mehr Vertrauen in das Setup als nach einem bloßen Erstlauf. Bei Produktionssystemen prüfe ich außerdem, ob ein Timer vorhanden ist, zum Beispiel über systemctl list-timers oder über die üblichen Cron-Einträge.

Die eigentlichen Dateien liegen unter /etc/letsencrypt/live//. Ich zeige Webserver deshalb direkt auf fullchain.pem und privkey.pem statt Zertifikate irgendwohin zu kopieren. Das ist ein Detail mit großer Wirkung: Bei jeder Erneuerung bleiben die Symlinks stabil, und der Webserver bekommt automatisch die neuen Inhalte. Wenn ich einen Dienst mit Reload brauche, hänge ich den nach erfolgreicher Erneuerung per Hook an, damit der neue Schlüssel sofort aktiv wird. Dieser Teil entscheidet im Alltag mehr über Ruhe als jede kosmetische Optimierung an der Konfiguration.

Typische Fehler auf Ubuntu und wie ich sie vermeide

Die meisten Probleme entstehen nicht durch Certbot selbst, sondern durch die Umgebung. Ich habe die häufigsten Ursachen in einer kompakten Übersicht zusammengefasst, weil sie sich in der Praxis ständig wiederholen.

Problem Typische Ursache Was ich dagegen tue
Validierung schlägt fehl Port 80 ist von außen nicht erreichbar oder durch UFW, Security Group oder Provider-Firewall blockiert Port 80 testen, Regeln öffnen und bei Bedarf auf DNS-01 wechseln
Certbot findet die Domain nicht DNS zeigt noch auf einen alten Server oder ein AAAA-Record verweist ins Leere A- und AAAA-Einträge prüfen und erst danach erneut testen
Der falsche Certbot läuft APT- und Snap-Installation existieren parallel Nur einen Installationsweg behalten und which certbot kontrollieren
Erneuerung klappt, aber HTTPS bricht später trotzdem Webserver zeigt auf kopierte Zertifikate statt auf die Dateien unter /etc/letsencrypt/live Konfiguration auf die Live-Pfade umstellen
Wildcard-Zertifikat lässt sich nicht ausstellen HTTP- oder Webroot-Verfahren statt DNS-Validierung verwendet DNS-01 mit passendem Plugin oder manueller DNS-Eintragung nutzen

Gerade der IPv6-Fehler wird oft übersehen: Ein Server kann über IPv4 korrekt erreichbar sein, während ein alter AAAA-Eintrag die Validierung sabotiert. Deshalb prüfe ich DNS immer vollständig, nicht nur den einen Record, der gerade bequem aussieht. Wenn diese Basis stimmt, wird das System deutlich ruhiger. Dann stellt sich nur noch die Frage, in welchen Szenarien ich bewusst einen anderen Weg als den Standard nehme.

Wann ich lieber anders vorgehe

Es gibt Setups, in denen ich Certbot nicht mit der ersten naheliegenden Methode einsetze. Das betrifft vor allem Umgebungen mit Wildcard-Zertifikaten, strikten Netzwerkregeln oder mehreren Diensten hinter einem Reverse Proxy. In diesen Fällen ist die Standardlösung nicht falsch, aber sie ist nicht immer die eleganteste.

  • Wildcard oder viele Subdomains: Ich gehe direkt auf DNS-01, weil HTTP-Validierung hier unnötig umständlich wäre.
  • Port 80 ist gesperrt: Ich wähle DNS-01 oder, wenn das temporär sinnvoll ist, Standalone mit freigegebenem Port.
  • Mehrere Dienste auf einem Host: Ich arbeite oft mit Webroot, damit ich keine Webserver-Konfiguration automatisch anfassen muss.
  • Reverse Proxy oder Load Balancer: Ich plane den Reload der beteiligten Dienste bewusst mit ein, statt darauf zu hoffen, dass alles „schon irgendwie“ aktualisiert wird.

Das ist kein Veto gegen Certbot, sondern eine Frage des richtigen Verfahrens. Je klarer die Umgebung, desto einfacher ist die Entscheidung; je komplexer das Routing, desto eher lohnt sich DNS-01 oder ein bewusst manuell kontrollierter Ablauf. Für produktive Systeme ist genau diese Unterscheidung wichtig, weil sie spätere Überraschungen verhindert.

Die Punkte, die im Betrieb wirklich zählen

Wenn ich ein Zertifikat auf Ubuntu produktiv betreibe, verlasse ich mich nie nur auf die Erstinstallation. Ich prüfe regelmäßig, ob die automatische Verlängerung noch sauber läuft, ob der Webserver auf die Live-Dateien zeigt und ob DNS nach Änderungen wirklich konsistent ist. Zusätzlich halte ich /etc/letsencrypt im Backup, weil dort nicht nur Zertifikate, sondern auch die Konfiguration für die Erneuerung liegt.

Für den Alltag reicht oft eine einfache Routine: einmal ein sauberes Setup, einmal ein erfolgreicher Dry-Run, danach gelegentlich ein Blick auf Ablaufdaten und Logs. Genau so bleibt HTTPS auf Ubuntu stabil, ohne dass du es jeden Monat neu anfassen musst. Wenn du diese Linie konsequent einhältst, ist Certbot kein Basteltool, sondern ein sehr brauchbarer Teil deiner Server-Basis.

Häufig gestellte Fragen

Certbot automatisiert die Beschaffung und Erneuerung kostenloser TLS-Zertifikate von Let's Encrypt. Es vereinfacht die Einrichtung von HTTPS auf deinem Ubuntu-Server erheblich und sorgt für eine sichere Verbindung, ohne manuelle Eingriffe oder Kosten.

Für aktuelle Ubuntu-Systeme ist die Installation via Snap der meistempfohlene Weg. Er bietet die aktuellste Version, saubere Trennung und eine gut integrierte automatische Erneuerung. APT ist eine Alternative, kann aber langsamer aktualisiert werden.

Certbot-Zertifikate sind kurzlebig. Die Erneuerung läuft automatisch über einen System-Timer oder Cron-Job. Du solltest dies regelmäßig mit `sudo certbot renew --dry-run` testen, um sicherzustellen, dass die Verlängerung reibungslos funktioniert.

Oft liegt es an Port 80, der nicht erreichbar oder blockiert ist (Firewall, UFW). Prüfe auch deine DNS-Einträge (A/AAAA). Bei Wildcard-Zertifikaten oder blockiertem Port 80 ist die DNS-01-Validierung die beste Lösung.

Die aktiven Zertifikatsdateien befinden sich unter `/etc/letsencrypt/live//`. Dein Webserver sollte direkt auf `fullchain.pem` und `privkey.pem` in diesem Verzeichnis verweisen, um von automatischen Erneuerungen zu profitieren.

Artikel bewerten

Bewertung: 0.00 Stimmenanzahl: 0

Tags:

certbot ubuntu certbot ubuntu installation certbot apache ssl

Beitrag teilen

Enno Wendt

Enno Wendt

Mein Name ist Enno Wendt und ich arbeite seit 7 Jahren im Bereich IT-Infrastruktur, Web-Technologien und Sicherheit. Mein Interesse an diesen Themen begann früh, als ich die Möglichkeiten erkannte, die Technologie bietet, um Probleme zu lösen und Prozesse zu optimieren. Ich finde es spannend, komplexe technische Zusammenhänge verständlich zu erklären und dabei aktuelle Trends und Entwicklungen im Blick zu behalten. In meinen Beiträgen konzentriere ich mich darauf, nützliche und präzise Informationen bereitzustellen, die sowohl für Fachleute als auch für Einsteiger zugänglich sind. Ich lege großen Wert darauf, meine Quellen sorgfältig zu überprüfen und Informationen zu vergleichen, um sicherzustellen, dass ich meinen Lesern eine klare und fundierte Sichtweise präsentiere. Mein Ziel ist es, Wissen so zu organisieren, dass es leicht verständlich ist und dabei hilft, die Herausforderungen der digitalen Welt zu meistern.

Kommentar schreiben