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.
Passende Infrastruktur bei centron
Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
Nginx Webserver installieren
Installieren Sie Nginx auf Ihrem System:
$ sudo apt install nginx -yStarten Sie den Nginx-Dienst:
$ sudo systemctl start nginxAktivieren 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 nginxBeispielausgabe:
● 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 statusErlauben 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 reloadPrüfen Sie die aktualisierten Regeln:
$ sudo ufw statusErwartete 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 --versionBeispielausgabe:
mysql Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)Starten Sie den MySQL-Dienst:
$ sudo systemctl start mysqlAktivieren 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 mysqlBeispielausgabe:
● 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_installationDatenbank 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 mysqlErstellen 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 -yInstallierte PHP-Version überprüfen:
$ php -vBeispielausgabe:
PHP 8.3.X (cli) (built: ...)Prüfen, ob php-fpm aktiv ist:
$ sudo systemctl status php8.3-fpmWordPress herunterladen und installieren
Im nächsten Schritt wird WordPress heruntergeladen und eingerichtet:
Neueste WordPress-Version herunterladen:
$ wget http://wordpress.org/latest.tar.gzHeruntergeladenes Archiv entpacken:
$ sudo tar -xvzf latest.tar.gzDateien nach Nginx-Webroot verschieben:
$ sudo mv wordpress/* /var/www/html/Dateibesitz anpassen:
$ sudo chown -R www-data:www-data /var/www/htmlIn das Webroot-Verzeichnis wechseln:
$ cd /var/www/html/Standard-Nginx-Dateien entfernen:
$ sudo rm index.html index.nginx-debian.htmlBeispiel-Konfiguration von WordPress umbenennen:
$ sudo mv wp-config-sample.php wp-config.phpVorhandene WordPress-Dateien prüfen:
$ ls -lSicherstellen, 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.phpDatenbankinformationen 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/phpBeispielausgabe:
php8.3-fpm.pid php8.3-fpm.sock php-fpm.sockNginx-Standardkonfiguration bearbeiten:
$ sudo nano /etc/nginx/sites-available/defaultBeispielkonfiguration 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 -tBeispielausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulNginx neu starten:
$ sudo systemctl restart nginxAuf 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.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.