WordPress ist ein kostenloses, quelloffenes und am weitesten verbreitetes Content-Management-System der Welt. Es ist eine sehr leistungsfähige Blogging-Plattform, die zum Hosten von Blogs, Portfolio-Websites und E-Commerce-Plattformen verwendet werden kann. WordPress verwendet Apache/Nginx als Webserver, MariaDB/MySQL als Datenbank und PHP-Verarbeitung. WordPress bietet eine große Anzahl von Themen und Plugins, mit denen die Funktionalität angepasst werden kann.
In diesem Tutorial erklären wir, wie man WordPress mit Nginx auf einem CentOS 8-Server installiert und dann den Server mit einem kostenlosen SSL-Zertifikat von Let’s Encrypt sichert.
Voraussetzungen
- Ein Server mit CentOS 8.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
- Ein gültiger Domänenname verweist auf Ihre Server-IP-Adresse.
Erste Schritte
Standardmäßig ist SELinux auf dem CentOS 8-Server aktiviert. Sie müssen es also zuerst deaktivieren.
Sie können dies tun, indem Sie die Datei /etc/selinux/config bearbeiten:
nano /etc/selinux/config
Nehmen Sie die folgenden Änderungen vor:
SELINUX=deaktiviert
Speichern und schließen Sie die Datei. Starten Sie dann Ihren Server neu, um die Änderungen zu übernehmen.
LEMP-Server installieren
Bevor Sie beginnen, müssen Sie Nginx, MariaDB, PHP und andere erforderliche Pakete auf Ihrem Server installieren. Sie können alle installieren, indem Sie den folgenden Befehl ausführen:
yum install nginx php php-cli php-curl php-zip php-mbstring php-mysqlnd php-fpm curl unzip mariadb-server -y
Sobald alle Pakete installiert sind, starten Sie den Nginx-, PHP-FPM- und MariaDB-Dienst und ermöglichen Sie ihnen, nach dem Systemneustart zu starten:
systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb
systemctl start php-fpm
systemctl enable php-fpm
Sie können den Status des PHP-FPM-Dienstes auch mit dem folgenden Befehl überprüfen:
Systemctl-Status php-fpm
Sie sollten die folgende Ausgabe erhalten:
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Wordpress-Datenbank konfigurieren
Standardmäßig ist der MariaDB-Server nicht gesichert. Sie müssen es also zuerst sichern. Sie können es mit dem folgenden Befehl sichern:
mysql_secure_installation
Beantworten Sie alle Fragen wie unten gezeigt:
Aktuelles Passwort für Root eingeben (Eingabe für keins):Root-Passwort setzen? [J/n] n Anonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] YBerechtigungstabellen jetzt neu laden? [J/n] Ja
Nach der Sicherung sollten Sie die folgende Ausgabe erhalten:
Aufräumen ... fertig! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MariaDB-Installation jetzt sicher sein. Vielen Dank, dass Sie MariaDB verwenden!
Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql -u root -p
Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden, und erstellen Sie dann mit den folgenden Befehlen eine Datenbank und einen Benutzer für WordPress:
MariaDB [(keine)]> CREATE DATABASE wpdb;
MariaDB [(keine)]> GEWÄHRT ALLE PRIVILEGIEN auf wpdb.* an 'wpuser'@'localhost' identifiziert durch 'password';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;
Sobald Ihre Datenbank konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.
WordPress herunterladen
Sie können die neueste Version von WordPress mit dem folgenden Befehl herunterladen:
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
Extrahieren Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:
tar -xvzf neueste.tar.gz
Ändern Sie als Nächstes den Eigentümer des WordPress-Verzeichnisses in nginx:
chown -R nginx:/var/www/html/wordpress/
Wechseln Sie als Nächstes in das Verzeichnis WordPress und benennen Sie die Standardkonfigurationsdatei von WordPress um:
cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php
Bearbeiten Sie als Nächstes die Datei wp-config.php in Ihrem bevorzugten Texteditor:
nano wp-config.php
Definieren Sie Ihre Datenbankinformationen wie unten gezeigt:
/** Der Name der Datenbank für WordPress */define( 'DB_NAME', 'wpdb' );/** Benutzername der MySQL-Datenbank */define( 'DB_USER', 'wpuser' );/** MySQL-Datenbank Passwort */define( 'DB_PASSWORD', 'password' );/** MySQL-Hostname */define( 'DB_HOST', 'localhost' );
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Nginx für WordPress konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Nginx-Host erstellen, um WordPress bereitzustellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/nginx/conf.d/wordpress.conf
Fügen Sie die folgenden Zeilen hinzu:
server {listen 80; server_name example.com; root /var/www/html/wordpress; indexindex.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location =/favicon.ico { log_not_found off; access_log off; } location =/robots.txt {alle zulassen; log_not_found aus; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } Speicherort ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; schließen Sie fastcgi_params ein; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { läuft max ab; log_not_found aus; }}
Speichern und schließen Sie die Datei. Überprüfen Sie dann nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Starten Sie abschließend den Nginx-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet nginx neu
Zugriff auf das WordPress-Dashboard
WordPress ist installiert und konfiguriert, jetzt ist es an der Zeit, auf die Weboberfläche zuzugreifen.
Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com ein . Sie werden auf die folgende Seite weitergeleitet:
Geben Sie alle erforderlichen Informationen wie Site-Name, Admin-Benutzername, Passwort, Admin-E-Mail an und klicken Sie auf WordPress installieren Taste. Sobald die Installation abgeschlossen ist. Sie sollten die folgende Seite sehen:
Klicken Sie auf Anmeldung Taste. Sie werden zur WordPress-Anmeldeseite weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten das WordPress-Dashboard auf der folgenden Seite sehen:
Sichern Sie WordPress mit Let's Encrypt
Um Ihre WordPress-Site mit dem kostenlosen SSL von Let’s Encrypt zu sichern, müssen Sie den Certbot Let’s Encrypt-Client in Ihrem System installieren. Standardmäßig ist Certbot nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen es also von der offiziellen Certbot-Website herunterladen.
Sie können Certbot mit den folgenden Befehlen herunterladen und installieren:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot- auto
chmod 0755 /usr/local/bin/certbot-auto
Führen Sie nun den folgenden Befehl aus, um ein SSL-Zertifikat für Ihre WordPress-Website zu erhalten und zu installieren.
certbot-auto --apache -d example.com
Sie werden aufgefordert, eine E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen. Sie müssen auch auswählen, ob Sie den HTTP-Datenverkehr auf HTTPS umleiten möchten oder nicht. Bitte wählen Sie die entsprechende Option aus und drücken Sie die Eingabetaste. Sobald die Installation erfolgreich abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:
WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/example.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/example.com/privkey.pem Ihr Zertifikat läuft ab am 2019-08-14. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus. Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, 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
Richten Sie die automatische Verlängerung von Let's Encrypt ein
Das Let's Encrypt-Zertifikat ist 90 Tage gültig. Es wird daher empfohlen, das Zertifikat vor Ablauf zu erneuern. Sie können den Cron-Job so einrichten, dass das Zertifikat automatisch erneuert wird.
Erstellen Sie dazu die Crontab mit dem folgenden Befehl:
crontab -e
Fügen Sie die folgende Zeile hinzu:
0 0,12 * * * root python -c 'zufällig importieren; Importzeit; time.sleep(random.random() * 3600)' &&/usr/local/bin/certbot-auto renew
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Schlussfolgerung
Im obigen Tutorial haben wir gelernt, wie man WordPress mit Nginx auf einem CentOS-Server installiert und konfiguriert. Wir haben auch gelernt, wie man WordPress-Sites mit Let’s Encrypt Free SSL sichert. Ich hoffe, Sie können jetzt problemlos Ihre eigene WordPress-Website hosten.