Tipp: Du kannst für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass du nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen musst.

Bist du auf der Suche nach sehr guten, leistungsstarken und günstigen VPS?
Ich miete meinen vServer seit 5 Jahren bei Contabo und kann Contabo wirklich sehr empfehlen!
  1. Falls du es noch nicht getan hast, lade das Programm "PuTTY" herunter.
  2. Verbinde dich mithilfe von PuTTY via SSH mit deinem Root- oder vServer. Hierfür öffnest du PuTTY und gibst im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse deines Servers ein. Klicke anschließend unten auf "OK".
  3. Füge die für die Installation des Certbots benötigten Debian Backports-Paketquelle hinzu. Der Installationsbefehl lautet wie folgt:
    Für Debian 8: "echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list"
    Für Debian 9: "echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list"
  4. Aktualisiere nun deine Paketlisten mit dem Befehl "apt-get update".
  5. Installiere jetzt möglicherweise verfügbare Updates der auf deinem Server bereits installieren Pakete mit dem Befehl "apt-get upgrade -y".
  6. Installiere die Software "certbot". Diese benötigst du, um SSL-Zertifikate zu beantragen und zu erneuern. Außerdem kann der Certbot diese SSL-Zertifikate auch automatisch in deine Webserver-Konfiguration (z.B. Apache2) einbinden. Der Installationsbefehl lautet:
    Für Debian 8: "apt-get install python-certbot-apache -t jessie-backports -y"
    Für Debian 9: "apt-get install python-certbot-apache -t stretch-backports -y"
  7. Es gibt verschiedene Möglichkeiten, um SSL-Zertifikate zu beantragen und die Inhaberschaft der Domains zu bestätigen. Wenn du z.B. einen Apache2-Webserver verwendest, kannst du die Zertifikate nach der Ausstellung auf Wunsch auch automatisch in die Apache2-Konfiguration einbinden lassen. Hierbei wird der Apache2-Webserver auch für die Verifizierung der Domain-Inhaberschaft verwendet. Eine andere Methode ist der Standalone-Webserver, welcher vom Certbot für die Dauer der Verifizierung (i.d.R. nur wenige Sekunden) bereitgestellt wird. Bei dieser Variante musst du die Zertifikatsdateien am Ende selbst einbinden.
  8. Variante 1 - Automatisches Beantragen und Konfigurieren (Apache2-Webserver):
    1. Beantrage das SSL-Zertifikat mit folgendem Befehl: "certbot --authenticator webroot --installer apache". Du kannst mit den Parametern "-w" und "-d" bereits hier die Domains angeben. Wenn du nichts weiter angibst, wirst du interaktiv nach den Domains und den dazugehörigen Web-Verzeichnissen (für die Domain-Verifizierung) gefragt. Möchtest du z.B. ein SSL-Zertifikat für die Domain testdomain.de sowie die Subdomain www.testdomain.de beantragen und liegt das Web-Verzeichnis dieser Domain unter "/var/www/html/testdomain.de", so würde der Befehl inkl. aller notwendigen Angaben wie folgt lauten: "certbot --authenticator webroot --installer apache -w /var/www/html/testdomain.de -d testdomain.de -d www.testdomain.de"
    2. Wenn du den Certbot-Befehl zum ersten Mal ausführst, musst du dich bei Let's Encrypt registrieren. Gib hierzu deine E-Mail Adresse an und bestätige die Eingabe mit Enter.
    3. Bei der ersten Certbot-Nutzung musst du zudem den Buchstaben "A" eingeben und Enter drücken, um zu bestätigen, dass du die Lizenzbedingungen akzeptierst.
    4. Nun wirst du - ebenfalls nur bei erstmaliger Nutzung - gefragt, ob du dich bei einer Art Newsletter der Electronic Frontier Foundation anmelden möchtest. Falls ja, gib den Buchstaben "Y" ein, falls nicht, verwende den Buchstaben "N". Drücke anschließend erneut Enter.
    5. Wenn du über die Parameter "-d" und "-w" noch keine Domains und Webverzeichnisse angegeben hast, wird nun automatisch nach Domains gesucht und diese werden angezeigt (nummeriert). Gib nun die Ziffern der Domain(s) ein, für die du ein SSL-Zertifikat beantragen möchtest (bei mehreren Domains durch ein Komma getrennt). Wurden keine Domains gefunden, dann gib die Domains nun selbst ein (ebenfalls mit Kommatrennung).
    6. Du wirst daraufhin für jede ausgewählte Domain nach dem dazugehörigen Web-Verzeichnis für die Domain-Verifizierung gefragt. Wenn du mehrere Domains ausgewählt hast, kannst du nach der Eingabe eines Web-Verzeichnisses bei den folgenden Domains entweder wieder das gleiche wählen oder ein anderes angeben. Nutze hierzu die Ziffern, welche dir vor den jeweiligen Optionen angezeigt werden (1 = neues Verzeichnis angeben).
    7. Hinweis: Wenn du bei einem SSL-Zertifikatsantrag mehrere Domains auswählst, wird nur ein Zertifikat beantragt und ausgestellt, welches alle angegebenen Domains beinhaltet. Der Dateiname dieses Zertifikats ist hierbei der als erstes ausgewählte Domainname.
    8. Nun wirst du noch gefragt, ob alle HTTP-Anfragen automatisch zur HTTPS-Variante der jeweiligen URL umgeleitet werden sollen. Möchtest du dies, dann gib die Zahl 2 ein und drücke Enter. Verwende andernfalls die Zahl 1.
    9. Das SSL-Zertifikat wurde nun erfolgreich ausgestellt und in der Apache2-Konfiguration eingebunden. Im Verzeichnis "/etc/letsencrypt/live/" gibt es für jede Domain ein Unterverzeichnis. Dort befinden sich alle wichtigen Dateien (SSL-Zertifikat, Private-Key usw.), falls du sie benötigst.
  9. Variante 2 - Nur Zertifikatsdatei beantragen (ohne automatische Webserver-Konfiguration):
    1. Beantrage das SSL-Zertifikat mit folgendem Befehl: "certbot certonly --authenticator standalone". Du kannst mit dem Parameter "-d" bereits hier die Domains angeben. Wenn du nichts weiter angibst, wirst du interaktiv nach den Domains gefragt. Wenn du z.B. bereits einen Apache2-Webserver hast, muss dieser vorher jedoch gestoppt werden, damit der Web-Port frei ist. Der Certbot kann den Apache2-Webserver automatisch vor der Beantragung stoppen und danach wieder starten, indem du "--pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2"" an den Befehl anhängst. Möchtest du also z.B. ein SSL-Zertifikat für die Domain testdomain.de sowie die Subdomain www.testdomain.de beantragen und hast bereits einen Apache2-Webserver, so würde der Befehl inkl. aller notwendigen Angaben wie folgt lauten: "certbot certonly --authenticator standalone -d testdomain.de -d www.testdomain.de --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2""
    2. Wenn du den Certbot-Befehl zum ersten Mal ausführst, musst du dich bei Let's Encrypt registrieren. Gib hierzu deine E-Mail Adresse an und bestätige die Eingabe mit Enter.
    3. Bei der ersten Certbot-Nutzung musst du zudem den Buchstaben "A" eingeben und Enter drücken, um zu bestätigen, dass du die Lizenzbedingungen akzeptierst.
    4. Nun wirst du - ebenfalls nur bei erstmaliger Nutzung - gefragt, ob du dich bei einer Art Newsletter der Electronic Frontier Foundation anmelden möchtest. Falls ja, gib den Buchstaben "Y" ein, falls nicht, verwende den Buchstaben "N". Drücke anschließend erneut Enter.
    5. Wenn du über den Parameter "-d" noch keine Domains angegeben hast, wirst du nun nach den Domains gefragt. Gib die Domain(s) ein, für die du das SSL-Zertifikat beantragen möchtest (bei mehreren Domains durch ein Komma getrennt).
    6. Hinweis: Wenn du bei einem SSL-Zertifikatsantrag mehrere Domains auswählst, wird nur ein Zertifikat beantragt und ausgestellt, welches alle angegebenen Domains beinhaltet. Der Dateiname dieses Zertifikats ist hierbei der als erstes ausgewählte Domainname.
    7. Das SSL-Zertifikat wurde nun erfolgreich ausgestellt und befindet sich im Verzeichnis "/etc/letsencrypt/live/". Dort gibt es für jede Domain ein Unterverzeichnis, worin sich wiederum alle wichtigen Dateien befinden (SSL-Zertifikat, Private-Key usw.).
  10. Da die SSL-Zertifikate von Let's Encrypt nur eine Gültigkeit von 90 Tagen besitzen, musst du sie regelmäßig erneuern. Dies passiert automatisch, wenn du den Befehl "certbot renew" ausführst. Es ist jedoch empfohlen, hierfür einen Cronjob anzulegen, sodass die Zertifikate automatisch erneuert werden. Der Befehl des Cronjobs (z.B. täglich oder wöchentlich um 0 Uhr) würde in diesem Fall "/usr/bin/certbot renew -q" lauten.