So installieren Sie Let’s Encrypt SSL mit Apache unter Debian 11. Sie erfahren auch, wie Sie einen virtuellen Host mit Apache konfigurieren und Ihr Setup mit HTTPS-Umleitung sichern.
Dieses Setup wurde in der Google Cloud getestet, sodass es auf allen Cloud-Hosting-Diensten wie AWS, Azure oder jedem VPS oder jedem dedizierten Server mit Debian 11 funktioniert.
Voraussetzungen
- Root-Zugriff auf Ihren Server oder einen sudo-Benutzer.
- Domain verwies auf Ihre Server-IP, um Let’sEncrypt SSL zu installieren
Schritt 1:Setup-Initialisierung
Beginnen Sie damit, die Pakete mit dem folgenden Befehl auf die neueste verfügbare Version zu aktualisieren.
sudo apt update sudo apt upgrade
Wget-Paket installieren.
sudo apt install wget
Sobald Sie das Setup aktualisiert haben, können Sie das Setup starten.
Schritt 2:Apache installieren
Installieren Sie Apache mit dem folgenden Befehl.
sudo apt install apache2
Dadurch wird apache2
installiert und alle erforderlichen Abhängigkeiten.
Schritt 3:Firewall einrichten
Jetzt können Sie eine unkomplizierte Firewall (UFW) mit Apache einrichten, um den öffentlichen Zugriff auf Standard-Webports für HTTP
zu ermöglichen und HTTPS
sudo ufw app list
Sie sehen alle aufgelisteten Anwendungen.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Dieses Profil öffnet Port
80
(normaler, unverschlüsselter Webverkehr) - Apache voll :Dieses Profil öffnet beide Ports
80
(normaler, unverschlüsselter Webverkehr) und Port443
(TLS/SSL-verschlüsselter Datenverkehr) - Apache-sicher :Dieses Profil öffnet nur Port
443
(TLS/SSL-verschlüsselter Datenverkehr) - OpenSSH :Dieses Profil öffnet Port
22
für den SSH-Zugriff.
Wenn Sie SSL nicht verwenden möchten, müssen Sie nur das Apache-Profil aktivieren.
Jetzt aktivieren wir Apache Full.
sudo uff allow OpenSSH sudo ufw allow 'Apache Full'
Mit diesem Befehl können Sie den Status von UFW anzeigen.
sudo ufw status
Sie sehen die Ausgabe wie folgt.
Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Schritt:4 Apache-Installation prüfen
Sobald Apache installiert ist, wird er automatisch gestartet und ist bereits betriebsbereit.
Jeder Prozess in Apache wird mit dem systemctl
verwaltet Befehl. Überprüfen Sie den Status von Apache mit dem folgenden Befehl.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago Main PID: 10617 (apache2) Tasks: 55 (limit: 667) CGroup: /system.slice/apache2.service ├─10617 /usr/sbin/apache2 -k start ├─10619 /usr/sbin/apache2 -k start └─10620 /usr/sbin/apache2 -k start Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server… Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.
Jetzt haben wir Apache installiert und die Firewall konfiguriert.
Schritt 5:Apache konfigurieren
Standard-Apache-Konfiguration deaktivieren.
sudo a2dissite 000-default
Erstellen Sie Website-Verzeichnisse.
sudo mkdir -p /var/www/html/domainname/public
Richten Sie die richtigen Berechtigungen ein.
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
Erstellen Sie eine neue virtuelle Hostkonfiguration.
sudo nano /etc/apache2/sites-available/domainname.conf
Fügen Sie die folgenden Konfigurationen in die neue Datei ein.
<VirtualHost *:80> ServerAdmin [email protected] ServerName domainname.com ServerAlias www.domainname.com DocumentRoot /var/www/html/domainname/public <Directory /var/www/html/domainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Aktivieren Sie die neue Konfiguration.
sudo a2ensite domainname.conf
Schritt 6:Let’s Encrypt SSL installieren
HTTPS ist ein Protokoll zur sicheren Kommunikation zwischen einem Server (Instanz) und einem Client (Webbrowser). Aufgrund der Einführung von Let’s Encrypt, das kostenlose SSL-Zertifikate bereitstellt, wird HTTPS von allen angenommen und schafft auch Vertrauen für Ihr Publikum.
Hier werden wir Certbot installieren, um Let’sEncrypt SSL mit Snap zu installieren.
sudo apt update sudo apt install snapd -y sudo snap install core sudo snap refresh core
Installieren Sie das Certbot-Tool.
sudo snap install --classic certbot
Konfigurieren Sie Certbot so, dass es als Befehl ausführbar ist.
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Jetzt haben wir Certbot installiert, um Let’s Encrypt für Debian 11 zu installieren.
Führen Sie den folgenden Befehl aus, um Ihre Zertifikate zu installieren.
sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com
Wählen Sie die entsprechende Option und drücken Sie Enter
Dieser Befehl installiert Free SSL, konfiguriert die Umleitung zu HTTPS und startet den Apache-Server neu.
Schritt 7:SSL-Zertifikat erneuern
Von Let’s Encrypt bereitgestellte Zertifikate sind nur 90 Tage gültig, sodass Sie sie häufig erneuern müssen. Testen wir also die Erneuerungsfunktion mit dem folgenden Befehl.
sudo certbot renew --dry-run
Dieser Befehl testet den Ablauf des Zertifikats und konfiguriert die automatische Verlängerungsfunktion.
Schritt:8:Testen Sie das Setup
Sobald Sie die erforderlichen Schritte ausgeführt haben, können Sie eine neue Test-HTML-Datei in Ihrem Webverzeichnis erstellen.
sudo nano /var/www/html/domainname/public/index.html
Fügen Sie den folgenden Code in die Datei ein.
<!DOCTYPE html> <html> <body> <h1>Test page with HTTPS</h1> </body> </html>
Speichern Sie die Datei.
Überprüfen Sie nun Ihren Domainnamen im Browser (domainname.com
).
Sie werden sehen, dass Ihre Domain auf HTTPS umgeleitet wurde und sehen die HTML-Ausgabe.
Steigern Sie Ihre Linux-Administrationskarriere mit einem abgeschlossenen Schulungskurs und bekommen Sie Ihren Traumjob.
Schlussfolgerung
Jetzt haben Sie gelernt, wie Sie Let’s Encrypt Free SSL mit Apache auf Debian 11 installieren.
Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.