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

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

WordPress ist die beliebteste Website-Plattform im Internet. Es ist kostenlos, Open Source und funktioniert gut mit fast jedem Webhosting-Dienst, wodurch es zu einem der einfachsten zu installieren und zu verwenden ist.

Wenn Sie noch kein Webhosting haben, empfehlen wir Ihnen, WordPress auf Ihrem lokalen Debian-Rechner oder VPS zu installieren.

Hier sehen wir, wie man WordPress mit Nginx auf Debian 11 installiert.

LEMP-Stack installieren

Folgen Sie den folgenden Links, um den LEMP-Stack auf Ihrem Debian-System für Ihre WordPress-Installation zu installieren.

Installieren Sie EMP (Nginx, MariaDB und PHP) auf Debian 11

Richten Sie den virtuellen Nginx-Host ein

Wir beginnen mit der Erstellung eines virtuellen Hosts für eine WordPress-Installation. Sie finden alle Konfigurationsdateien für virtuelle Hosts von Nginx unter /etc/nginx/conf.d Verzeichnis. Typischerweise enthalten virtuelle Hostdateien einen Domänennamen, eine Portnummer, einen Dokumentenstamm, einen Protokollspeicherort, schnelles CGI usw.

Nehmen Sie Folgendes an,

Domainname:itzgeek.net, www.itzgeek.net
Portnummer:80
Dokumentenstamm:/usr/share/nginx/www.itzgeek.net/html
Protokolle: /usr/share/nginx/www.itzgeek.net/logs

Erstellen Sie eine virtuelle Hostkonfiguration.

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

Fügen Sie dann den folgenden Inhalt in die obige Konfigurationsdatei ein. Sie müssen server_name ändern wie pro Ihre Anforderung.

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to hidden files
	location ~* /\.(?!well-known\/) {
		deny all;
	}

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

        # Enable WordPress Permananent Links
	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Erstellen Sie ein Dokumentenstammverzeichnis und ein Protokollverzeichnis.

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

Überprüfen Sie die Nginx-Konfigurationsdatei mit dem folgenden Befehl.

sudo nginx -t

Wenn Sie Folgendes erhalten, bedeutet dies, dass die Konfiguration des virtuellen Hosts korrekt ist.

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

Starten Sie die Nginx- und PHP-FPM-Dienste neu.

sudo systemctl reload nginx php7.4-fpm

DNS-Eintrag erstellen

Gehen Sie zu Ihrem Domain-Registrar und erstellen Sie einen A- und CNAME-Eintrag (optional, wenn Sie keine www-Subdomain verwenden möchten) für Ihre Domain. Normalerweise müssen Sie zwei Datensätze für Ihre WordPress-Website erstellen.

  1. Nicht-www-Domänenname (z. B. itzgeek.net)>> A Datensatzpunkt auf Ihre Server-IP
  2. www-Domänenname (z. B. www.itzgeek.net) >> CNAME Rekordpunkt auf itzgeek.net

Für diese Demo werde ich zwei Einträge erstellen, damit meine WordPress-Website unter www.itzgeek.net erreichbar ist.

Installieren Sie das SSL-Zertifikat von Let’s Encrypt

Certbot-Client installieren

Der Certbot-Client, der uns bei der Generierung und Installation des SSL-Zertifikats von Let’s Encrypt hilft, ist jetzt als Snap-Paket für das Debian-Betriebssystem verfügbar. Installieren Sie also zuerst den Snapd-Daemon auf Ihrem System.

sudo apt update

sudo apt install -y snapd

Aktualisieren Sie dann snapd auf die neueste Version.

sudo snap install core && sudo snap refresh core

Installieren Sie abschließend den Certbot-Client mit dem folgenden Befehl.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

SSL-Zertifikat installieren

Verwenden Sie den folgenden Befehl, um das SSL-Zertifikat von Let’s Encrypt für den Nginx-Webserver zu generieren und zu installieren.

sudo certbot --nginx
1. E-Mail-Adresse eingeben um Benachrichtigungen über dringende Erneuerungs- und Sicherheitshinweise zu erhalten
2. Geben Sie Y ein und drücken Sie die Eingabetaste sich beim ACME-Server anzumelden
3. Geben Sie J oder N ein um E-Mails über Neuigkeiten, Kampagnen und Newsletter von EFF zu erhalten.
4. Certbot erkennt automatisch die WordPress-Domain und bittet Sie um Erlaubnis, HTTPS zu aktivieren für Ihre WordPress-Website. Geben Sie 1 oder entsprechende Zahlen getrennt durch ein Komma ein falls Sie mehrere Websites haben.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Warten Sie, bis die SSL-Installation abgeschlossen ist. Sie können nun mit HTTPS auf die Website zugreifen.

Hinweis: Wenn Sie jetzt auf die Website zugreifen, erhalten Sie einen 403 verbotenen Fehler, da Sie noch WordPress-Dateien platzieren müssen.

Nicht-www-HTTP-Anfragen mit Nginx an www-HTTPS weiterleiten

Möglicherweise möchten Sie den Nginx-Server so konfigurieren, dass der Datenverkehr von der Nicht-www-HTTP-Site auf die WWW-HTTPS-Site umgeleitet wird, z. B. http://itzgeek.net>> https://www.itzgeek.net.

SSL-Zertifikat automatisch erneuern

Der Certbot-Client enthält jetzt die automatische Verlängerung von SSL-Zertifikaten über das systemd. Sie müssen die Zertifikate also nicht manuell erneuern.

WordPress mit Nginx installieren

WordPress-Datenbank erstellen

Melden Sie sich zuerst beim MariaDB/MySQL-Datenbankserver an.

sudo mysql -u root -p

Erstellen Sie dann die Datenbank für die WordPress-Installation zusammen mit dem Datenbankbenutzer und dem Passwort.

CREATE DATABASE wpdatabase;

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

GRANT ALL PRIVILEGES ON wpdatabase.* TO 'wpuser'@'localhost';

EXIT

WordPress herunterladen

Laden Sie die neueste Version des WordPress-Installationsprogramms mit dem folgenden Befehl herunter.

curl -O https://wordpress.org/latest.tar.gz

Extrahieren Sie dann die heruntergeladene Datei.

tar -zxvf latest.tar.gz

Verschieben Sie die Dateien dann in das Stammverzeichnis Ihrer Website-Dokumente.

sudo mv wordpress/* /usr/share/nginx/www.itzgeek.net/html/

Aktualisieren Sie den Besitz und eine Gruppe des WordPress-Verzeichnisses.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

WordPress installieren

Öffnen Sie Ihren Browser und besuchen Sie die Domain Ihrer WordPress-Website, um die WordPress-Installation durchzuführen.

https://ihre-wordpress-website

1. Wählen Sie die Installationssprache und klicken Sie auf Weiter

2. Klicken Sie auf Los geht's!

3. Geben Sie die WordPress-Datenbankdetails ein und klicken Sie dann auf Senden

4. Klicken Sie auf Installation ausführen

5. Geben Sie die WordPress-Website-Informationen ein und dann auf WordPress installieren

6. Klicken Sie auf Anmelden um auf das WordPress-Admin-Backend zuzugreifen, um die WordPress-Installation zu verwalten. Alternativ können Sie auf das WordPress-Backend zugreifen, indem Sie zu https://your-wordpress-website/wp-admin gehen

Zugriff auf die WordPress-Website

Jetzt können Sie mit Ihrem Domainnamen auf die Website zugreifen.

https://ihre-wordpress-website

Schlussfolgerung

Das ist alles. Ich hoffe, Sie haben gelernt, wie man WordPress mit Nginx auf Debian 11 installiert.


Debian
  1. Installieren Sie Lets Encrypt und Secure Nginx mit SSL/TLS in Debian 9

  2. Installieren Sie Automad CMS mit Nginx und Lets Encrypt SSL auf Debian 10

  3. So installieren Sie WordPress mit Nginx und Lets Encrypt SSL unter CentOS 8

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

  5. So installieren Sie WordPress mit Nginx unter Debian 10

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

So installieren Sie Drupal mit Nginx und Let’s Encrypt SSL unter Debian 11

So installieren Sie Joomla mit Nginx und Let’s Encrypt SSL unter Debian 11

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

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

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