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

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

Dieses Tutorial zeigt Ihnen, wie Sie WordPress auf Ubuntu 18.04 mit Nginx, MariaDB und PHP7.2 (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.2 wurde in das Ubuntu 18.04-Repository aufgenommen und WordPress läuft perfekt damit.

Voraussetzung

Um diesem Tutorial zu folgen, benötigen Sie einen Ubuntu 18.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 18.04 eingerichtet haben. Wenn nicht, sehen Sie sich bitte das folgende Tutorial an.

  • So installieren Sie LEMP Stack (Nginx, MariaDB, PHP7.2) auf Ubuntu 18.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 18.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 18.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 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. 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');

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 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-sitemap.*\.xml {
     try_files $uri $uri/ /index.php$is_args$args;
  }

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

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

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.2-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.2-mbstring php7.2-bcmath php7.2-xml php7.2-mysql php7.2-common php7.2-gd php7.2-json php7.2-cli php7.2-curl php7.2-zip

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

sudo systemctl reload php7.2-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 18.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.

Böswillige Anfragen verhindern

Nach der Installation von WordPress ist kein Zugriff auf /wp-admin/setup-config.php erforderlich und /wp-admin/install.php URL nicht mehr. Angreifer können jedoch auf diese beiden URLs zugreifen, und wenn eine Schwachstelle gefunden wird, könnte der Angreifer in Ihr WordPress-Backend gelangen. Um den Zugriff auf diese beiden URLs zu verhindern, fügen Sie die folgenden Zeilen im Nginx-Serverblock hinzu. Fügen Sie sie vor dem location ~ \.php$ { hinzu Linie.

location ~* ^/wp-admin/(setup-config|install)\.php$ {
       deny all;
}

Wenn Sie nicht möchten, dass andere Personen ein Konto auf Ihrer WordPress-Site registrieren, können Sie die folgenden Zeilen hinzufügen, um den Zugriff auf /wp-login.php einzuschränken URL, sodass nur Ihre IP-Adresse auf diese URL zugreifen kann. Ersetzen Sie 78.56.34.12 durch Ihre eigene IP-Adresse.

location = /wp-login.php {
    try_files $uri $uri/ /index.php?$args;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 
    include snippets/fastcgi-php.conf; 
 
    allow 78.56.34.12;
    deny all;
}

Vergessen Sie nicht, Nginx neu zu laden, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Wenn Sie in Ihrem Heimnetzwerk keine statische IP-Adresse haben, können Sie einen VPN-Server in einem Rechenzentrum einrichten.

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.

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 18.04 mit Nginx, MariaDB und PHP7.2 (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 Magento mit Nginx unter Ubuntu 16.04

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

  5. So installieren Sie WordPress mit LEMP auf Ubuntu 20.04

Installieren Sie WordPress auf Ubuntu 20.04 mit Apache, MariaDB, PHP7.4 (LAMP)

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

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

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