WordPress auf Linux Ubuntu 22.04 mit einem LAMP-Stack installieren (Tutorial)

In diesem Beitrag zeige ich euch, wie die Installation von WordPress auf einem Server mit Linux Ubuntu 22.04 oder einer anderen APT-basierten Distribution, wie Debian 12, in wenigen Schritten durchgeführt wird. Dafür implementieren wir zuerst einen LAMP-Stack mit allen notwendigen Abhängigkeiten, die für die Bereitstellung eines Webservers mit dem Content-Management-System WordPress erforderlich sind. Dazu zählt selbstverständlich auch die Installation und Einrichtung einer MySQL-Datenbank für WordPress.

Sobald alle Komponenten erfolgreich installiert worden sind, laden wir die neuste Version von WordPress herunter und migrieren sie auf dem Webserver. Am Ende der Anleitung werden wir zusätzlich noch ein kostenloses SSL-Zertifikat mit Certbot und Let’s Encrypt installieren, damit die Webseite, die wir auf dem eigenen Server mit WordPress bereitstellen (selfhosted), über HTTPS verschlüsselt wird.

Inhaltsverzeichnis: Installation von WordPress unter Linux Ubuntu 22.04 / Debian 12

Was ist ein LAMP-Stack und warum wird diese Software-Konstellation für die Installation von WordPress unter Linux benötigt?

Die Bezeichnung L-A-M-P resultiert aus den Anfangsbuchstaben, die sich aus den folgenden Komponenten ergeben, die für einen Großteil aller Webanwendungen erforderlich sind. Anbei folgt eine kurze Erklärung:

Linux (Betriebssystem): Das Betriebssystem wird auf dem Hostsystem installiert und bildet die Basis des gesamten Stacks. Die Wahl einer geeigneten Distribution ist für die Installation von großer Wichtigkeit, da sich die Implementierung der einzelnen Schritte je nach installierter Linux-Distribution erheblich voneinander unterscheiden. Das liegt größtenteils an den verschiedenen Paketquellen und Installationsweisen.

Apache (Webserver): Apache ist ein sehr weitverbreiteter Open-Source basierter Webserver, der es ermöglicht, Webinhalte bereitzustellen. Der Webserver wird aufgrund seiner Einfachheit und der hohen Performance sehr häufig auf Linux-basierten Server eingesetzt.

MySQL (Datenbankmanagement-System): MySQL ist ein quelloffenes Datenbankmanagement-System, das zum Betreiben von relationalen Datenbanken verwendet wird. Es ermöglicht die Speicherung und Verwaltung von Datenbanken.

PHP (Skriptsprache): PHP (Hypertext Preprocessor) ist eine serverseitige Skriptsprache, die verwendet wird, um Webseiten und Anwendungen dynamisch bereitzustellen. Sie wird auch für die Verarbeitung von Anfragen und zur Kommunikation mit der Datenbank eingesetzt.

Für die Installation von WordPress ist ein LAMP-Stack eine häufig getroffene Wahl. Alternativ könnte man auch einen anderen Webserver z. B. Nginx installieren, dann würde man allerdings von einem LEMP-Stack sprechen. Das funktioniert in der Praxis jedoch genauso gut. Wichtig! Wenn wir mehr als eine einzelne  Webseite mit WordPress bereitstellen möchten, benötigen wir einen Reverse-Proxy-Server. Die Webports (80/443) lassen sich im Router nur für eine einzige IP-Adresse, also einen einzelnen Host öffnen. Mit dem Nginx Proxy-Manager kann man das umgehen (Anleitung).

Schritt 1: Systemanmeldung und Aktualisierungen durchführen

Vor der Installation von WordPress unter Linux Ubuntu 22.04 oder alternativ Debian 12, ist es empfehlenswert, das Hostsystem auf dem neusten Stand zu bringen. Dafür aktualisieren wir die Paketquellen und die bereits installierten Software-Pakete.

Verwende dafür den folgenden Befehl:

sudo apt-get update && apt-get upgrade -y

Jetzt wechseln wir auf den Root-Benutzer, damit wir nicht jeden einzelnen Befehl mit dem sudo-Command ausführen müssen (nur für Linux Ubuntu notwendig):

sudo su root

Schritt 2: Einen LAMP-Stack unter Ubuntu für WordPress installieren

In diesem Abschnitt erfolgt die Installation eines LAMP-Stacks für WordPress. Verwende den folgenden Befehl, um Apache, MariaDB und PHP auf deinem Server zu installieren:

apt install apache2 mariadb-server php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap libapache2-mod-php php-mysql -y

Starte den Webserver mit dem folgenden Befehl:

systemctl start apache2

Damit der Webserver nach einem Neustart wieder automatisch ausgeführt wird, sollte noch der folgende Befehl ausgeführt werden:

systemctl enable apache2

Schritt 3: Installation und Konfiguration der Datenbank (MariaDB)

WordPress benötigt eine installierte Datenbank mit einem eigenen Datenbank-Benutzer und den entsprechenden Berechtigungen. Um die Datenbank auf dem Server zu installieren, führen wir zunächst das vorkonfigurierte Installationsskript aus:

mysql_secure_installation

Beantworte die Fragen wie angegeben:

Enter current password for root (enter for none): ENTER
Set root password? [Y/n]: Y
New password: Vergebe ein sicheres Passwort
Re-enter new password: Vergebe ein sicheres Passwort
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Sobald MariaDB erfolgreich installiert wurde, können wir die MySQL-Shell aufrufen und die Datenbank installieren:

mysql -u root -p

Erstelle eine neue Datenbank für WordPress:

CREATE DATABASE wordpress;

Erstelle einen Datenbank-Benutzer:

CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'passwort';

Gebe dem Benutzer die notwendigen Berechtigungen:

GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

Änderungen wirksam machen:

FLUSH PRIVILEGES;

Die Datenbank ist jetzt fertig vorbereitet. Verlasse die MySQL-Shell:

EXIT;

Hinweis: Notiere dir das Passwort von deinem Datenbank-Benutzer (wordpress), das wird im nächsten Schritt für die Installation von WordPress benötigt!

Schritt 4: Die aktuelle Version von WordPress für Linux herunterladen (latest)

In diesem Abschnitt implementieren wir die aktuelle Version von dem Content-Management-System WordPress. Zum Zeitpunkt dieser Installationsanleitung ist die Version 6.3 erhältlich. Dafür navigieren wir zunächst in das www-Verzeichnis vom Webserver und anschließend laden wir das Archiv mit dem wget-Befehl herunter.

In das Apache Webseiten-Verzeichnis wechseln:

cd /var/www/html

WordPress Download:

wget http://wordpress.org/latest.tar.gz

Entpacke das Archiv:

tar -xvzf latest.tar.gz

Wechsel jetzt in das Verzeichnis von WordPress:

cd wordpress

Benenne die Beispiel-Konfigurationsdatei um:

mv wp-config-sample.php wp-config.php

Jetzt muss noch die Verbindung zur Datenbank hergestellt werden. Dafür müssen die Zugangsdaten in die wp-config.php Datei eingetragen werden. Wir verwenden den nano Editor und konfigurieren die nachfolgenden Zeilen:

nano wp-config.php

Füge die Zugangsdaten deiner Datenbank, wie angegeben, hinzu:

define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wordpress' );
/** Database password */
define( 'DB_PASSWORD', 'passwort' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );

Speichere die Änderungen ab [STRG+S] und verlasse den Editor wieder [STRG+X].

Schritt 5: Apache-Webserver für WordPress konfigurieren

Wir sind fast fertig! Damit der Webserver die WordPress-Seite ausgeben kann, muss er über die Berechtigungen des Verzeichnisses verfügen. Das erledigen wir mit diesen zwei Befehlen:

chown -R www-data:www-data /var/www/html/wordpress
chmod -R 775 /var/www/html/wordpress

Jetzt muss noch einen Apache virtual Host angelegt werden:

nano /etc/apache2/sites-available/wordpress.conf

Kopiere den folgenden Inhalt und editiere die Zeilen „ServerAdmin“ und „ServerName“. Der Rest kann für gewöhnlich übernommen werden:

<VirtualHost *:80>
ServerAdmin admin@deinedomain.de
DocumentRoot /var/www/html/wordpress
ServerName wordpress.fritz.box
<Directory /var/www/html/wordpress/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
</VirtualHost>

Speichere die Änderungen ab [STRG+S] und verlasse den Editor wieder [STRG+X].

Aktiviere die Konfiguration und das rewrite-Modul:

a2ensite wordpress.conf
a2enmod rewrite

Damit alle Änderungen wirksam werden, muss der Webserver jetzt neu gestartet werden:

systemctl restart apache2

WordPress-Installation unter Linux Ubuntu 22.04 / Debian 12 abgeschlossen

Installation von WordPress unter Linux Ubuntu 22.04

Die Installation von WordPress unter Linux Ubuntu 22.04 ist an diesem Punkt abgeschlossen. Verwende jetzt einen beliebigen Webbrowser und rufe die Domain oder die IP-Adresse deines Servers auf. Anschließend folgt die WordPress-Installation über den Browser.

Hinweis: Sollte nur die Apache-Webseite vom Webserver ausgegeben werden und nicht die Installationsseite von WordPress, dann kann de Defaut-Page mit diesem Befehl deaktiviert werden: 

a2dissite 000-default.conf

Wähle im ersten Schritt eine Sprache aus und lege ein neues Benutzerkonto an. Melde dich mit deinen WordPress-Zugangsdaten an und mache dich mit dem Dashboard vertraut.

Das Dashboard als Administrator aufrufen: http://deine-domain.de

Jetzt ist es an der Zeit, ein hübsches Theme zu installieren. Du kannst damit anfangen, neue Seiten und Beiträge zu erstellen oder den Plugin-Bereich zu erkundigen. Es gibt eine große Anzahl von nützlichen Plug-ins für das meiner Ansicht nach beste Content-Management-System. Es sind viele kostenlose Themes und Plug-ins im Internet erhältlich.

Lamp-Stack mit WordPress installieren

Ein Kostenloses SSL-Zertifikat mit Certbot installieren (optional)

Möchtest du deine Internetseite produktiv einsetzen, solltest du unbedingt noch ein kostenloses SSL-Zertifikat von Let’s Encrypt installieren. Das dauert mit der Certbot-Installationsmethode keine 3-Minuten. Alles, was du dafür benötigst, ist eine gültige E-Mail-Adresse und eine Domain, über die deine Webseite erreichbar ist.

Installiere Certbot für Apache:

apt install python3-certbot-apache -y

Lets-Encrypt SSL-Zertifikat beziehen:

certbot --apache -d deinedomain.de

Tippe eine gültige E-Mail-Adresse ein und bestätige die Terms of Service mit einem A (Agree). Wähle im nächsten Abschnitt die Auswahlmöglichkeit (2) für Redirect – Make all requests redirect to secure HTTPS access. Folglich wird ein gültiges Zertifikat vom Server bezogen.

Die Installation eines Lets-Encrypt SSL-Zertifikats mit Certbot war erfolgreich, wenn die folgende Meldung ausgegeben wird:

Congratulations! You have successfully enabled https://deinedomain.de

Tipps für die Härtung eines WordPress-Webserver

Ubuntu WordPress härte den Server nach der Installation

Es ist wichtig, einen WordPress-Server unmittelbar nach der Installation zu härten, um die Sicherheit vom Webserver und deines Netzwerks zu erhöhen. Dafür möchte ich euch abschließend noch ein paar Empfehlungen für die Systemhärtung mitgeben.

1. Halte das Hostsystem immer aktuell: Führe in regelmäßigen Abständen Aktualisierungen und Patches auf deinem Hostsystem durch. Veraltete Softwarepakete können das Risiko für Angriffe erheblich erhöhen.

sudo apt update 
sudo apt upgrade

2. WordPress Dashboard (wp-admin): Themes und Plug-ins sollten immer auf dem neusten Stand gehalten werden und nicht benötigte Plug-ins am besten immer direkt entfernen. Installiere ein Anti-Spam-Plug-in, um deine Benutzer vor Fraud und Scams zu schützen.

3. Aktiviere die Uncomplicated Firewall (UFW): Es ist wichtig dafür zu sorgen, dass ausschließlich die für den Betrieb notwendigen Ports durch eine Firewall geöffnet werden. Im Fall eines Webservers mit WordPress wären das HTTP/HTTPS.
sudo ufw enable 
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow OpenSSH (falls OpenSSH verwendet wird)

4. Begrenze den SSH-Zugriff: Erlaube nur einem bestimmten Benutzer oder eine Gruppe ohne Root-Privilegien den Zugriff auf den Server über das Secure-Shell-Protokoll (SSH):

sudo nano /etc/ssh/sshd_config

Setze PermitRootLogin auf „no“ und aktiviere die Zugriffskontrolle mit „AllowUsers“ oder „AllowGroups“. Denke daran, den SSH-Dienst nach den Änderungen neu zu starten:

sudo systemctl restart ssh.service

5. Installiere Software wie Fail2Ban: Sie kann Brute-Force-Angriffe erkennen und IP-Adressen effektiv blockieren, wenn z. B. ungewöhnlich viele Anfragen über das Internet registriert werden. Eine ausführliche Anleitung habe ich hier geschrieben.

6. Verwende ein SSL-Zertifikat: Die Kommunikation zwischen dem Server und dem Besucher deiner WordPress-Webseite sollte über HTTPS verschlüsselt werden. Wie ein Lets Encrypt Zertifikat installiert und automatisch erneuert werden kann, habe ich in diesem Beitrag gezeigt.

7. Führe regelmäßige Backups durch: Es ist wichtig, regelmäßige Sicherungskopien auf einem externen System (z. B. ein NAS-System) zu speichern. Dafür gibt es unterschiedliche Softwarelösungen. Einige habe ich bereits auf meinem Blog vorgestellt. Hier geht es zu einer Anleitung für die Installation von UrBackup. Gesichert werden sollte unbedingt die Datenbank und das Webseiten-Verzeichnis eures WordPress-Servers.

1 Kommentar on “WordPress auf Linux Ubuntu 22.04 mit einem LAMP-Stack installieren (Tutorial)

  1. Hallo Alexander. Super erklärt die Anleitung für die Installation von WordPress unter Linux Ubuntu/Debian. Ich habe das CMS auf Debian 12 installiert. Hat alles direkt und ohne Probleme funktioniert. Nun bräuchte ich nur noch eine gute Quelle für Themes, die ich auf meinem Server verwenden kann. Kennt jemand eine?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert