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:

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:

Prüfen Sie die aktualisierten Regeln:

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:

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:

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:

Überprüfen Sie, ob die Datenbank erstellt wurde:

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:

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:

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:

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:

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:

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:

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:

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.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Sudo-Benutzer in Linux anlegen und konfigurieren

Linux Basics, Tutorial
Sudo-Benutzer auf Linux-Distributionen erstellen Das Anlegen eines Sudo-Benutzers ermöglicht es einem Nicht-Root-Nutzer, administrative Aufgaben mit erweiterten Rechten durchzuführen. Anstatt sich direkt als Root anzumelden, authentifiziert sich der Benutzer mit seinem…