In diesem Beitrag zeige ich euch, wie die Installation von WordPress auf einem Server mit Linux Ubuntu 22.04 (alternativ geht’s auch mit Debian 11) Schritt-für-Schritt erfolgen kann. Wir implementieren 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 unter Ubuntu 22.04 erfolgreich installiert worden sind, laden wir die neuste Version von WordPress herunter und migrieren sie auf dem Webserver. Am Ende der Anleitung werden wir noch ein kostenloses SSL-Zertifikat mit Certbot installieren, damit die Webseite, die wir auf dem eigenen Server mit WordPress bereitstellen, über HTTPS verschlüsselt wird.
Inhaltsverzeichnis: Installation von WordPress unter Linux Ubuntu 22.04 / Debian 11
Was ist ein LAMP-Stack und warum wird diese Software-Konstellation für die Installation von WordPress unter Linux benötigt?
Der Begriff 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:
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 und in Kombination mit dem Nginx-Proxy-Manager, bietet es sich dann an, wenn wir mehr als nur eine Webseite mit WordPress bereitstellen möchten. Die Webports (80/443) lassen sich nur für eine IP-Adresse, also einen einzelnen Host öffnen. Mit einem Proxy-Server kann man das umgehen (zum Tutorial). Beginnen wir im nächsten Schritt mit den Vorbereitungen.
Schritt 1: Systemanmeldung und Aktualisierungen durchführen
Vor der Installation von WordPress unter Linux Ubuntu 22.04 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):
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
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
Schritt 6: WordPress-Installation unter Linux Ubuntu 22.04 / Debian 11 abgeschlossen (Webseite aufrufen)
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.
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/wp-admin
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.
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
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.
sudo ufw enable
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow OpenSSH (falls SSH 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.
Möchtest Du meine Arbeit unterstützen?
EIN KOMMENTAR SCHREIBEN:
Falls Du Fragen über das Thema hast oder Hilfe benötigst, verwende gern die Kommentarfunktion und ich werde Dir so bald wie möglich mit Rat und Tat zur Seite stehen. Vielen Dank für Deinen Besuch.
SOCIAL-MEDIA-KANÄLE:
Hat mein Beitrag Dir geholfen? Dann freue ich mich über Dein Follow auf Social Media! So erfährst Du als Erstes von neuen Beiträgen und unterstützt mich bei meinem Wachstum.