Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat von Platzhaltern in einem Bitnami-Stack, der auf Amazon Lightsail gehostet wird?

Letzte Aktualisierung: 20.10.2021

Wie installiere ich ein SSL-Zertifikat von Platzhaltern für meine Website in einer Amazon-Lightsail-Instance mit einem Bitnami-Stack?

Kurzbeschreibung

Die folgende Auflösung umfasst die Installation eines Let's-Encrypt-SSL-Zertifikats von Platzhaltern für Websites, die in einer Lightsail-Instance mit einem Bitnami-Stack gehostet werden. Beispiele für diese Instance-Blueprints sind WordPress, LAMP, Magento, MEAN und so weiter. Wenn Sie einen anderen Instance-Blueprint haben oder ein Standardzertifikat installieren möchten, lesen Sie eine der folgenden Informationen:

Standard-Let's-Encrypt-Zertifikate

Informationen zur Installation eines Standard-Let's-Encrypt-Zertifikats auf einer Lightsail-Instance, die keinen Bitnami-Stack verwendet, wie Amazon Linux 2, Ubuntu usw., finden Sie unter Wie installiere ich ein Standard-Let's-Encrypt-SSL-Zertifikat in einer Lightsail-Instance?  

Informationen zur Installation eines Standard-Let‘s-Encrypt-SSL-Zertifikats (kein Platzhalter) in einer Lightsail-Instance mit einem Bitnami-Stack wie WordPress, LAMP, Magento usw. finden Sie unter Wie installiere ich ein Standard-Let's-Encrypt-SSL-Zertifikat in einem auf Amazon Lightsail gehosteten Bitnami-Stack?

Let's-Encrypt-Zertifikate von Platzhaltern (z. B. *.example.com)

Informationen zur Installation eines Let's-Encrypt-Zertifikats von Platzhaltern in einer Lightsail-Instance, die keinen Bitnami-Stack verwendet, wie Amazon Linux 2, Ubuntu usw., finden Sie unter Wie installiere ich ein Let's-Encrypt-SSL-Zertifikat von Platzhaltern in Amazon Lightsail?

Auflösung

Die Schritte zur Installation eines Let's-Encrypt-SSL-Zertifikat von Platzhaltern auf einer von Bitnami gehosteten Lightsail-Instance hängen davon ab, welchen DNS-Anbieter Ihre Domain verwendet. Um festzustellen, welche Methode verwendet werden soll, überprüfen Sie, ob Ihr DNS-Anbieter in der Lego-Dokumentation in DNS-Providern aufgeführt ist. Wählen Sie dann die geeignete Methode aus:

Methode 1: Verwenden Sie das von Bitnami bereitgestellte Lego-Tool, wenn Ihre Domain einen der aufgelisteten DNS-Anbieter verwendet.

Methode 2: Verwenden Sie das Certbot-Paket, wenn Ihre Domain keinen der aufgelisteten DNS-Anbieter verwendet.

Hinweis: Die in diesem Artikel erwähnten Dateipfade können sich ändern, je nachdem, ob Ihr Bitnami-Stack native Linux-Systempakete verwendet (Ansatz A) oder ob es sich um eine eigenständige Installation handelt (Ansatz B). Führen Sie den folgenden Befehl aus, um Ihren Bitnami-Installationstyp zu identifizieren:

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

Methode 1

Zusammen mit dem bncert-Tool bietet Bitnami-Stack das Lego-Tool. Dieses Tool unterstützt die Erstellung von SSL-Zertifikaten von Platzhaltern, während bncert-tool dies nicht tut.

Voraussetzungen und Einschränkungen

  • Die folgenden Schritte betreffen die Installation des Zertifikats auf dem Server. Sie müssen zusätzliche Schritte manuell ausführen, z. B. das Konfigurieren des Webservers für die Verwendung des Zertifikats und das Einrichten der HTTPS-Umleitung.
  • Die Domain muss einen der DNS-Anbieter verwenden, die in den DNS-Anbietern in der Lego-Dokumentation aufgeführt sind.

Hinweis: Im folgenden Beispiel ist der DNS-Anbieter Amazon Route 53 oder Amazon Lightsail. Anweisungen für andere unterstützte DNS-Anbieter finden Sie unter DNS-Anbieter in der Lego-Dokumentation.

1.    Erstellen Sie einen AWS-Identity-and-Access-Management-Benutzer (IAM) mit programmatischem Zugriff. Die Mindestberechtigungen, die an den IAM-Benutzer angehängt werden müssen, damit Lego die DNS-Herausforderung abschließen kann, finden Sie in der Richtlinie in der Lego-Dokumentation.

2.    Führen Sie die folgenden Befehle in der Instance aus, um die Datei /root/.aws/credentials im Nano-Editor zu öffnen.

sudo mkdir /root/.aws
sudo nano /root/.aws/credentials

3.    Kopieren Sie die folgenden Zeilen in die Datei. Speichern Sie die Datei dann, indem Sie Strg+x drücken, dann y und dann die EINGABETASTE drücken.

Ersetzen Sie im folgenden Befehl aws_access_key_id durch die in Schritt 1 erstellte Zugriffsschlüssel-ID. Ersetzen Sie einen aws_secret_access_key durch den in Schritt 1 erstellten geheimen Zugriffsschlüssel.

[default]
aws_access_key_id = AKIA************E
aws_secret_access_key = 1yop**************************l

4.    Wenn Ihre Bitnami-Instance das Verzeichnis /opt/bitnami/letsencrypt/ nicht enthält, können Sie den Lego-Client mithilfe der folgenden Befehle manuell installieren:

cd /tmp
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - -O lego.tar.gz
tar xf lego.tar.gz
sudo mkdir -p /opt/bitnami/letsencrypt
sudo mv lego /opt/bitnami/letsencrypt/lego

5.    Erstellen Sie ein Let's-Encrypt-Zertifikat auf dem Server. Ersetzen Sie E-MAIL-ADDRESSE durch die E-Mail-Adresse, unter der Sie weitere Updates zu Ihrem Zertifikat erhalten möchten. Ersetzen Sie DOMAIN durch Ihren Domain-Namen.

Route-53-Namensserver

sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns route53 --path="/opt/bitnami/letsencrypt" run

Lightsail-Namensserver

sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains"*.DOMAIN" --dns lightsail --path="/opt/bitnami/letsencrypt" run

Nachdem das SSL-Zertifikat erfolgreich generiert wurde, erhalten Sie die Meldung „Server hat mit einem Zertifikat geantwortet“. Das SSL-Zertifikat und der private Schlüssel werden an folgenden Stellen generiert:

/opt/bitnami/letsencrypt/certificates/DOMAIN.crt

/opt/bitnami/letsencrypt/certificates/DOMAIN.key

6.    Verknüpfen Sie das SSL-Zertifikat und die Zertifikatschlüsseldatei mit den Speicherorten, die derzeit von Ihrem Webserver gelesen werden:

Apache unter Ansatz A

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/bitnami/certs/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
sudo /opt/bitnami/ctlscript.sh restart apache

Apache unter Anfahrt B

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old
sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old
sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
sudo /opt/bitnami/ctlscript.sh restart apache

NGINX unter Ansatz A

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
sudo /opt/bitnami/ctlscript.sh restart nginx

NGINX unter Ansatz B

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old
sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old
sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/server.crt
sudo /opt/bitnami/ctlscript.sh restart nginx

7.    Richten Sie die automatische Verlängerung des Zertifikats ein.

Die Let's-Encrypt-Zertifikate sind 90 Tage gültig. Gehen Sie wie folgt vor, um die Verlängerung des Zertifikats so zu automatisieren, dass das Zertifikat automatisch verlängert wird, bevor es abläuft:

Führen Sie den folgenden Befehl aus, um den Crontab-Editor zu öffnen:

sudo crontab -e -u bitnami

Fügen Sie der crontab-Datei die folgenden Zeilen hinzu und speichern Sie die Datei. Ersetzen Sie EMAIL-ADDRESS durch Ihre E-Mail-Adresse, DOMAIN durch Ihren Domainnamen und DNS durch den Namen Ihres Namensserver-Anbieters (Route 53, Lightsail usw.).

0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN"  --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful

8.    Richten Sie die HTTP-Umleitung ein. Weitere Informationen finden Sie in den folgenden Informationen auf der Bitnami-Website:

Methode 2

Voraussetzungen und Einschränkungen

  • Die folgenden Schritte betreffen die Installation des Zertifikats auf dem Server. Sie müssen weiterhin zusätzliche Schritte manuell ausführen, z. B. das Konfigurieren des Webservers für die Verwendung des Zertifikats und das Einrichten der HTTPS-Umleitung.
  • Die automatische Zertifikatserneuerung wird bei dieser Methode nicht unterstützt.

Hinweis: Bevor Sie mit den folgenden Schritten beginnen, installieren Sie Certbot. Installationsanweisungen finden Sie unter Wie installiere ich das Certbot-Paket in meiner Lightsail-Instance für die Installation von Let's-Encrypt-Zertifikaten?

Für Bitnami-gehostete Instances ist die Linux-Distribution entweder Debian oder Ubuntu. Führen Sie folgenden Befehl aus, um zu bestätigen, welche Linux-Distribution Sie haben:

cat /etc/os-release | grep -i ^id

1.    Diese Methode erfordert das Hinzufügen von TXT-Datensätzen im DNS-Anbieter der Domain. Dieser Prozess kann einige Zeit dauern, daher ist es empfehlenswert, die Befehle im Linux-GNU-Bildschirm auszuführen, um ein Timeout der Sitzung zu verhindern. Um eine Bildschirmsitzung zu starten, geben Sie den folgenden Befehl ein:

screen -S letsencrypt

2.    Geben Sie den folgenden Befehl ein, um Certbot im interaktiven Modus zu starten. Dieser Befehl weist Certbot an, eine manuelle Autorisierungsmethode mit DNS-Herausforderungen zu verwenden, um den Domain-Besitz zu überprüfen. Ersetzen Sie example.com durch Ihren Domain-Namen.

sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com

3.    Sie erhalten eine Aufforderung, zu überprüfen, ob Sie die angegebene Domäne besitzen, indem Sie TXT-Einträge zu den DNS-Einträgen für Ihre Domain hinzufügen. Let's Encrypt stellt entweder einen einzelnen oder mehrere TXT-Datensätze zur Verfügung, die Sie zur Überprüfung verwenden müssen.

4.    Wenn Sie einen TXT-Eintrag auf dem Bildschirm sehen, fügen Sie zuerst den bereitgestellten Datensatz in das DNS Ihrer Domain ein. DRÜCKEN SIE NICHT DIE EINGABETASTE, bis Sie bestätigen, dass der TXT-Datensatz an Internet-DNS weitergegeben wird. DRÜCKEN Sie außerdem NICHT STRG+D, da dies die aktuelle Bildschirmsitzung beendet.

5.    Um zu bestätigen, dass der TXT-Datensatz an Internet-DNS weitergegeben wurde, schauen Sie bei DNS Text Lookup nach. Geben Sie den folgenden Text in das Textfeld ein und wählen Sie TXT Lookup, um die Prüfung auszuführen. Ersetzen Sie unbedingt example.com durch Ihre Domain.

_acme-challenge.example.com

6.    Wenn Ihre TXT-Einträge an das DNS des Internets weitergegeben wurden, sehen Sie den TXT-Datensatzwert auf der Seite. Sie können jetzt zum Bildschirm zurückkehren und die EINGABETASTE drücken.

7.    Wenn Sie aus der Shell entfernt werden, können Sie den Befehlsbildschirm -r SESSIONID verwenden. Holen Sie sich die Sitzungs-ID, indem Sie den Befehlsbildschirm -ls ausführen.

8.    Wenn Sie in der Certbot-Eingabeaufforderung aufgefordert werden, einen weiteren TXT-Datensatz hinzuzufügen, führen Sie die Schritte 4-7 erneut aus.

9.    Nachdem das SSL-Zertifikat erfolgreich generiert wurde, erhalten Sie die Meldung „Zertifikat erfolgreich erhalten“. Das Zertifikat und die wichtigsten Dateispeicherorte werden ebenfalls bereitgestellt. Speichern Sie diese Dateispeicherorte zur Verwendung im nächsten Schritt in einem Notizblock.

10.    Nur die Installation und Erneuerung des Zertifikats ist abgeschlossen. Sie müssen Ihren Webserver weiterhin für die Verwendung dieses Zertifikats konfigurieren und die HTTPS-Umleitung einrichten. Verwenden Sie einen der folgenden Befehlsätze, um Ihren Webserver für die Verwendung des Zertifikats zu konfigurieren.

Apache unter Ansatz A

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old
sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.key
sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crt
sudo /opt/bitnami/ctlscript.sh restart apache

Apache unter Anfahrt B

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old
sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old
sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key
sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo /opt/bitnami/ctlscript.sh restart apache

NGINX unter Ansatz A

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key
sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt
sudo /opt/bitnami/ctlscript.sh restart nginx

NGINX unter Ansatz B

Ersetzen Sie in den folgenden Beispielbefehlen den Platzhalter DOMAIN durch Ihren Domain-Namen.

sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old
sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old
sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key
sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt
sudo /opt/bitnami/ctlscript.sh restart nginx

8.    Richten Sie die HTTP-Umleitung ein. Weitere Informationen finden Sie in den folgenden Informationen auf der Bitnami-Website:


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?