GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

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

In diesem Artikel zeigen wir Ihnen, wie Sie den Let’s Encrypt-Client auf Ihrem Ubuntu 20.04 VPS installieren, ein SSL-Zertifikat für Ihre Domain ausstellen und es mit dem Apache-Webserver konfigurieren.

Let’s Encrypt ist eine Zertifizierungsstellenorganisation (CA), die es jedem ermöglicht, mit einfachen und automatisierten Befehlen ein kostenloses SSL-Zertifikat zu erhalten. In diesem Tutorial verwenden wir ein Tool namens certbot , das ein offizieller Teil der Bemühungen von EFF ist, das gesamte Internet zu verschlüsseln. Dank dieses praktischen Tools war die Einrichtung eines SSL-Zertifikats zum Schutz der Besucher Ihrer Website und zur Verbesserung der Sicherheit Ihrer Website noch nie so einfach. Alle von Let’s Encrypt bereitgestellten SSL-Zertifikate können ohne Kosten oder Gebühren für Produktions-/kommerzielle Zwecke verwendet werden. Beginnen wir mit der Installation und Einrichtung.

Beginnen wir mit der Installation – es ist eine einfache Installation und wird nicht lange dauern.

Voraussetzungen

  • Für die Zwecke dieses Tutorials verwenden wir ein Ubuntu 20.04 VPS.
  • Benutzer mit sudo-Berechtigungen oder vollständigem SSH-Root-Zugriff ist erforderlich. Alle unsere VPS verfügen über Root-Zugriff.
  • Ein gültiger Domänenname, der auf die IP-Adresse Ihres Servers verweist. In diesem Tutorial verwenden wir domain.com als Beispiel.

1. Verbinden Sie sich mit Ihrem Server

Bevor wir beginnen, müssen Sie sich als Root-Benutzer über SSH mit Ihrem Server verbinden. Verwenden Sie dazu den folgenden Befehl:

ssh root@IP_ADDRESS -p PORT_NUMBER

natürlich müssen Sie IP_ADDRESS ersetzen und PORT_NUMBER mit Ihrer tatsächlichen Server-IP-Adresse und SSH-Portnummer.

Stellen Sie nach der Anmeldung sicher, dass Ihr Server auf dem neuesten Stand ist, indem Sie die folgenden Befehle ausführen:

sudo apt update
sudo apt upgrade

2. Installieren Sie den Apache2-Webserver

Wir haben uns in unserem Artikel für einen der beliebtesten Webserver entschieden. Wir werden Apache2 installieren, da wir einen Webserver benötigen, auf dem das kostenlose Let’s Encrypt SSL-Zertifikat installiert werden kann. Es macht keinen Sinn, ein SSL-Zertifikat ohne Webseiten zu haben. Informieren Sie sich über einige der besten kostenlosen Let’s Encrypt-Alternativen.

Führen Sie den folgenden Befehl aus, um Apache2 zu installieren:

sudo apt install apache2

Sobald Apache2 auf Ihrem Server installiert ist, können Sie die folgenden Befehle verwenden, um den Dienst zu starten, zu stoppen und zu aktivieren. Wir empfehlen, es zu aktivieren, damit Apache bei jedem Neustart Ihres Servers automatisch gestartet werden kann.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Um zu bestätigen, dass Sie Apache2 richtig installiert haben, können Sie Ihren bevorzugten Webbrowser öffnen und Ihre Server-IP-Adresse oder Ihre Domain eingeben (wir gehen davon aus, dass sie auf Ihren Server verweist) und Sie sollten in der Lage sein, die Apache2-Ubuntu-Standardseite anzuzeigen. P>

3. Konfigurieren Sie den virtuellen Apache-Host

Da Sie jetzt Apache auf Ihrem Server installiert haben, können wir fortfahren und Ihnen zeigen, wie Sie einen virtuellen Host für die Domain erstellen, die Sie verwenden möchten. Wir werden Nano als unseren Editor verwenden, aber wenn Sie Nano nicht bevorzugen, können Sie einen beliebigen Editor Ihrer Wahl verwenden und eine neue Konfigurationsdatei mit dem Namen domain.com.conf erstellen .

sudo nano /etc/apache2/sites-available/domain.com.conf

Fügen Sie dann die Konfiguration von unten in die Datei ein und ersetzen Sie alle Vorkommen von domain.com mit Ihrem tatsächlichen Domainnamen.

<VirtualHost *:80>

DocumentRoot /var/www/html/domain.com
ServerName domain.com
ServerAlias www.domain.com

<Directory /var/www/html/domain.com/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Nachdem Sie mit der Bearbeitung der Datei fertig sind, speichern und schließen Sie sie.

Nachdem Sie den virtuellen Host konfiguriert haben, können Sie ihn aktivieren, indem Sie die folgenden Befehle ausführen.

Deaktivieren Sie den standardmäßig vorinstallierten virtuellen Host mit:

sudo a2dissite 000-default

aktivieren Sie dann domain.com virtueller Host:

sudo a2ensite domain.com.conf

Außerdem müssen Sie sicherstellen, dass der Mod rewrite ist aktiviert:

sudo a2enmod rewrite

Starten Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl restart apache2.service

4. Certbot installieren

Wie bereits erwähnt, werden wir Certbot verwenden, damit wir ein kostenloses SSL-Zertifikat von Let’s Encrypt erhalten können. Um dieses nützliche Tool zu installieren, müssen wir das universe aktivieren Aufbewahrungsort:

sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update

Führen Sie diesen Befehl in der Befehlszeile auf dem Computer aus, um Certbot zu installieren.

sudo apt install certbot python3-certbot-apache

5. Generieren Sie ein kostenloses SSL-Zertifikat von Let’s Encrypt

Es gibt viele Möglichkeiten, ein SSL-Zertifikat mit Certbot zu erhalten. Wir werden das Apache-Plugin verwenden, das sich um die Neukonfiguration des virtuellen Hosts von Apache kümmert und die neue Konfiguration für uns neu lädt. Sie können den folgenden Befehl ausführen, um das Plugin zu verwenden:

sudo certbot --apache

Mit diesem Skript müssen Sie eine Reihe von Fragen beantworten und eine E-Mail-Adresse angeben. Im ersten Schritt müssen Sie eine gültige E-Mail-Adresse eingeben. Die E-Mail-Adresse wird für Benachrichtigungen und Sicherheitshinweise zum Zertifikat Ihrer Website benötigt:

Output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

Im nächsten Schritt bestätigen Sie, dass Sie den Nutzungsbedingungen von Let’s Encrypt zustimmen. Wenn Sie bestätigen möchten, geben Sie einfach A ein und drücken Sie dann [ENTER]:

Output:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Wenn Sie die angegebene E-Mail-Adresse mit der EFF (Electronic Frontier Foundation) teilen möchten, um Neuigkeiten und andere Informationen zu erhalten, können Sie Y eingeben. Wenn Sie diese Art von E-Mail nicht erhalten möchten, können Sie N eingeben und Ihre Antwort per senden Eingabe von [ENTER].

Output:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Nun müssen Sie die Domain auswählen, für die Sie HTTPS aktivieren möchten. Die an Ihrer Eingabeaufforderung aufgelisteten Domänen und Subdomänen werden automatisch von Ihrer Konfiguration des virtuellen Apache-Hosts abgerufen. Geben Sie die Zahlen getrennt durch Kommas und/oder Leerzeichen ein, oder wenn Sie HTTPS für alle Domains oder Subdomains aktivieren möchten, können Sie die Eingabeaufforderung leer lassen. In beiden Fällen drücken Sie dann [ENTER], um mit dem nächsten Schritt fortzufahren.

Output:
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

Die Ausgabe sieht ungefähr so ​​aus:

Output:
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
http-01 challenge for www.domain.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/domain.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/domain.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/domain.com-le-ssl.conf

Certbot bietet HTTPS-Umleitung als Option, die Sie aktivieren können. In diesem Schritt fordert Sie das Skript auf, auszuwählen, ob der gesamte HTTP-Datenverkehr auf HTTPS umgeleitet oder die aktuelle Konfiguration beibehalten werden soll. Wählen Sie 1, wenn Sie keine Umleitung wünschen, oder 2, um die Umleitung zu aktivieren, und drücken Sie dann [ENTER].

Output:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gut gemacht. Ihr SSL-Zertifikat ist nun installiert und in der Apache-Konfiguration geladen. Sie sehen eine Ausgabe ähnlich der folgenden:

Output:
Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com/privkey.pem
Your cert will expire on 2021-09-09. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Um zu überprüfen, ob Ihr neues SSL-Zertifikat korrekt eingerichtet ist, besuchen Sie https://domain.com/ in Ihrem Webbrowser und suchen Sie nach dem grünen Schlosssymbol in der URL-Leiste. Sie können auch eine externe Website oder Tools verwenden, um zu überprüfen, ob Ihr SSL-Zertifikat ordnungsgemäß installiert ist.

6. Überprüfung der automatischen Verlängerung von Certbot

Von Let’s Encrypt bereitgestellte SSL-Zertifikate sind nur 90 Tage gültig. Der von uns installierte Certbot setzt einen Cronjob, der sich um die Erneuerung aller SSL-Zertifikate kümmert, die innerhalb von dreißig Tagen ablaufen. Um den Status dieses Dienstes zu überprüfen, können Sie den folgenden Befehl ausführen:

sudo systemctl status certbot.timer
Output:
● certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Thu 2021-06-11 11:33:00 UTC; 1h 37min ago
Trigger: Thu 2021-06-11 15:52:01 UTC; 2h 41min left
Triggers: ● certbot.service

oder Sie können alle Timer auflisten mit:

sudo systemctl list-timers

Sie können die automatische Erneuerung Ihrer Zertifikate testen, indem Sie diesen Befehl ausführen:

sudo certbot renew --dry-run

und den Befehl zum Erneuern des SSL-Zertifikats finden Sie an einem der folgenden Orte:

/etc/crontab/
/etc/cron.*/*

Herzliche Glückwünsche! Sie haben erfolgreich ein kostenloses SSL-Zertifikat von Let’s Encrypt für Ihre Domain installiert.

In diesem Artikel haben wir Ihnen gezeigt, wie Sie den Apache2-Webserver und Certbot installieren, einen Apache Virtual Host erstellen und natürlich ein SSL-Zertifikat für Ihre Domain installieren. Ihre Website sollte jetzt sicher sein und sich automatisch erneuern, damit dies auch so bleibt.

Wenn Sie einer unserer Managed Ubuntu Hosting-Kunden sind, müssen Sie natürlich nicht selbst ein Let’s Encrypt SSL-Zertifikat für Ihre Domain installieren – fragen Sie einfach unsere Admins, lehnen Sie sich zurück und entspannen Sie sich. Unsere Administratoren installieren für Sie umgehend ein Let’s Encrypt SSL-Zertifikat auf Ihrem Ubuntu 20.04 VPS, zusammen mit vielen nützlichen Optimierungen, die wir für Sie vornehmen können.

Wenn Ihnen dieser Beitrag über die Installation von Let’s Encrypt auf Ubuntu 20.04 mit Apache gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken, indem Sie die Share-Buttons unten verwenden, oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.


Panels
  1. So installieren Sie Apache unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 20.04

  3. So installieren Sie Elgg mit Nginx unter Ubuntu 14.04

  4. So installieren Sie Let’s Encrypt SSL auf Ubuntu 18.04 mit Nginx

  5. So installieren Sie Joomla mit Nginx unter Ubuntu 18.04

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

So installieren Sie Nginx mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Apache mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx

So installieren Sie Apache unter Ubuntu 22.04