GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie WordPress auf Ubuntu 20.04 mit Nginx, MariaDB, PHP7.4 (LEMP)

Dieses Tutorial zeigt Ihnen, wie Sie WordPress auf Ubuntu 20.04 mit Nginx, MariaDB und PHP7.4 (LEMP Stack) installieren. WordPress ist das beliebteste CMS (Content Management System) der Welt. Es wird geschätzt, dass mehr als ein Drittel der Websites heute von WordPress betrieben werden. PHP7.4 wurde in das Ubuntu 20.04-Repository aufgenommen und WordPress läuft perfekt damit.

Voraussetzung

Um diesem Tutorial zu folgen, benötigen Sie einen Ubuntu 20.04-Server mit mindestens 1 GB RAM. Wenn Sie nach einem VPS (Virtual Private Server) suchen, können Sie auf diesen speziellen Link klicken, um 50 $ kostenloses Guthaben auf DigitalOcean zu erhalten. (Nur für neue Benutzer). Wenn Sie bereits DigitalOcean-Benutzer sind, können Sie auf diesen speziellen Link klicken, um 50 $ kostenloses Guthaben auf Vultr zu erhalten (nur für neue Benutzer).

Sie benötigen auch einen Domänennamen, damit Besucher einen Domänennamen in die Adressleiste des Webbrowsers eingeben können, um auf Ihre Website zuzugreifen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos bieten.

Dieses Tutorial geht davon aus, dass Sie bereits einen LEMP-Stack auf Ubuntu 20.04 eingerichtet haben. Wenn nicht, sehen Sie sich bitte das folgende Tutorial an.

  • So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.4) auf Ubuntu 20.04

Kehren Sie nach Abschluss der LEMP-Installation hierher zurück und lesen Sie weiter.

Schritt 1:WordPress herunterladen

Verbinden Sie sich per SSH mit Ihrem Ubuntu 20.04-Server und aktualisieren Sie vorhandene Software.

sudo apt update && sudo apt upgrade

Gehen Sie als Nächstes zur Download-Seite von wordpress.org und laden Sie das ZIP-Archiv herunter. Sie können den direkten Download-Link abrufen, indem Sie mit der rechten Maustaste auf die Download-Schaltfläche klicken und copy link location auswählen .

Geben Sie dann an der Eingabeaufforderung der Befehlszeile wget ein gefolgt vom direkten Download-Link zum Herunterladen von WordPress auf Ihren Ubuntu 20.04-Server.

wget https://wordpress.org/latest.zip

Extrahieren Sie als Nächstes das ZIP-Archiv mit dem folgenden Befehl.

sudo apt install unzip

sudo mkdir -p /usr/share/nginx

sudo unzip latest.zip -d /usr/share/nginx/

Das Archiv wird nach /usr/share/nginx/ extrahiert Verzeichnis. Ein neues Verzeichnis namens wordpress erstellt (/usr/share/nginx/wordpress). Jetzt können wir es wie unten umbenennen, sodass wir jedes Verzeichnis leicht identifizieren können. Ersetzen Sie example.com mit Ihrem echten Domainnamen.

sudo mv /usr/share/nginx/wordpress /usr/share/nginx/example.com

Schritt 2:Erstellen Sie eine Datenbank und einen Benutzer für die WordPress-Site

Melden Sie sich mit dem folgenden Befehl als root bei der MariaDB-Shell an.

sudo mariadb -u root

oder

sudo mysql -u root

Sobald Sie angemeldet sind, erstellen Sie mit dem folgenden Befehl eine Datenbank für WordPress. Ich habe es wordpress genannt , aber Sie können einen beliebigen Namen verwenden, z. B. den Namen Ihrer Website. (Lassen Sie das Semikolon nicht aus.)

create database wordpress;

Geben Sie dann den folgenden Befehl ein, um einen Datenbankbenutzer für WordPress zu erstellen. Dieser Befehl gewährt dem Benutzer auch alle Privilegien der WordPress-Datenbank. Ersetzen Sie wpuser und your-password mit Ihrem bevorzugten Benutzernamen und Passwort.

grant all privileges on wordpress.* to wpuser@localhost identified by 'your-password';

Leeren Sie die Berechtigungstabelle, damit die Änderungen wirksam werden, und verlassen Sie dann die MariaDB-Shell.

flush privileges;

exit;

Schritt 3:WordPress konfigurieren

Gehen Sie zu Ihrem WordPress-Verzeichnis.

cd /usr/share/nginx/example.com/

Kopieren Sie die Beispielkonfigurationsdatei und benennen Sie sie in wp-config.php um .

sudo cp wp-config-sample.php wp-config.php

Bearbeiten Sie nun die neue Konfigurationsdatei mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano wp-config.php

Suchen Sie die folgenden Zeilen und ersetzen Sie die roten Texte durch den Datenbanknamen, den Benutzernamen und das Passwort, die Sie im vorherigen Schritt erstellt haben.

/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

Scrollen Sie dann nach unten, um die folgende Zeile zu finden.

$table_prefix = 'wp_';

Standardmäßig beginnt jeder WordPress-Datenbanktabellenname mit wp_ als Präfix. Es wird dringend empfohlen, es in etwas anderes zu ändern, um die Sicherheit zu verbessern. Verwenden Sie zufällige Zeichen wie unten.

$table_prefix = '9OzB3g_';

Speichern und schließen Sie die Datei. Um die Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann Enter bestätigen. Drücken Sie als Nächstes Ctrl+X zum Beenden.

Wir müssen auch den Nginx-Benutzer (www-data ) als Eigentümer des WordPress-Site-Verzeichnisses, indem Sie den folgenden Befehl verwenden.

sudo chown www-data:www-data /usr/share/nginx/example.com/ -R

Schritt 4:Erstellen Sie einen Nginx-Serverblock für WordPress

Wir erstellen die Serverblockdatei in /etc/nginx/conf.d/ Verzeichnis. Der Dateiname muss auf .conf enden .

sudo nano /etc/nginx/conf.d/example.com.conf

Fügen Sie die folgenden Texte in die Datei ein. Ersetzen Sie die roten Texte durch Ihren eigenen Domainnamen. Vergessen Sie nicht, A-Einträge für Ihren Domainnamen in Ihrem DNS-Manager zu erstellen.

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /usr/share/nginx/example.com/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

   location ~ ^/wp-json/ {
     rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
   }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  client_max_body_size 20M;

  location = /50x.html {
    root /usr/share/nginx/html;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  #enable gzip compression
  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_comp_level 5;
  gzip_types application/json text/css application/x-javascript application/javascript image/svg+xml;
  gzip_proxied any;

  # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu.

sudo systemctl reload nginx

Geben Sie Ihren Domainnamen in die Adressleiste des Browsers ein.

example.com

oder

example.com/wp-admin/install.php

Sie sehen den WordPress-Installationsassistenten. Wählen Sie eine Sprache aus.

Wenn der Installationsassistent nicht angezeigt wird, müssen Sie wahrscheinlich einige PHP7-Erweiterungen installieren.

sudo apt install php-imagick php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-json php7.4-cli php7.4-curl php7.4-zip

Laden Sie dann PHP-FPM und Nginx neu. Der Assistent sollte nun angezeigt werden.

sudo systemctl reload php7.4-fpm nginx

Bevor Sie Ihre vertraulichen Informationen in den Einrichtungsassistenten eingeben, wird empfohlen, HTTPS zu aktivieren, um das Hijacking von Datenverkehr zu verhindern.

Schritt 5:HTTPS aktivieren

Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 20.04-Server zu installieren.

sudo apt install certbot python3-certbot-nginx

Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com

Wo

  • --nginx :Verwenden Sie das Nginx-Plugin.
  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
  • --email :E-Mail, die für die Registrierung und den Wiederherstellungskontakt verwendet wird.
  • -d Flag folgt eine durch Kommas getrennte Liste von Domänennamen. Sie können bis zu 100 Domainnamen hinzufügen.

Das Zertifikat sollte nun abgerufen und automatisch installiert werden.

Wenn Sie jetzt den WordPress-Einrichtungsassistenten neu laden, können Sie sehen, dass HTTP automatisch auf eine HTTPS-Verbindung umgeleitet wird.

Schritt 6:Beenden Sie die Installation mit dem Einrichtungsassistenten

Erstellen Sie ein Administratorkonto und klicken Sie auf WordPress installieren Schaltfläche.

Und jetzt ist Ihre neue WordPress-Site installiert.

So leiten Sie www auf nicht-www um (oder umgekehrt)

Wir haben die Umleitung von HTTP auf HTTPS bereits aktiviert, was noch zu tun ist, ist die Umleitung von www auf nicht-www oder umgekehrt. Es ist sehr leicht. Gehen Sie einfach zum WordPress Dashboard> Einstellungen> Allgemeines und legen Sie Ihre bevorzugte Version (www oder nicht-www) in der WordPress-Adresse fest und Site-Adresse . Stellen Sie sicher, dass Sie https:// angeben Präfix.

So senden Sie E-Mails in WordPress

Ihre WordPress-Site muss E-Mails wie E-Mails zur Kontoregistrierung, E-Mails zum Zurücksetzen von Passwörtern, E-Mails mit Kommentarbenachrichtigungen usw. senden. Anstatt teure Lösungen von Drittanbietern wie Gsuite zu verwenden, um professionelle E-Mail-Adressen für Ihre Website zu erstellen, können Sie diesem iRedMail-Tutorial folgen, um es einzurichten Richten Sie Ihren eigenen Mailserver mit Ihrem eigenen Domainnamen ein, damit Sie unbegrenzt viele Postfächer haben und unbegrenzt E-Mails versenden können, ohne die Bank zu sprengen.

Beachten Sie, dass es eine gute Praxis ist, den Mailserver und WordPress auf zwei verschiedenen virtuellen privaten Servern zu installieren, da Sie nicht möchten, dass der Mailserver die Geschwindigkeit Ihrer WordPress-Site verlangsamt, und der Mailserver die IP-Adresse Ihrer WordPress-Site verliert, wenn dies der Fall ist befinden sich auf demselben virtuellen privaten Server, was bedeutet, dass Hacker jedes von Ihnen verwendete CDN (Content Delivery Network) umgehen und DDoS-Angriffe direkt auf Ihrem Ursprungsserver starten können.

Sobald Ihr Mailserver eingerichtet ist und läuft, können Sie ein SMTP-Plugin in WordPress installieren, damit es sich mit Ihrem Mailserver verbinden und E-Mails senden kann. Gehen Sie zu Ihrem WordPress-Dashboard -> Plugins , klicken Sie auf Neu hinzufügen um ein neues Plugin zu installieren.

Geben Sie dann WP Mail SMTP ein im Suchfeld. Installieren und aktivieren Sie WP Mail SMTP by WPForms Plugin.

Laden Sie die WordPress-Dashboard-Webseite neu, Sie werden WP Mail SMTP sehen in der linken Menüleiste. Klicken Sie darauf und wählen Sie Einstellungen .

Scrollen Sie dann nach unten zum Abschnitt Mailer. Standardmäßig ist der PHP-Mailer ausgewählt. Wir müssen es zu Anderes SMTP ändern .

Scrollen Sie nach unten und Sie müssen die SMTP-Einstellungen eingeben.

  • Geben Sie den Hostnamen Ihres Mailservers ein.
  • Wählen Sie TLS als Verschlüsselung aus.
  • Verwenden Sie Port 587.
  • Authentifizierung aktivieren.
  • Geben Sie eine E-Mail-Adresse Ihrer Domain und das Passwort ein.

Nachdem Sie die Einstellungen gespeichert haben, können Sie den E-Mail-Versand testen, indem Sie sich vom WordPress-Dashboard abmelden und auf Passwort vergessen klicken Link zum Senden einer E-Mail zum Zurücksetzen des Passworts.

Erhöhen Sie die Größenbeschränkung für Upload-Dateien

Standardmäßig dürfen Dateien wie Bilder, PDF-Dateien, die in die WordPress-Medienbibliothek hochgeladen werden, nicht größer als 2 MB sein. Um die Upload-Größenbeschränkung zu erhöhen, bearbeiten Sie die PHP-Konfigurationsdatei.

sudo nano /etc/php/7.4/fpm/php.ini

Suchen Sie die folgende Zeile (Zeile 846).

upload_max_filesize = 2M

Ändern Sie den Wert wie folgt:

upload_max_filesize = 20M

Suchen Sie dann die folgende Zeile (Zeile 694).

post_max_size = 8M

Ändern Sie die maximale Größe von POST-Daten, die PHP akzeptiert.

post_max_size = 20M

Speichern und schließen Sie die Datei. Alternativ können Sie die folgenden beiden Befehle ausführen, um den Wert zu ändern, ohne die Datei manuell zu öffnen.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php.ini

sudo sed -i 's/post_max_size = 8M/post_max_size = 20M/g' /etc/php/7.4/fpm/php.ini

Starten Sie dann PHP-FPM neu.

sudo systemctl restart php7.4-fpm

Nginx legt auch eine Grenze für die Größe der Upload-Datei fest. Die von Nginx festgelegte standardmäßige maximale Upload-Dateigröße beträgt 1 MB. Um das Hochladen großer Dateien auf Ihre WordPress-Site zu ermöglichen, bearbeiten Sie die Nginx-Konfigurationsdatei.

sudo nano /etc/nginx/conf.d/example.com.conf

Wir haben in dieser Datei bereits die maximale Dateigröße festgelegt, wie durch

angegeben
client_max_body_size 2M;

Sie können es ändern, wenn Sie möchten, z. B. 20 Millionen.

client_max_body_size 20M;

Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Nächster Schritt

  • Möglicherweise möchten Sie auch das WP-CLI-Befehlszeilentool verwenden, um Ihre WordPress-Site zu verwalten.
  • Sie können WPScan verwenden, um die Schwachstellen Ihrer WordPress-Site zu scannen.
  • Um die Back-End-Leistung Ihrer WordPress-Site zu überwachen, können Sie Nginx Amplify verwenden.

Ich hoffe, dieses Tutorial hat Ihnen geholfen, WordPress auf Ubuntu 20.04 mit Nginx, MariaDB und PHP7.4 (LEMP-Stack) zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie SuiteCRM mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Wordpress mit Nginx, MariaDB und HHVM auf Ubuntu 16.04 LTS

  4. Installieren Sie WordPress mit Memcached und Nginx auf Ubuntu

  5. So installieren Sie WordPress mit LEMP auf Ubuntu 20.04

So installieren Sie WordPress 4.7 auf Ubuntu 16.04 mit Apache, MariaDB, PHP7

Installieren Sie WordPress auf Ubuntu 18.04 mit Nginx, MariaDB, PHP7.2 (LEMP)

So installieren Sie den LEMP-Stack (Nginx, MariaDB, PHP7.1) unter Ubuntu 17.10

So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS

Installieren Sie WordPress mit Nginx auf Ubuntu 18.04

Wie installiert man LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.04 LTS?