In dieser Anleitung installieren wir einen WordPress basierten Webserver auf einer aktuellen Ubuntu Distribution mit Apache, MariaDB und PHP 7.4 (LAMP-Stack). WordPress ist ein sehr beliebtes CMS (Content-Management-System) und dient als Backend für einen Großteil der Webseiten und Blogs im heutigen Internet. Laut Statista beträgt der weltweite Anteil von WordPress-Installationen im Ranking der aktiv verwendeten Content-Management-Systemen 65,3 Prozent (Stand Februar 2022).
Folge meiner Anleitung Schritt für Schritt, um mit einem LAMP-Stack (Linux + Apache + MariaDB + PHP) einen Webserver mit installierten WordPress CMS zu installieren. Die Installation funktioniert mit Linux Ubuntu und Debian basierten Distributionen. Falls du schon einen Webserver installiert hast, kannst du mit dem Schritt „5“ beginnen.
Hinweis: Es gibt eine neue Version dieser Anleitung! Installiere jetzt die neuste Version von WordPress für Linux Ubuntu 22.04.
Inhaltsverzeichnis: Ein LAMP-Stack auf Linux installieren mit dem WordPress CMS
Schritt 1: Vorbereitungen für die Installation eines Webservers mit WordPress CMS auf Linux
Aktualisiere die Paketquellen und führe mögliche Upgrades auf deinem Server durch. Sobald Änderungen an den Paketquellen vorgenommen wurden oder die letzte Aktualisierung schon eine Weile her ist, sollten die Paketquellen und das Host-System zuerst auf den neusten Stand gebracht werden.
Die Aktualisierung erfolgt mittels:
sudo apt update
sudo apt upgrade
Jetzt öffnen wir noch die für den Webserver benötigten Ports, damit die WordPress-Webseite auch über den Browser erreichbar ist. Wir geben die Ports für HTTP (80) und HTTPS (443) in der Ubuntu Firewall (UFW) mit diesen Befehlen frei. Im gleichen Schritt erlauben wir auch die Verbindung mittels SSH:
sudo ufw allow ssh
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
Schritt 2: Installation und Konfiguration von Webserver Apache2
Jetzt wo unsere Paketlisten aktualisiert worden sind und wir unser System auf den neusten Stand gebracht haben, können wir den Apache2 Webserver installieren und starten:
sudo apt install apache2
sudo systemctl start apache2.service
Überprüfe nun ob der Service (Apache2) läuft:
sudo systemctl status apache2
Du solltest jetzt eine Ausgabe erhalten, die dich darüber informiert, dass der Service läuft: Active (Running)
Jetzt ist es zu empfehlen, den automatischen Start des Apache-Webserver zu aktivieren. Falls du deinen Server mal neu startest, startet dieser Dienst zukünftig von selbst. Das funktioniert mit dem Konsolen-Befehl:
sudo systemctl enable apache2
Damit der Apache-Benutzer als Web-Root auf den Dokumentstammsatz zugreifen kann, legen wir diesen als Eigentümer des Stammverzeichnisses fest:
sudo chown www-data:www-data /var/www/html/ -R
Jetzt muss eine virtuelle Host-Datei mit den notwendigen Richtlinien erstellt werden. Nur mit diesem Inhalt kann Apache den Inhalt deiner zukünftigen WordPress-Webseite bereitstellen. Öffne die Datei mit dem Nano-Editor und füge den Inhalt wie angegeben hinzu:
sudo nano /etc/apache2/conf-available/deine_domain.conf
Kopieren und einfügen:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName deine_domain
ServerAlias www.deine_domain.de
DocumentRoot /var/www/deine_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Es erklärt sich von selbst, dass du die Inhalte in der Konfiguration mit deinen Domain-Namen und Daten ergänzt. Speichere die Änderungen ab und führe die angegebenen Befehle aus, um die Änderungen wirksam zu machen und den Apache-Webserver neu zu starten:
sudo a2enconf servername.conf
sudo systemctl reload apache2
Schritt 3: Installation von PHP 7.4 (aktuelle Version) inklusive Abhängigkeiten für unsere WordPress Installation auf Linux
Kopiere die Befehlsreihe, wie angegeben, um die aktuelle Version von PHP zu installieren. Zeitgleich installieren wir mit dieser Befehlsreihe die notwendigen PHP-Module:
sudo apt install php7.4 php7.4-mysql php-common php7.4-cli php7.4-json php7.4-common php7.4-opcache libapache2-mod-php7.4
Sobald die Installation abgeschlossen ist, kann die Version wie folgt überprüft werden:
php --version
Starte den Apache Service jetzt neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
Schritt 4: Installation von MariaDB – Die Datenbank für unsere WordPress Installation
MariaDB ist ein freies, relationales Open-Source-Datenbankmanagementsystem, das durch eine Abspaltung aus MySQL entstanden ist. Wir verwenden diese Datenbank in dieser Anleitung für unser WordPress-CMS. Installiere die erforderlichen Pakete, wie angegeben:
sudo apt install mariadb-server mariadb-client
Starte den MariaDB Service mit diesem Befehl:
sudo systemctl start mariadb
Überprüfe nun, ob der MariaDB Service funktionstüchtig ist und läuft:
sudo systemctl status mariadb
Damit MariaDB automatisch nach einem Serverneustart startet, führe folgenden Befehl aus:
sudo systemctl enable mariadb
Eine Datenbank im Internet bietet auch immer eine Angriffsfläche, die so weit es möglich ist, minimiert werden sollte. Eine vernünftige Konfiguration, starke Passwörter und regelmäßige Updates sind hier das A und O. Wir sichern die Grundkonfiguration deshalb mit dem MySQL Befehl:
sudo mysql_secure_installation
Anschließend wirst du zur Eingabe eines MariaDB Root-Passworts aufgefordert. Da wir in dieser Installation noch kein Root-Passwort festgelegt haben, bestätigen wir diesen Prozess während der Installation mit der „Y“ Taste, um ein Root-Passwort für den MariaDB-Server zu vergeben.
Wähle ein starkes Passwort und notiere dir dieses unbedingt. Beantworte mit der ENTER-Taste die nachfolgenden Fragen und entferne somit den anonymen Benutzer, die Testdatenbank und deaktiviere die Remote-Root-Anmeldung.
Teste das Login deiner MariaDB-Datenbank mit diesem Befehl aus:
sudo mariadb -u root
Sollte ein Login möglich sein, kannst du MariaDB wieder verlassen:
exit;
LAMP-Stack erfolgreich installiert: Jetzt ist alles für die WordPress Installation unter Linux Ubuntu fertig vorbereitet (Basis)
Wir haben alle Vorbereitungen und Installationen so weit erledigt, dass als Nächstes unsere WordPress Installation erfolgen kann. So ein LAMP-Stack bietet viele Möglichkeiten, die meisten Arten von Websites und Web-Software können jetzt auf dem Server betrieben werden.
Schritt 5: WordPress Content-Management-System auf Linux Ubuntu installieren
Öffne die Konsole und gebe diese Befehlszeile ein, um die neuste Version von WordPress für deinen Server herunterzuladen:
wget https://wordpress.org/latest.zip
Jetzt entpacken wir den fertiggestellten Download und verschieben den Inhalt in das vorgesehene Verzeichnis unseres Webserver für die Ausgabe einer Internetseite:
sudo apt install unzip
sudo mkdir -p /var/www/
sudo unzip latest.zip -d /var/www/
Besuche das Zielverzeichnis wie angegeben und überprüfe den Namen deines Verzeichnisses:
cd /var/www
ls -l
Hier sollte das Verzeichnis mit dem Namen WordPress durch deinen echten Domainnamen ersetzt werden. Das erledigst du mit diesem Befehl:
sudo mv /var/www/wordpress /var/www/deine-domain.de
Schritt 6: Datenbank und Benutzer in MariaDB für WordPress erstellen
Melde dich an deiner MariaDB als root mit folgendem Befehl an, verwende das starke Passwort für dein Login, welches du dir unbedingt notieren solltest:
sudo mariadb -u root
Jetzt erstellst du eine Datenbank für das WordPress-CMS. Eine Datenbank ist für die Installation und Funktionstüchtigkeit einer auf WordPress-basierten Webseite notwendig. Theoretisch kannst du hier einen beliebigen Namen für die Datenbank auswählen. Vielleicht solltest du dies auch tun, um die Sicherheit deiner Datenbank zu erhöhen.
create database wordpress;
Erstelle einen Datenbankbenutzer für WordPress und gewähre dem Benutzerkonto alle Berechtigungen, die für den Betrieb notwendig sein werden. Ersetze die Werte wpuser und passwort durch deinen bevorzugten Benutzernamen und dein selbst ausgewähltes Passwort. Notiere dir dein gewähltes Passwort und den Benutzernamen.
grant all privileges on wordpress.* to wpuser@localhost
identified by 'dein-passwort';
Die Änderungen wirksam machen und die MariaDB-Shell wieder verlassen, erledigst du mit folgendem Befehl:
flush privileges;
exit;
Schritt 7: Konfigurationen von WordPress anpassen
Bevor deine selbst installierte WordPress-Installation über die Domain angesteuert werden kann, müssen abschließend noch einige Konfigurationen erledigt werden. Navigiere in das Verzeichnis deiner Webseite bzw. deines WordPress Ordner und editiere die wp-config.php Datei wie beschrieben:
cd /var/www/deine-domain.de/
Jetzt wird die Beispielkonfigurationsdatei von WordPress kopiert und in wp-config.php unbenannt mittels:
sudo cp wp-config-sample.php wp-config.php
Öffne die Datei wp-config.php mit dem Nano-Editor, suche und ersetze die angegebenen Werte innerhalb des Editors mit deinen gewählten Benutzernamen, Passwort und den Namen der Datenbank, die du für MariaDB erstellt hast:
sudo nano wp-config.php
/** The name of the database for WordPress */
define('DB_NAME', 'Datenbankname');
/** MySQL database username */
define('DB_USER', 'Datenbankbenutzername');
/** MySQL database password */
define('DB_PASSWORD', 'Passwort');
Speichere die Änderungen ab und verlasse den Nano-Editor wieder. Im letzten Schritt müssen wir noch den Apache-Benutzer (www-data) als Eigentümer unseres WordPress-Verzeichnisses festlegen. Passe den Namen im Beispiel deinen Pfad bzw. den Namen deiner Domain an:
sudo chown www-data:www-data /var/www/deine-domain.de/ -R
WordPress mit Apache auf deinem Linux Server erfolgreich installiert
Dein Webserver mit aktiven WordPress Content-Management-System ist nun vollständig installiert. Du kannst die Domain oder IP-Adresse deines Servers jetzt über den Browser aufrufen und deine WordPress-Seite erstellen. Rufe dafür deine Domain oder IP-Adresse wie angegeben im Browser auf:
Über die Domain (Beispiel): www.deine-domain.de/wp-admin/install.php
Über die IP-Adresse (Beispiel): 192.168.1.120/wp-admin/install.php
Optional: Installiere ein kostenloses Let's Encrypt Zertifikat auf deinem Webserver für eine verschlüsselte HTTPS-Verbindung
Im letzten Schritt solltest du sicherstellen, dass Verbindungen auf deine WordPress-Webseite bzw. zu deinem Webserver mit HTTPS verschlüsselt und gesichert sind. Das ist kostenlos mit einem Let’s Encrypt Zertifikat möglich. Folge meiner Anleitung für die einfache Installation mit automatischer Verlängerung (Crontab):
SSL/TLS-Zertifikat auf den Webserver installieren: https://www.veuhoff.net/ssl-zertifikat-installieren-mit-certbot-und-lets-encrypt/