Einrichtung und Verwaltung von WordPress auf einem VPS-Server

Einrichtung und Verwaltung von WordPress auf einem VPS-Server


Wenn Sie WordPress auf einen VPS umziehen, gewinnen Sie weitaus mehr Kontrolle über Leistung, Sicherheit und Skalierung – übernehmen aber auch die Verantwortung für alle Ebenen, vom SSH-Zugang bis zum Caching. Sie müssen den Server absichern, Ihren Web-Stack optimieren und WordPress so konfigurieren, dass es sowohl schnell als auch ausfallsicher ist. Wenn Ihre Website Traffic-Spitzen bewältigen soll, ohne zusammenzubrechen, gibt es einige wichtige Schritte, die Sie nicht überspringen dürfen…

WordPress auf Ihrem VPS installieren: Kurzer Überblick


Richten Sie einen Ubuntu-basierten VPS mit mindestens 2 GB RAM und SSH-Zugriff ein. Aktualisieren Sie die Systempakete (apt update && apt upgrade -y) und erstellen Sie einen Nicht-Root-Benutzer mit sudo-Rechten, um Sicherheitsrisiken zu verringern, die mit der Arbeit als Root verbunden sind.

Installieren Sie einen LAMP-Stack, indem Sie Apache, MySQL und PHP zusammen mit den für WordPress erforderlichen PHP-Erweiterungen (wie php-mysql, php-xml, php-gd und php-curl) einrichten. Führen Sie das MySQL-Sicherheitsinstallationsskript aus, um grundlegende Sicherheitseinstellungen zu konfigurieren, und erstellen Sie anschließend eine dedizierte Datenbank und einen Benutzer für WordPress, wobei Sie nur die für den normalen Betrieb erforderlichen Berechtigungen zuweisen.

Laden Sie das neueste WordPress-Paket herunter, entpacken Sie es und verschieben Sie den Inhalt in das Dokumentenstammverzeichnis Ihres Webservers (z. B. /var/www/html). Weisen Sie dem Webserver-Benutzer (üblicherweise www-data) die Eigentumsrechte für das Verzeichnis zu und wenden Sie restriktive Datei- und Verzeichnisberechtigungen an, um das Risiko unbefugter Änderungen zu verringern.

Kopieren Sie wp-config-sample.php in wp-config.php und aktualisieren Sie die Datei mit dem von Ihnen erstellten Datenbanknamen, Benutzernamen und Passwort. Fügen Sie mithilfe des Schlüsselgenerators von WordPress eindeutige Authentifizierungsschlüssel und Salts hinzu, um die Sicherheit von Sitzungen und Cookies zu verbessern. Sobald diese Schritte abgeschlossen sind, rufen Sie Ihre Domain in einem Webbrowser auf, um das WordPress-Installationsskript auszuführen und die Grundkonfiguration abzuschließen.

Anbieter wie hosting.de bieten VPS- und Managed-Hosting-Umgebungen an, die für WordPress optimiert sind und vorkonfigurierte Server-Stacks (z. B. PHP-, Datenbank- und Caching-Setups), Sicherheitsmaßnahmen wie SSL und System-Hardening sowie eine One-Click-Installation von WordPress umfassen. Diese Funktionen reduzieren den initialen Einrichtungsaufwand und vereinfachen die Bereitstellung, während Nutzer weiterhin die volle Kontrolle über ihre Serverkonfiguration und -verwaltung behalten.

Bereiten Sie Ihren WordPress-VPS vor: Benutzer, SSH und Firewall


Bevor Sie Themes oder Plugins installieren oder Produktionsdatenverkehr verarbeiten, sichern Sie den VPS, indem Sie den Benutzerzugriff, SSH und die Firewall absichern.

  1. Erstellen Sie einen Nicht-Root-Benutzer mit sudo-Rechten

Verwenden Sie einen dedizierten Benutzer für die Administration, anstatt sich als Root anzumelden:

adduser abe

usermod -aG sudo abe

Melden Sie sich anschließend als „abe“ für routinemäßige Verwaltungsaufgaben an.

Dies verringert das Risiko, das mit der direkten Nutzung des Root-Kontos verbunden ist.

  1. Richten Sie die SSH-Schlüsselauthentifizierung ein


Generieren Sie auf Ihrem lokalen Rechner ein SSH-Schlüsselpaar:

ssh-keygen -t ed25519

Kopieren Sie den öffentlichen Schlüssel (standardmäßig id_ed25519.pub) auf den Server und fügen Sie ihn an folgende Datei an:

~/.ssh/authorized_keys

Legen Sie anschließend die entsprechenden Berechtigungen fest:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

Dies ermöglicht einen sichereren, schlüsselbasierten SSH-Zugriff und schützt vor Angriffen durch Passwort-Erraten.

  1. Sichern Sie die SSH-Konfiguration


Bearbeiten Sie die Datei /etc/ssh/sshd_config auf dem Server und passen Sie die folgenden Optionen an:

PermitRootLogin no

PasswordAuthentication no

Diese Einstellungen verhindern direkte Root-Anmeldungen und deaktivieren die passwortbasierte Authentifizierung.

Starten Sie nach der Bearbeitung den SSH-Dienst neu (z. B. systemctl restart ssh oder systemctl restart sshd, je nach Distribution) und vergewissern Sie sich, dass Sie sich mit dem neuen Benutzer und dem SSH-Schlüssel anmelden können, bevor Sie bestehende Sitzungen schließen.

  1. Konfigurieren Sie die Firewall und den grundlegenden Schutz vor Eindringlingen


Verwenden Sie ufw (Uncomplicated Firewall), um nur erforderliche Dienste wie SSH, HTTP und HTTPS zuzulassen:

ufw allow OpenSSH

ufw allow http

ufw allow https

ufw enable

Dies beschränkt den eingehenden Datenverkehr auf wesentliche Ports.

Installieren Sie Fail2Ban, um das Risiko durch wiederholte Anmeldeversuche und ähnliche Brute-Force-Angriffe zu verringern:

apt install fail2ban

Verwenden Sie die Standardkonfiguration als Ausgangspunkt und passen Sie die Jail-Einstellungen nach Bedarf an Ihre Umgebung an.

Die Umsetzung dieser Schritte bietet eine grundlegende Sicherheitsbasis für einen WordPress-VPS, bevor die Anwendung bereitgestellt und echter Datenverkehr bedient wird.

Richten Sie Ihren LAMP/LEMP-Stack und das Web-Root-Verzeichnis ein


Sobald Ihr VPS gesichert ist, sollten Sie einen funktionierenden Web-Stack installieren und das Dokument-Root-Verzeichnis konfigurieren, damit WordPress laufen und Seiten bereitstellen kann. Für einen LAMP-Stack unter Ubuntu können Sie Apache, MySQL und PHP mit folgendem Befehl installieren und starten:

apt update && apt install apache2 mysql-server php8.1 libapache2-mod-php8.1 php8.1-mysql -y

systemctl enable --now apache2 mysql

Passen Sie nach der Installation wichtige PHP-Einstellungen in /etc/php/8.1/apache2/php.ini an (z. B. Speichergrenzen, Dateigröße für Uploads und Zeitzone) und starten Sie anschließend Apache neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Legen Sie die Eigentumsrechte und Berechtigungen für das Web-Stammverzeichnis fest, damit Apache (das als www-data läuft) Dateien lesen und bereitstellen kann:

chown -R www-data:www-data /var/www/html

chmod -R 755 /var/www/html

Entfernen Sie die Standarddatei index.html von Apache, erstellen Sie eine Virtual-Host-Konfiguration für Ihre Domain unter /etc/apache2/sites-available/, aktivieren Sie die Website mit a2ensite und laden Sie Apache neu:

a2ensite your-domain.conf

systemctl reload apache2

Damit ist eine grundlegende, funktionsfähige Umgebung für den Betrieb von WordPress auf einem LAMP-Stack eingerichtet.

Installieren und Konfigurieren von WordPress auf Ihrem VPS


Nachdem Ihr Web-Stack eingerichtet ist, können Sie nun WordPress auf Ihrem VPS installieren und mit Ihrer Datenbank verbinden.

Stellen Sie zunächst sicher, dass Apache, MySQL oder MariaDB und PHP 8.1 installiert sind und laufen.

Erstellen Sie in MySQL eine eigene Datenbank und einen eigenen Benutzer und erteilen Sie dann die erforderlichen Berechtigungen:

CREATE DATABASE wordpressdb;

CREATE USER ‚wp_user‘@'localhost' IDENTIFIED BY ‚strong_password‘;

GRANT ALL PRIVILEGES ON wordpressdb.* TO ‚wp_user‘@'localhost';

FLUSH PRIVILEGES;

Laden Sie das neueste WordPress-Paket von der offiziellen Website herunter, entpacken Sie das Archiv und verschieben Sie den Inhalt nach /var/www/html.

Legen Sie die richtigen Eigentumsrechte und Berechtigungen fest, damit der Webserver bei Bedarf lesen und schreiben kann, zum Beispiel:

sudo chown -R www-data:www-data /var/www/html

sudo find /var/www/html -type d -exec chmod 755 {} ;

sudo find /var/www/html -type f -exec chmod 644 {} ;

Kopieren Sie wp-config-sample.php nach wp-config.php und aktualisieren Sie die Datenbank-Einstellungen (DB_NAME, DB_USER, DB_PASSWORD und DB_HOST) entsprechend den von Ihnen festgelegten Werten.

Nachdem Sie die Konfigurationsdatei gespeichert haben, öffnen Sie Ihre Domain in einem Webbrowser und folgen Sie den Installationsschritten auf dem Bildschirm, um die WordPress-Einrichtung abzuschließen.

Sichern Sie WordPress auf dem VPS mit SSL und Sicherheitsmaßnahmen


Sichern Sie den SSH-Zugriff, indem Sie einen Nicht-Root-sudo-Benutzer anlegen, PermitRootLogin und PasswordAuthentication in der SSH-Konfiguration deaktivieren und anstelle von Passwörtern die SSH-Schlüsselauthentifizierung verwenden. Konfigurieren Sie ufw so, dass nur wesentliche Dienste wie SSH, HTTP und HTTPS zugelassen werden, und setzen Sie Fail2Ban ein, um das Risiko von Brute-Force-Angriffen auf SSH und andere exponierte Dienste zu verringern.

Entfernen Sie innerhalb von WordPress das Standardkonto „admin“, um die Wahrscheinlichkeit gezielter Angriffe auf einen gängigen Benutzernamen zu verringern. Halten Sie den WordPress-Kern, Themes und Plugins auf dem neuesten Stand, um bekannte Schwachstellen zu beheben, und verwenden Sie einzigartige, sichere Passwörter für alle Benutzerkonten. Stellen Sie sicher, dass Datei- und Verzeichnisberechtigungen den empfohlenen Sicherheitspraktiken entsprechen (z. B. Einschränkung von Schreibberechtigungen, wo diese nicht unbedingt erforderlich sind), deaktivieren Sie die Verzeichnisauflistung auf Webserver-Ebene und beschränken Sie den Zugriff auf wp-config.php, damit diese Datei nicht gelesen oder öffentlich bereitgestellt werden kann.

Optimieren und warten Sie Ihren WordPress-VPS für Geschwindigkeit und Stabilität


Verlagern Sie den Fokus von der Ersteinrichtung auf die
Aufrechterhaltung der WordPress-VPS-Leistung und -Stabilität unter realen Traffic-Bedingungen. Verwenden Sie einen mehrschichtigen Caching-Ansatz: Aktivieren Sie PHP OpCache (z. B. opcache.memory_consumption=256M, opcache.revalidate_freq=2), konfigurieren Sie Redis mit einer Speicherbegrenzung (z. B. maxmemory 256mb, maxmemory-policy allkeys-lru) und verwenden Sie ein WordPress-Objekt-Cache-Plugin. Diese Kombination kann die CPU- und RAM-Auslastung erheblich reduzieren, indem mehr Anfragen aus dem Speicher bedient werden.

Passen Sie wichtige PHP- und WordPress-Einstellungen in /etc/php/8.1/apache2/php.ini und wp-config.php an. Typische Werte sind memory_limit und WP_MEMORY_LIMIT auf 512M, upload_max_filesize auf 64M, max_execution_time auf 300 und max_input_vars auf 3000. Aktivieren Sie die gzip-Komprimierung mit a2enmod deflate und konfigurieren Sie das Browser-Caching über .htaccess mithilfe von ExpiresByType-Direktiven, um die Bandbreite zu reduzieren und die Ladezeiten für wiederkehrende Besucher zu verbessern.

Überwachen Sie den Server regelmäßig, um Engpässe frühzeitig zu erkennen. Tools wie htop (CPU/RAM), iotop (Festplatten-E/A), netstat oder ss (Netzwerkverbindungen) sowie ab oder ähnliche Benchmarking-Tools können dabei helfen, die Leistung unter Last zu bewerten. Aktivieren und überprüfen Sie die MySQL-Slow-Query-Logs, um ineffiziente Datenbankabfragen zu identifizieren. Erhöhen Sie die VPS-Ressourcen (CPU, RAM oder Speicherleistung), bevor die Auslastung dauerhaft hoch bleibt, um bei steigendem Traffic stabile Antwortzeiten aufrechtzuerhalten.

Fazit


Sie haben gesehen, wie man einen sicheren VPS einrichtet, einen LAMP/LEMP-Stack installiert, WordPress bereitstellt und alles von SSH bis wp-config.php absichert. Außerdem haben Sie die Leistung durch Caching, Komprimierung und intelligente PHP-/MySQL-Einstellungen optimiert. Jetzt ist es an der Zeit, all dies in die Praxis umzusetzen. Fangen Sie klein an, überwachen Sie das System genau und optimieren Sie Ihre Konfiguration schrittweise. Wenn Sie den gesamten Stack selbst verwalten, haben Sie die Kontrolle über die Geschwindigkeit, Sicherheit und langfristige Zuverlässigkeit Ihrer Website.