GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Let’s Encrypt SSL in Apache unter Debian 11

Let’s Encrypt ist eine Zertifizierungsstelle, die kostenlose SSL-Zertifikate für Websites bereitstellt. Es wurde 2014 mit dem Ziel eingeführt, dass alle Websites sicher und HTTP-fähig sind.

Neben dem Angebot von SSL-Zertifikaten hilft es auch bei der Implementierung und automatischen Erneuerung von Zertifikaten. Let’s Encrypt ist die weltweit größte Zertifizierungsstelle, die von mehr als 250 Millionen Websites verwendet wird.

Beim Schreiben dieses Beitrags unterstützt Let’s Encrypt die automatische Installation von Zertifikaten auf Apache, Nginx, Plex und Haproxy.

Hier sehen wir, wie Sie das Let’s Encrypt SSL-Zertifikat in Apache unter Debian 11 installieren.

Voraussetzungen

Apache-Webserver installieren

Ich empfehle Ihnen, den Apache-Webserver auf Ihrem System zu installieren, bevor Sie fortfahren.

LESEN: So installieren Sie den LAMP-Stack unter Debian 11

ODER

Verwenden Sie das apt Befehl, um den Apache-Webserver zu installieren.

sudo apt updatesudo apt install -y apache2

Module aktivieren

Verwenden Sie den folgenden Befehl, um SSL zu aktivieren und Module neu zu schreiben.

sudo a2enmod ssl umschreiben

Virtualhost erstellen

Zuerst müssen wir einen virtuellen Apache-Host erstellen, um die HTTP-Version Ihrer Website bereitzustellen.

sudo nano /etc/apache2/sites-available/www.itzgeek.net.conf

Verwenden Sie die folgende Konfiguration für Ihre Website. Denken Sie daran, die Werte entsprechend Ihren Anforderungen zu ändern. Wenn Sie die Subdomain www nicht verwenden, können Sie den ServerAlias entfernen .

 Servername itzgeek.net Serveralias www.itzgeek.net ServerAdmin [email protected] DocumentRoot /var/www/html/www.itzgeek.net ErrorLog ${APACHE_LOG_DIR}/www.itzgeek.net_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek.net_access.log kombiniert /var/www/html/www.itzgeek.net> Optionen FollowSymlinks AllowOverride All Erfordert alle gewährten 

Nachdem Sie die Konfigurationsdatei des virtuellen Hosts erstellt haben, aktivieren Sie die Site.

sudo a2ensite www.itzgeek.net

Erstellen Sie als Nächstes ein Stammverzeichnis für die Dateien Ihrer Website.

sudo mkdir -p /var/www/html/www.itzgeek.net/

Ändern Sie dann den Eigentümer und die Gruppe des Verzeichnisses.

sudo chown -R www-data:www-data /var/www/html/www.itzgeek.net/

Platzieren Sie abschließend die Test-HTML-Datei im Dokumentenstammverzeichnis der Website.

echo "Dies ist eine Testseite @ www.itzgeek.net" | sudo tee /var/www/html/www.itzgeek.net/index.html

Starten Sie den Apache-Dienst neu, um die Konfigurationen erneut zu lesen.

sudo systemctl apache2 neu laden

DNS-Eintrag erstellen/aktualisieren

Um ein SSL-Zertifikat von Let’s Encrypt zu generieren, müssen Sie Ihre Domain auf Ihre Server-IP verweisen. Gehen Sie also zu Ihrem Domain-Registrar und erstellen Sie einen A/CNAME-Eintrag für Ihre Domain. Das folgende Bild zeigt beispielsweise den A/CNAME-Datensatz für die Domain www.itzgeek.net.

HINWEIS:Nachdem Sie Änderungen am DNS-Eintrag vorgenommen haben, müssen Sie abhängig von der TTL, die Sie für den DNS-Eintrag festgelegt haben, einige Minuten bis Stunden warten.

Installieren Sie das SSL-Zertifikat von Let’s Encrypt in Apache

Certbot installieren

Der Certbot ACME-Client übernimmt die Ausstellung und Installation von Zertifikaten ohne Ausfallzeiten. Es ist als Snap-Paket für das Debian-Betriebssystem verfügbar. Installieren Sie also zuerst das Snapd-Paket.

sudo apt updatesudo apt install -y snapd

Aktualisieren Sie dann den Snapd auf die neueste Version.

sudo snap install core; sudo snap refresh core

Installieren Sie schließlich den Certbot-Client mit dem Snap-Befehl und verknüpfen Sie ihn, sodass Sie den Certbot-Befehl von überall aus aufrufen können, unabhängig vom aktuellen Arbeitsverzeichnis.

sudo snap install --classic certbotsudo ln -s /snap/bin/certbot /usr/bin/certbot

Installieren Sie das Let’s Encrypt-Zertifikat

Verwenden Sie den Befehl certbot, um ein Let’s Encrypt-Zertifikat zu erstellen und Apache für die Verwendung des Zertifikats zu konfigurieren.

sudo certbot --apache

Sie müssen der interaktiven Eingabeaufforderung folgen und das Zertifikat installieren. Da ich sowohl für itzgeek.net als auch für www.itzgeek.net einen virtuellen Host erstellt habe, muss ich auch SSL-Zertifikate für beide Domains installieren. Dann werde ich den gesamten Datenverkehr über Rewrite-Regeln auf www.itzgeek.net umleiten.

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logE-Mail-Adresse eingeben (wird für dringende Erneuerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected] < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https:// letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server zu registrieren. Stimmen Sie zu?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/( N)o:J < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, sobald Ihr erstes Zeugnis vorliegt erfolgreich ausgestellt, um Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Neuigkeiten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:N < Konto registriert. Für welche Namen möchten Sie HTTPS aktivieren?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:itzgeek.net2:www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechenden Zahlen, getrennt durch Kommas und/oder Leerzeichen, oder lassen Sie die Eingabe leer, um alle angezeigten Optionen auszuwählen (geben Sie „c“ ein, um abzubrechen):1,2 < Anfordern eines Zertifikats für itzgeek.net und www.itzgeek.netZertifikat erfolgreich erhalten.Zertifikat wird gespeichert unter:/etc/letsencrypt/live/itzgeek.net/fullchain.pemSchlüssel wird gespeichert unter:/etc/letsencrypt/live/itzgeek.net/ privkey.pemDieses Zertifikat läuft am 21.01.2022 ab. Diese Dateien werden aktualisiert, wenn das Zertifikat erneuert wird. Certbot hat eine geplante Aufgabe eingerichtet, um dieses Zertifikat automatisch im Hintergrund zu erneuern. apache2/sites-available/www.itzgeek.net-le-ssl.confZertifikat für www.itzgeek.net erfolgreich in /etc/apache2/sites-available/www.itzgeek.net-le-ssl.conf bereitgestelltHerzlichen Glückwunsch! Sie haben HTTPS erfolgreich auf https://itzgeek.net und https://www.itzgeek.net aktiviert- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wenn Sie Certbot mögen, erwägen Sie bitte, unsere Arbeit zu unterstützen, indem Sie:* Spende an ISRG / Let's Encrypt:https://letsencrypt.org/donate * Spende an EFF:https:/ /eff.org/donate-le- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Sobald Sie HTTPS für Ihre Domain aktivieren, platziert der Certbot-Client die erforderlichen Umschreibungsregeln, um den Datenverkehr von HTTP auf die HTTPS-Site umzuleiten.

In meinem Fall wurden zwei Regeln für die folgenden Weiterleitungen platziert.

  1. http://itzgeek.net>> https://itzgeek.net
  2. http://www.itzgeek.net>> https://www.itzgeek.net

Wie Sie sehen können, wird die erste Umleitung nicht auf die www-HTTPS-Version der Domain erreicht. Daher müssen Sie möglicherweise den folgenden Abschnitt befolgen, um es einzurichten.

Nicht-www-HTTP-Anfragen mit Apache auf www-HTTPS umleiten

Möglicherweise möchten Sie den Apache-Webserver so konfigurieren, dass er den Datenverkehr von der Nicht-www-HTTP-Site auf die WWW-HTTPS-Site umleitet, d. h. http://itzgeek.net>> https://www.itzgeek.net .

Bearbeiten Sie die virtuelle SSL-Hostdatei von Let’s Encrypt (nicht Ihre ursprüngliche virtuelle Hostdatei).

sudo nano /etc/apache2/sites-available/www.itzgeek.net-le-ssl.conf

Fügen Sie die folgenden Regeln vor </VirtualHost> hinzu . Ändern Sie den Domänennamen gemäß Ihren Anforderungen.

 # Umleitung von NON-WWW HTTP auf WWW HTTPS RewriteEngine auf RewriteCond %{SERVER_NAME} =itzgeek.net RewriteRule ^ https://www.itzgeek.net %{REQUEST_URI} [END,NE,R=permanent]1,L]

Starten Sie dann den Apache-Dienst neu.

sudo systemctl reset apache2

Verifizieren Sie das Let’s Encrypt-Zertifikat

Sie können das Let’s Encrypt-Zertifikat überprüfen, indem Sie Ihre Website besuchen.

http://Ihre-http-Website

ODER

https://Ihre-https-Website

Sie sollten jetzt die HTTPS-Version Ihrer Website erhalten.

SSL-Zertifikat testen

Testen Sie Ihr SSL-Zertifikat von Let’s Encrypt auf Probleme und seine Sicherheitsbewertungen, indem Sie zur folgenden URL gehen.

https://www.ssllabs.com/ssltest/analyze.html?d=www.itzgeek.net

Let’s Encrypt-Zertifikat erneuern

Wie Sie wissen, haben Let’s Encrypt-Zertifikate eine Gültigkeit von 90 Tagen, und Sie müssen sicherstellen, dass sie rechtzeitig erneuert werden. Der Verlängerungsprozess ist jetzt automatisiert und dank des vom Certbot-Client bereitgestellten systemd-Dienstes. Sie müssen sie also nicht manuell erneuern.

Es wird jedoch empfohlen, Zertifikatserneuerungen zu testen, indem Sie die automatische Erneuerung von SSL-Zertifikaten simulieren, indem Sie den folgenden Befehl ausführen.

sudo certbot renew --dry-run

Ausgabe:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.log- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Verarbeitung /etc/letsencrypt/renewal/itzgeek.net.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Konto registriert. Simulieren der Erneuerung eines bestehenden Zertifikats für itzgeek.net und www.itzgeek.net- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzlichen Glückwunsch, alle simulierten Verlängerungen waren erfolgreich:/etc/letsencrypt/live/itzgeek.net/fullchain.pem (Erfolg)- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Wenn die Ausgabe bestätigt, dass die Testverlängerung erfolgreich war, erfolgt die automatische Verlängerung wie erwartet.

Schlussfolgerung

Das ist alles. Ich hoffe, Sie haben gelernt, wie Sie das Let’s Encrypt SSL-Zertifikat in Apache unter Debian 11 installieren.


Debian
  1. So installieren Sie Apache unter Debian 9

  2. So installieren Sie Apache Cassandra unter Debian 9

  3. So installieren Sie Apache Maven unter Debian 10

  4. So installieren Sie Apache Maven unter Debian 11

  5. So installieren Sie Let’s Encrypt SSL mit Apache unter Debian 11

So installieren Sie Apache Tomcat unter Debian 11

So installieren Sie WordPress mit Apache und Let’s Encrypt SSL unter Debian 11

So installieren Sie Let’s Encrypt SSL in Nginx unter Debian 11

So installieren und konfigurieren Sie Apache mit Let’s Encrypt TLS/SSL unter Debian 11 Bullseye

So installieren Sie Let’s Encrypt SSL mit Apache unter CentOS 7

So installieren Sie Let’s Encrypt SSL auf Ubuntu mit Apache