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
- Stellen Sie sicher, dass das System auf dem neuesten Stand ist
- Installieren des MySQL 8-Datenbankservers und Erstellen eines WordPress-Benutzers
- Installieren Sie den Nginx-Webserver
- Installieren Sie PHP mit Abhängigkeiten
- Konfigurieren Sie PHP- und PHP-FPM-Einstellungen
- WordPress herunterladen und konfigurieren
- Nginx zum Bereitstellen von WordPress-Inhalten einrichten
- 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.