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

Hosten Sie WordPress in Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

WordPress ist ein kostenloses und Open-Source-Content-Management-System, das in PHP geschrieben und mit einer MySQL- oder MariaDB-Datenbank gekoppelt ist. WordPress ist heute eines der beliebtesten CMS.

WordPress.com ist eine gehostete Software-as-a-Service (SaaS)-Plattform, mit der Sie eine Website mit WordPress-Bausteinen erstellen können. Es kostet Sie, Ihre Website auf der WordPress-Site zu hosten.

Die WordPress-Software ist kostenlos und Open Source, aber um sie zum Laufen zu bringen, müssen Sie ein Hosting einrichten. In dieser Anleitung gehen wir mit dieser Option vor und richten WordPress in Ubuntu 20.04 ein.

Voraussetzungen

Um dieser Anleitung zu folgen, benötigen wir Folgendes:

  • Aktueller Ubuntu 20.04 Server mit Internetverbindung
  • Root-Zugriff auf dem Server oder ein Benutzer mit sudo-Zugriff
  • Kenntnis der Verwendung von Linux-Terminals

Erforderliche Schritte, damit WordPress unter Ubuntu 20.04 funktioniert

  1. Stellen Sie sicher, dass das System auf dem neuesten Stand ist
  2. Installieren des MySQL 8-Datenbankservers und Erstellen eines WordPress-Benutzers
  3. Installieren Sie den Nginx-Webserver
  4. Installieren Sie PHP mit Abhängigkeiten
  5. Konfigurieren Sie PHP- und PHP-FPM-Einstellungen
  6. WordPress herunterladen und konfigurieren
  7. Nginx zum Bereitstellen von WordPress-Inhalten einrichten
  8. WordPress-Installation testen

1. Stellen Sie sicher, dass das System auf dem neuesten Stand ist

Bevor Sie fortfahren, stellen Sie sicher, dass unser Server aktualisiert ist. Verwenden Sie diese Befehle, um 1. die Server-Repositories zu aktualisieren, 2. Serverpakete auf die neuesten Versionen zu aktualisieren:

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2. MySQL 8-Datenbankserver installieren und WordPress-Benutzer erstellen

Das erforderliche mysql-server-Paket ist in den standardmäßigen Ubuntu-Repositories nicht vorhanden. Also müssen wir es einrichten.

Das MySQL-Team stellt eine herunterladbare .deb bereit Datei, die die Repositories für die Installation von MySQL Server 8 konfiguriert. Laden Sie es mit diesem Befehl herunter:

curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb

Sobald der Download abgeschlossen ist, müssen wir die heruntergeladene Deb-Datei installieren. Verwenden Sie diesen Befehl zum Installieren:

sudo dpkg -i ./mysql-apt-config_0.8.19-1_all.deb

Dadurch wird ein Konfigurationsfenster geöffnet, in dem Sie aufgefordert werden, die MySQL-Serverversion und andere Komponenten wie Cluster, gemeinsam genutzte Client-Bibliotheken oder die MySQL-Workbench auszuwählen

Da wir vorerst nur an der Mysql-Server-Installation interessiert sind, belassen Sie die Standardeinstellungen und klicken Sie auf OK um fortzufahren.

Mysql-Server installieren

Nachdem die Repos hinzugefügt wurden, um den MySQL-Server einzuschließen, können wir jetzt installieren. Lassen Sie uns mit diesem Befehl die Repositories aktualisieren, um das Neueste aus dem hinzugefügten Repo zu erhalten:

$ sudo apt update

Installieren Sie dann Mysql 8 Server mit diesem Befehl:

sudo apt install -y mysql-server

Geben Sie Ihre Administratoranmeldeinformationen ein und das System installiert das MySQL-Serverpaket, die Clientpakete und die gemeinsamen Datenbankdateien.

Die Installation fordert Sie auf, einen Root-Benutzer und ein Passwort für die MySQL-Datenbank einzugeben und zu bestätigen.

Danach werden Sie aufgefordert, das Authentifizierungs-Plugin auszuwählen. Es wird empfohlen, ein starkes Passwort zu verwenden:

Danach wird das neue Passwort gesetzt und der Dienst neu geladen.

Bestätigen Sie mit diesem Befehl, dass der MySQL-Server betriebsbereit ist:

$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 13:08:22 UTC; 2min 23s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 45123 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 45173 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4710)
     Memory: 353.0M
     CGroup: /system.slice/mysql.service
             └─45173 /usr/sbin/mysqld

Sep 28 13:08:21 ip-172-26-11-229 systemd[1]: Starting MySQL Community Server...
Sep 28 13:08:22 ip-172-26-11-229 systemd[1]: Started MySQL Community Server.

Der Active: active (running) since ... Abschnitt oben zeigt, dass die App betriebsbereit ist.

Verbinden Sie sich mit dem Server und erstellen Sie den Benutzer

Nach erfolgreicher mysql-server-Installation verbinden wir uns mit dem Server und erstellen einen WordPress-Benutzer.

Stellen Sie eine Verbindung zum MySQL-Server her und geben Sie das zuvor angegebene Passwort ein:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Erstellen Sie dann eine Datenbank, einen Benutzer und ein Passwort:

mysql> create database wordpress_db;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'wordpress_user'@'%' identified by 'S0mStrongPa$$word';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on wordpress_db.* to 'wordpress_user'@'%';
Query OK, 0 rows affected (0.00 sec)

3. Installieren Sie den Nginx-Webserver

Nginx funktioniert nicht, wenn Apache installiert ist und ausgeführt wird. Da wir Nginx verwenden werden, verwenden wir diesen Befehl, um Apache zu entfernen, wenn er in unserem System installiert ist:

$ sudo apt remove apache2 -y

So installieren Sie Nginx:

sudo dnf -y install nginx

Sobald die Installation abgeschlossen ist, starten Sie Nginx und aktivieren Sie den automatischen Start nach einem Neustart

systemctl start nginx
systemctl enable nginx

Überprüfen Sie den Nginx-Status:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 16:28:30 UTC; 1min 2s ago
       Docs: man:nginx(8)
   Main PID: 56990 (nginx)
      Tasks: 3 (limit: 4710)
     Memory: 3.7M
     CGroup: /system.slice/nginx.service
             ├─56990 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─56991 nginx: worker process
             └─56992 nginx: worker process

Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Starting A high performance web server and a reverse pr>
Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Started A high performance web server and a reverse pro>

Verwenden Sie diesen Befehl, um zu bestätigen, dass Nginx tatsächlich ausgeführt wird und erreichbar ist:

curl http://server_ip/

Wobei server_ip ist die ip deines server. Wenn Sie aus irgendeinem Grund die öffentliche IP Ihres Servers nicht kennen, verwenden Sie diese zur Überprüfung

curl -4 icanhazip.com

Sie sollten die Nginx-Standardseite sehen.

4. PHP mit Abhängigkeiten installieren

Da die Standard-Repositories die PHP-Version 7.4 enthalten, installieren wir sie mit diesem Befehl:

sudo apt install php -y

Bestätigen Sie die installierte Version mit dem Befehl php -v :

~$ php -v
PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Als nächstes installieren wir PHP-Abhängigkeiten. Die PHP-Abhängigkeiten sind als Pakete auf Betriebssystemebene mit dem Präfix php- verfügbar . Lassen Sie uns die Abhängigkeiten installieren, die WordPress mit diesem Befehl benötigt:

sudo apt install -y \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

5. PHP- und PHP-FPM-Einstellungen konfigurieren

Globale PHP-Einstellungen für die installierte PHP-Version werden in /etc/php/7.4/cli/php.ini gespeichert Datei. Aktualisieren wir diese Einstellungen.
Öffnen Sie php.ini mit Ihrem bevorzugten Texteditor verwende ich vim

sudo vim /etc/php/7.4/cli/php.ini

Suchen Sie dann nach den folgenden Variablen und aktualisieren Sie die Werte wie unten gezeigt:

post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi

6. WordPress herunterladen und konfigurieren

Nachdem wir die Server eingerichtet haben, laden wir WordPress herunter und installieren es auf dem Server. Die neueste Version von WordPress kann von ihrer offiziellen Website heruntergeladen werden.
Erstellen wir ein Verzeichnis, in dem unsere WordPress-Inhalte unter diesem Pfad /var/www/example.citizix.com bereitgestellt werden .

sudo mkdir /var/www/example.citizix.com

Stellen Sie sicher, dass der Webbenutzer Eigentümer des Inhalts ist:

sudo chown -R www-data.www-data /var/www/example.citizix.com

Laden Sie die neuesten WordPress-Inhalte herunter:

cd /tmp
curl -LO https://wordpress.org/latest.zip

Beispielausgabe:

$ curl -LO https://wordpress.org/latest.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.7M  100 15.7M    0     0  6650k      0  0:00:02  0:00:02 --:--:-- 6647k
$ ls
latest.zip

Extrahieren und verschieben Sie den Inhalt in unser Serververzeichnis. Stellen Sie sicher, dass Sie unzip haben Befehl oder mit sudo apt install unzip installieren .

unzip latest.zip
sudo mv wordpress/* /var/www/example.citizix.com

# Confirm content with
ls /var/www/example.citizix.com

WordPress konfigurieren

Nachdem der WordPress-Inhalt nun in das Site-Verzeichnis kopiert wurde, können Sie die db-Konfiguration mit der bereitgestellten Beispieldatei aktualisieren.
Wechseln Sie zum Site-Verzeichnis:

cd /var/www/example.citizix.com/

Kopieren Sie Ihr wp-config-sample Datei nach wp-config.php .

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

Öffnen Sie die Konfigurationsdatei in einem Texteditor:

vim wp-config.php

Aktualisieren Sie diese Variablen:DB_NAME , DB_USER , DB_PASSWORD , DB_HOST :

<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Speichern Sie die Textdatei, sobald dies erledigt ist.

Machen Sie den Webbenutzer zum Besitzer des WordPress-Verzeichnisses, damit er Zugriff hat und die Dateien bereitstellen kann.

sudo chown -R www-data:www-data /var/www/example.citizix.com

7. Richten Sie Nginx zum Bereitstellen von WordPress-Inhalten ein

Nachdem die Konfiguration nun vorhanden ist, konfigurieren wir einen virtuellen Nginx-Host, um den Inhalt bereitzustellen, den wir gerade zu /var/www/example.citizix.com hinzugefügt haben
Erstellen wir eine virtuelle Site in dem Verzeichnis, in dem Nginx hier Inhalte bereitstellt /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/example.citizix.com.conf

Fügen Sie den folgenden Inhalt hinzu:

server {
    listen 80;

    server_name example.citizix.com;
    root /var/www/example.citizix.com;
    index index.php;

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

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

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

Stellen Sie sicher, dass die hinzugefügte Konfiguration gut ist, indem Sie diesen Befehl zum Testen verwenden:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nachdem Sie bestätigt haben, dass alles in Ordnung ist, starten Sie Nginx neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

8. Testen Sie abschließend die WordPress-Installation

Sobald alle oben genannten Schritte abgeschlossen sind, ist die Installation über die Befehlszeile abgeschlossen. Sie können Ihren bevorzugten Webbrowser öffnen und ihn auf http://example.citizix.com/ verweisen. Sie sollten den folgenden Bildschirm erhalten, der Sie auffordert, mit der Einrichtung der WordPress-Installation zu beginnen:

[Hier anzeigen]

Es sollte einfach sein, den Anweisungen zum erstmaligen Einrichten von WordPress zu folgen.


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

  2. Installieren Sie WordPress auf Nginx Ubuntu

  3. So installieren Sie MySQL Server unter Ubuntu 16.04

  4. So installieren Sie MySQL Server unter Ubuntu 17.04

  5. So installieren Sie WordPress mit OpenLiteSpeed ​​unter Ubuntu 18.04

Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) auf Ubuntu 14.10

Installieren Sie Nginx, MySQL, PHP (LEMP Stack) auf Ubuntu 20.04 LTS

Deinstallieren Sie MySQL Server vollständig in Ubuntu

So installieren Sie MySQL-Server in Ubuntu

So installieren Sie Nginx auf Ubuntu

So installieren Sie MySQL Server unter Ubuntu 20.04