WordPress auf Ubuntu 24.04 mit LEMP installieren und einrichten
WordPress ist ein quelloffenes Content-Management-System (CMS), das mit PHP entwickelt und von MySQL oder MariaDB unterstützt wird. Ursprünglich als Blogging-Plattform gestartet, hat es sich zu einer der beliebtesten Lösungen für den Aufbau von Websites entwickelt und betrieb bis Dezember 2024 mehr als 22 % der Top eine Million Websites.
In dieser Anleitung erfahren Sie, wie Sie WordPress auf einem Ubuntu 24.04 Server mit dem LEMP-Stack (Linux, Nginx, MySQL, PHP) installieren und konfigurieren. Sie installieren die benötigte Software, sichern Ihre Umgebung ab und richten WordPress so ein, dass es dynamische Inhalte über Ihren eigenen Server ausliefert.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Sie folgende Bedingungen erfüllen:
- Zugriff auf einen Ubuntu 24.04 Server mit einem Nicht-Root-Benutzer mit Sudo-Rechten.
- Eine Domain-A-Record, die auf die IP Ihres Servers verweist (z. B. www.example.com), falls Sie eine eigene Domain nutzen.
Nginx Webserver installieren
Installieren Sie Nginx auf Ihrem System:
$ sudo apt install nginx -y
Starten Sie den Nginx-Dienst:
$ sudo systemctl start nginx
Aktivieren Sie Nginx, damit es beim Systemstart automatisch startet:
$ sudo systemctl enable nginx
Überprüfen Sie den Status, um sicherzustellen, dass Nginx läuft:
$ sudo systemctl status nginx
Beispielausgabe:
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: active (running) since Sat 2025-04-26 13:18:09 WAT; 9min ago
Docs: https://nginx.org/en/docs/
Main PID: 1629 (nginx)
...
Firewall konfigurieren
Passen Sie nun die Firewall-Einstellungen mit UFW (Uncomplicated Firewall) an, um HTTP- und HTTPS-Datenverkehr zuzulassen.
Überprüfen Sie den aktuellen Firewall-Status:
$ sudo ufw status
Erlauben Sie HTTP- und HTTPS-Verkehr mit dem Nginx Full-Profil:
$ sudo ufw allow "Nginx Full"
Laden Sie UFW neu, um die Änderungen zu übernehmen:
$ sudo ufw reload
Prüfen Sie die aktualisierten Regeln:
$ sudo ufw status
Erwartete Ausgabe:
To Action From
-- ------ ----
Nginx Full ALLOW Anywhere
Nginx Full (v6) ALLOW Anywhere (v6)
MySQL-Datenbank installieren
Installieren und konfigurieren Sie nun den MySQL-Datenbankserver für WordPress.
Installieren Sie das MySQL-Server-Paket:
$ sudo apt install mysql-server -y
Überprüfen Sie, ob MySQL korrekt installiert wurde:
$ mysql --version
Beispielausgabe:
mysql Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
Starten Sie den MySQL-Dienst:
$ sudo systemctl start mysql
Aktivieren Sie MySQL für den automatischen Start beim Booten:
$ sudo systemctl enable mysql
Überprüfen Sie, ob der Dienst aktiv läuft:
$ sudo systemctl status mysql
Beispielausgabe:
● mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled)
Active: active (running) since Sat 2025-04-26 13:42:56 WAT; 2min ago
Main PID: 43442 (mysqld)
...
Führen Sie zur Absicherung das integrierte Skript zur MySQL-Sicherheitskonfiguration aus:
$ sudo mysql_secure_installation
Datenbank und Benutzer für WordPress anlegen
WordPress benötigt eine eigene MySQL-Datenbank für Inhalte, Einstellungen und Benutzerdaten. Gehen Sie wie folgt vor:
Melden Sie sich als Root-Benutzer in der MySQL-Shell an:
$ sudo mysql
Erstellen Sie die Datenbank für WordPress:
mysql> CREATE DATABASE wordpressdb;
Legen Sie einen eigenen Benutzer mit sicherem Passwort an:
mysql> CREATE USER 'wordpressdbuser'@'localhost' IDENTIFIED BY 'strongpassword';
Weisen Sie dem Benutzer alle Rechte auf der WordPress-Datenbank zu:
mysql> GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressdbuser'@'localhost';
Aktualisieren Sie die Rechte mit folgendem Befehl:
mysql> FLUSH PRIVILEGES;
Überprüfen Sie, ob die Datenbank erstellt wurde:
mysql> SHOW DATABASES;
Beispielausgabe:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpressdb |
+--------------------+
Prüfen Sie, ob der Benutzer erstellt wurde:
mysql> SELECT User, Host FROM mysql.user WHERE User = 'wordpressdbuser';
Beispielausgabe:
+-----------------+-----------+
| User | Host |
+-----------------+-----------+
| wordpressdbuser | localhost |
+-----------------+-----------+
Bestätigen Sie die zugewiesenen Rechte:
mysql> SHOW GRANTS FOR 'wordpressdbuser'@'localhost';
Beispielausgabe:
+--------------------------------------------------------------------------+
| Grants for wordpressdbuser@localhost |
+--------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `wordpressdbuser`@`localhost` |
| GRANT ALL PRIVILEGES ON `wordpressdb`.* TO `wordpressdbuser`@`localhost` |
+--------------------------------------------------------------------------+
Verlassen Sie die MySQL-Shell:
mysql> EXIT;
PHP und Erweiterungen installieren
WordPress benötigt PHP, um dynamische Inhalte zu erzeugen und eine Verbindung zur MySQL-Datenbank herzustellen. Beginnen Sie mit der Installation von PHP und den erforderlichen Modulen:
PHP und benötigte Pakete installieren:
$ sudo apt install php php-cli php-common php-imap php-fpm php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-gd php-intl -y
Installierte PHP-Version überprüfen:
$ php -v
Beispielausgabe:
PHP 8.3.X (cli) (built: ...)
Prüfen, ob php-fpm aktiv ist:
$ sudo systemctl status php8.3-fpm
WordPress herunterladen und installieren
Im nächsten Schritt wird WordPress heruntergeladen und eingerichtet:
Neueste WordPress-Version herunterladen:
$ wget http://wordpress.org/latest.tar.gz
Heruntergeladenes Archiv entpacken:
$ sudo tar -xvzf latest.tar.gz
Dateien nach Nginx-Webroot verschieben:
$ sudo mv wordpress/* /var/www/html/
Dateibesitz anpassen:
$ sudo chown -R www-data:www-data /var/www/html
In das Webroot-Verzeichnis wechseln:
$ cd /var/www/html/
Standard-Nginx-Dateien entfernen:
$ sudo rm index.html index.nginx-debian.html
Beispiel-Konfiguration von WordPress umbenennen:
$ sudo mv wp-config-sample.php wp-config.php
Vorhandene WordPress-Dateien prüfen:
$ ls -l
Sicherstellen, dass Dateien wie wp-config.php
, wp-login.php
und der Ordner wp-admin
vorhanden sind.
Die wp-config.php Datei anpassen
WordPress benötigt Datenbankinformationen, um sich mit MySQL zu verbinden. Öffnen und bearbeiten Sie dazu die Konfigurationsdatei:
wp-config.php mit Editor öffnen:
$ sudo nano wp-config.php
Datenbankinformationen eintragen:
// Datenbankname für WordPress
define( 'DB_NAME', 'wordpressdb' );
// MySQL-Datenbank-Benutzername
define( 'DB_USER', 'wordpressdbuser' );
// Passwort des MySQL-Benutzers
define( 'DB_PASSWORD', 'strongpassword' );
// MySQL-Host
define( 'DB_HOST', 'localhost' );
Datei speichern und schließen. Achten Sie darauf, dass die Werte mit den zuvor eingerichteten Daten übereinstimmen.
Nginx Server Block für WordPress erstellen
Damit Nginx WordPress korrekt bedienen kann, wird ein eigener Server Block konfiguriert:
Aktiven PHP-FPM-Socket anzeigen:
$ ls /var/run/php
Beispielausgabe:
php8.3-fpm.pid php8.3-fpm.sock php-fpm.sock
Nginx-Standardkonfiguration bearbeiten:
$ sudo nano /etc/nginx/sites-available/default
Beispielkonfiguration einfügen:
server {
listen 80;
server_name www.example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
Konfiguration überprüfen:
$ sudo nginx -t
Beispielausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nginx neu starten:
$ sudo systemctl restart nginx
Auf das WordPress-Dashboard zugreifen
Öffnen Sie einen Browser und rufen Sie http://www.example.com
auf. Dort erscheint die Installationsseite von WordPress.
Wählen Sie Ihre Sprache, klicken Sie auf Fortfahren, geben Sie Titel, Benutzername, Passwort und E-Mail-Adresse ein und klicken Sie auf WordPress installieren. Anschließend melden Sie sich mit den erstellten Zugangsdaten im Dashboard an.
Fazit
In dieser Anleitung haben Sie WordPress auf Ubuntu 24.04 mit dem LEMP-Stack (Linux, Nginx, MySQL, PHP) eingerichtet. Sie haben Nginx konfiguriert, eine sichere MySQL-Datenbank erstellt, PHP mit allen benötigten Erweiterungen eingerichtet und WordPress für den produktiven Einsatz installiert.