GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Let’s Encrypt auf CentOS 8 mit Nginx

In diesem Tutorial erklären wir, wie man ein kostenloses SSL-Zertifikat von Let’s Encrypt auf einem CentOS 8 VPS mit Nginx als Webserver installiert.

Let’s Encrypt ist eine kostenlose, quelloffene und gemeinnützige Zertifizierungsstelle, die kostenlose SSL-Zertifikate für Websites bereitstellt, um die TLS-Verschlüsselung zu ermöglichen. Es wurde von der Internet Security Research Group (ISRG) entwickelt und wird von allen gängigen Browsern als vertrauenswürdig eingestuft. Es wird verwendet, um den Prozess der Zertifikatserstellung, -validierung, -signierung, -implementierung und -erneuerung von Zertifikaten für sichere Websites zu automatisieren.

Das Hauptziel von Let’s Encrypt ist es, die Verwendung von SSL im gesamten Internet zu fördern und verschlüsselte Verbindungen im gesamten Internet herzustellen, um die Sicherheit aller zu gewährleisten. Das Zertifikat ist nur 90 Tage gültig, daher müssen Sie es manuell erneuern oder das automatische Verlängerungssystem einrichten, das standardmäßig aktiviert sein sollte.

Derzeit unterstützt Let’s encrypt die automatisierte Zertifizierungsausstellung für Apache, Nginx, Plex und HAproxy, was fast jeden Anwendungsfall abdecken sollte. Beginnen wir mit unserer Installationsanleitung.

Voraussetzungen

  • Zum Zweck dieses Tutorials verwenden wir einen CentOS 8 VPS.
  • Voller SSH-Root-Zugriff oder ein Benutzer mit sudo-Berechtigungen ist ebenfalls erforderlich. Alle unsere VPS verfügen standardmäßig über Root-Zugriff ohne zusätzliche Kosten.
  • Ein gültiger Domainname wird auf Ihre VPS-IP-Adresse verwiesen.

Schritt 1:Anmelden und Pakete aktualisieren

Zuerst müssen wir uns mit SSH bei unserem Server anmelden. Sie können dies tun, indem Sie diesen Befehl eingeben:

ssh root@IP_Address -p Port_Number

Denken Sie daran, „root“ durch Ihren Benutzernamen zu ersetzen, wenn Sie nicht den Root-Benutzer verwenden. Ändern Sie „IP_Address“ und „Port_Number“ entsprechend der IP-Adresse Ihres Servers und der SSH-Portnummer. Die Standard-SSH-Portnummer ist 22.

Sobald Sie angemeldet sind, sollten Sie alle Ihre Pakete auf die neuesten verfügbaren Versionen aktualisieren.

dnf update -y

Sobald die Aktualisierungen abgeschlossen sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.

Schritt 2:Nginx und PHP installieren

Installieren Sie zuerst den Nginx-Webserver und PHP, indem Sie den folgenden Befehl ausführen:

dnf install nginx php php-fpm php-cli -y

Sobald alle Pakete installiert sind, starten Sie die Nginx- und PHP-FPM-Dienste und ermöglichen Sie ihnen, beim Booten mit dem folgenden Befehl zu starten:

systemctl start nginx
systemctl enable nginx
systemctl start php-fpm
systemctl enable php-fpm

Schritt 3:PHP-FPM konfigurieren

Standardmäßig ist PHP-FPM so konfiguriert, dass es als Apache-Benutzer und -Gruppe ausgeführt wird. In diesem Tutorial verwenden wir den Nginx-Webserver. Das bedeutet, dass Sie PHP-FPM so konfigurieren müssen, dass es als Nginx-Benutzer und -Gruppe ausgeführt wird.

Bearbeiten Sie dazu die PHP-FPM-Konfigurationsdatei:

nano /etc/php-fpm.d/www.conf

Ändern Sie den Benutzer- und Gruppenwert von apache zu nginx , wie unten gezeigt:

user = nginx
group = nginx

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm

Schritt 4:Erstellen Sie einen virtuellen Nginx-Host

Bevor Sie beginnen, erstellen Sie eine Beispiel-Website für Nginx.

mkdir /var/www/html/yourdomain.com

Erstellen Sie als Nächstes eine Beispiel-PHP-Datei im Website-Verzeichnis und öffnen Sie sie mit Ihrem bevorzugten Texteditor:

nano /var/www/html/yourdomain.com/index.php

Fügen Sie der Datei die folgenden Zeilen hinzu:

<?php
phpinfo();
?>

Speichern und schließen Sie die Datei und legen Sie dann den Besitz Ihrer Website auf nginx fest mit folgendem Befehl:

chown -R nginx:nginx /var/www/html/yourdomain.com/

Erstellen Sie als Nächstes eine neue Konfigurationsdatei für den virtuellen Nginx-Host, die Ihrer Website dient:

nano /etc/nginx/conf.d/yourdomain.com.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
server_name yourdomain.com;
root /var/www/html/yourdomain.com;
location / {
index index.php;
}
access_log /var/log/nginx/yourdomain.access.log;
error_log /var/log/nginx/yourdomain.error.log;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

Stellen Sie sicher, dass Sie alle Instanzen von yourdomain ersetzen mit Ihrem registrierten Domainnamen.

Speichern und schließen Sie die Datei und überprüfen Sie dann die Nginx-Konfigurationsdatei mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie als Nächstes den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart nginx

Ihr Webserver sollte jetzt betriebsbereit sein.

Schritt 5:Installieren Sie den Certbot-Client

Um ein Let’s Encrypt-Zertifikat für Ihre Website zu generieren, müssen Sie den Certbot-Client auf Ihrem System installieren.

Der Certbot ist ein Befehlszeilentool, das verwendet wird, um den Prozess zum Erhalten und Erneuern von SSL-Zertifikaten von Let’s Encrypt für Ihre Website zu vereinfachen.

Standardmäßig ist das Certbot-Paket nicht im CentOS-Standard-Repository verfügbar. Sie müssen es also von der Website des Anbieters herunterladen.

Sie können es mit dem folgenden Befehl herunterladen und installieren:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Führen Sie nach der Installation von Certbot den folgenden Befehl aus, um ein SSL-Zertifikat für Ihre Website zu erhalten und zu installieren:

certbot-auto --nginx -d yourdomain.com

Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie aufgefordert, eine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren, wie unten gezeigt:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- - - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Geben Sie N ein, wenn Sie Ihre E-Mail nicht an die EFF weitergeben möchten, und drücken Sie dann die Eingabetaste, um fortzufahren. Nachdem das Zertifikat installiert wurde, sollten Sie die folgende Ausgabe sehen:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for yourdomain.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/yourdomain.com.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/yourdomain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://yourdomain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/yourdomain.com/privkey.pem
Your cert will expire on 2020-08-30. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot-auto 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
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.

Jetzt ist Ihre Website mit Let’s Encrypt SSL gesichert. Sie können Ihr SSL-Zertifikat mit einem Online-Tool testen.

Schritt 6:Greifen Sie auf Ihre Website zu

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL https://yourdomain.com sicher auf Ihre Website zu .

Sie sollten die folgende Seite sehen:

Auf der obigen Seite sollten Sie sehen können, dass die Website ordnungsgemäß gesichert ist, normalerweise mit einem grünen Schlosssymbol am linken Rand der Adressleiste.

Schritt 7:Automatische Verlängerung einrichten

Nachdem wir Let’s Encrypt auf unserem CentOS 8 VPS installiert haben, müssen wir sicherstellen, dass unser Zertifikat erneuert und gültig bleibt.

Standardmäßig sind Let’s Encrypt Zertifikate 90 Tage gültig. Es wird empfohlen, das Zertifikat vor Ablauf zu erneuern, da Benutzer bei einem abgelaufenen Zertifikat eine Sicherheitswarnung erhalten, wenn sie versuchen, Ihre Website zu besuchen.

Sie können den Erneuerungsprozess manuell mit dem folgenden Befehl testen.

certbot-auto renew --dry-run

Der obige Befehl überprüft automatisch die derzeit installierten Zertifikate und versucht, sie zu erneuern, wenn sie weniger als 30 Tage vor dem Ablaufdatum liegen.

Sie können auch einen Cronjob hinzufügen, um den obigen Befehl automatisch zweimal täglich auszuführen.

Bearbeiten Sie dazu die Crontab-Datei mit dem folgenden Befehl:

crontab -e

Fügen Sie die folgende Zeile hinzu:

* */12 * * *   root /usr/local/bin/certbot-auto renew >/dev/null 2>&1

Sie können das Intervall dieses Cronjobs jederzeit ändern, wenn zweimal am Tag zu oft ist, indem Sie die Werte ganz links anpassen.

Speichern und schließen Sie die Datei. Jetzt wird Ihr Zertifikat regelmäßig erneuert. Herzliche Glückwünsche! Sie haben jetzt Let’s Encrypt auf Ihrem CentOS 8-Server mit Nginx installiert.

Das Einrichten einer Website mit allen Plugins und Funktionen, die Sie benötigen, kann viel Zeit und Mühe in Anspruch nehmen, die Sie möglicherweise für die Führung Ihres Unternehmens aufwenden. Wenn Sie einen unserer verwalteten CentOS 8-Hostingdienste nutzen, erledigen wir die ganze Routinearbeit für Sie. Von der Serverwartung bis hin zu Installations- und Konfigurationsanfragen decken wir alles ab, was Sie brauchen, um Ihren Server in Topform zu halten, und das alles ohne zusätzliche Kosten.

Wenn dieses Tutorial Ihnen geholfen hat, Ihre Nginx-Website mit SSL auf Ihrem CentOS 8 VPS zu konfigurieren, hinterlassen Sie bitte einen Kommentar in unserem Kommentarbereich oder teilen Sie diesen Beitrag in sozialen Medien, indem Sie unsere Freigabe-Shortcuts verwenden. Danke.


Cent OS
  1. Sichern Sie Nginx mit Lets Encrypt unter CentOS 7

  2. So installieren Sie WordPress mit Nginx unter CentOS 7

  3. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  4. Wie installiere ich Let’s Encrypt (Certbot) auf CentOS 8?

  5. So installieren Sie Let’s Encrypt auf CentOS 8 mit Nginx

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

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

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

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

So installieren Sie Nginx mit Let’s Encrypt SSL auf Fedora 35