HELPER VPS

WordPress auf dem VPS installieren: Wege je Image WordPress, LEMP und Docker

Installieren Sie WordPress direkt auf Ihrem eigenen Server, bestimmen Sie Plugins, Themes und Servereinstellungen ganz selbst. Wählen Sie je nach Image beim Erstellen des Servers die passende Installationsmethode und folgen Sie ihr.

Einen von drei Wegen wählen

Bei HELPER VPS verkürzt allein die Wahl des Images beim Erstellen des Servers die WordPress-Vorbereitung erheblich. Wählen Sie einfach den Weg, der zu Ihrer Situation passt.

  • WordPress-Image: Nginx, MySQL, PHP und WordPress werden auf Ubuntu 24.04 installiert. Nur der Installationsbildschirm im Browser bleibt, der schnellste Weg zu einem Blog.
  • LEMP-Image: Sie installieren WordPress selbst auf einem Server mit vorbereitetem Nginx, MySQL und PHP. Gut, wenn mehrere Websites auf einem Server liegen sollen oder Sie Ordnerstruktur und Einstellungen selbst festlegen möchten.
  • Docker-Image: WordPress und Datenbank laufen als Container. Praktisch, um Websites auf andere Server umzuziehen oder dieselbe Umgebung mehrfach aufzubauen.

Ein kleiner Blog kann problemlos mit dem kleinsten 12GB General Plan starten, während Online-Shops oder stark frequentierte Websites Seiten auf einem Hochleistungs-NVMe-Server mit einer schnellen Festplatte leichter öffnen. Größenempfehlungen finden Sie auf der Seite WordPress VPS.

Zuerst die Domain verbinden

Möchten Sie eine Domain nutzen, verbinden Sie sie vor der Installation, dann erhalten Sie das HTTPS-Zertifikat gleich mit. Legen Sie in der DNS-Verwaltung Ihres Domainanbieters die folgenden zwei Einträge an.

  • A-Eintrag: Name @ (und www), Wert ist die IPv4-Adresse des Servers
  • AAAA-Eintrag: Name @ (und www), Wert ist die IPv6-Adresse des Servers

Die Verbreitung der Einträge dauert meist einige Minuten bis Stunden. Führen Sie auf dem Server ping -c 3 example.com aus; erscheint Ihre Server-IP, sind Sie bereit. Ersetzen Sie example.com in den folgenden Befehlen durch Ihre Domain.

Weg 1. Sofort starten mit dem WordPress-Image

  • Wählen Sie im Bildschirm zum Erstellen des Servers Region und Größe und in der Image-Liste WordPress.
  • Wechselt der Server auf Läuft, öffnen Sie im Browser http://YOUR_SERVER_IP.
  • Wählen Sie die Sprache und legen Sie Seitentitel, Admin-Benutzername, Passwort und E-Mail fest, dann ist die Installation abgeschlossen.
  • Über http://YOUR_SERVER_IP/wp-admin gelangen Sie in die Verwaltung.

Wählen Sie ein langes, komplexes Admin-Passwort und statt admin einen Benutzernamen, den nur Sie kennen, dann sind Sie gegen Anmeldeversuche gut gewappnet. Für Domain und HTTPS folgen Sie einfach dem HTTPS-Schritt unten.

Weg 2. Selbst auf einem LEMP-Server installieren

Im LEMP-Image sind Nginx, MySQL und PHP-FPM bereits installiert. Ergänzen Sie nur die für WordPress nötigen PHP-Erweiterungen, die Datenbank und die Site-Konfiguration. Die Anleitung bezieht sich auf Ubuntu 24.04, für andere Ubuntu-Versionen und Debian gilt dieselbe Reihenfolge.

Schritt 1. PHP-Erweiterungen installieren

Terminal
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v zeigt die PHP-Version, ls /run/php/ den Namen des PHP-FPM-Sockets. Unter Ubuntu 24.04 mit PHP 8.3 sehen Sie php8.3-fpm.sock, unter Debian 13 mit PHP 8.4 php8.4-fpm.sock. Diesen Namen tragen Sie unverändert in die Nginx-Konfiguration unten ein.

Schritt 2. Datenbank und Benutzer anlegen

Als root verbunden führen Sie mysql aus und gelangen ohne Passwort in MySQL. Mit den folgenden vier Zeilen legen Sie eine eigene Datenbank und einen Benutzer für WordPress an. Ersetzen Sie das Passwort durch ein langes und notieren Sie es.

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Schritt 3. WordPress herunterladen

Terminal
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

Übergeben Sie den Ordner dem Webserver-Benutzer (www-data), dann legt der Installationsbildschirm im Browser die Konfigurationsdatei selbst an, und Plugins und Themes installieren Sie direkt in der Verwaltung.

Schritt 4. Nginx-Site konfigurieren

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
Terminal
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Zeigt nginx -t syntax is ok, test is successful, stimmt die Konfiguration. Haben Sie noch keine Domain, tragen Sie bei server_name _ ein und entfernen den Link zur Standardseite (/etc/nginx/sites-enabled/default), dann öffnet es sich über die IP-Adresse.

Schritt 5. Installation im Browser abschließen

Öffnen Sie http://example.com, erscheint der Installationsbildschirm. Geben Sie Datenbankname wordpress, Benutzer wpuser, das in Schritt 2 festgelegte Passwort und Host localhost ein, legen Sie Seitentitel und Admin-Konto fest, fertig.

Weg 3. Installation mit Docker Compose

Auf einem Server mit Docker-Image oder einem Server, auf dem Sie Docker selbst installiert haben, starten Sie WordPress und MariaDB gemeinsam mit einer einzigen Datei. Ersetzen Sie beide Passwörter durch lange.

Terminal
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

Öffnen Sie http://YOUR_SERVER_IP, erscheint der Installationsbildschirm. Die Datenbankdaten stehen bereits in der Datei, Sie legen nur Seitentitel und Admin-Konto fest. Beiträge und Uploads bleiben im Volume wp, die Datenbank im Volume db, auch wenn Sie die Container auf eine neue Version umstellen.

Für HTTPS bei einer per Docker bereitgestellten Website ist ein vorgeschalteter Reverse Proxy die saubere Lösung. Noch einfacher geht es mit den Images Coolify oder Dokploy, die nach Eingabe der Domain auch das Zertifikat automatisch einrichten.

HTTPS-Zertifikat einrichten

Beim WordPress-Image und auf LEMP-Servern holen Sie mit Certbot ein kostenloses Let's-Encrypt-Zertifikat und binden es direkt in Nginx ein. Die Domain muss auf die Server-IP zeigen.

Terminal
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Geben Sie Ihre E-Mail ein und stimmen Sie den Bedingungen zu, wird das Zertifikat ausgestellt und HTTPS in die Nginx-Konfiguration eingefügt. Certbot erneuert das Zertifikat automatisch. Ändern Sie danach in der WordPress-Verwaltung unter Einstellungen > Allgemein die WordPress-Adresse und die Website-Adresse auf https. Nutzen Sie eine Firewall, öffnen Sie beide Ports mit ufw allow 80,443/tcp.

Empfohlene Einstellungen nach der Installation

  • Permalinks: Wählen Sie unter Einstellungen > Permalinks die Variante mit Beitragsnamen, dann werden Adressen besser lesbar. Die Zeile try_files in der Nginx-Konfiguration oben verarbeitet diese Adressen.
  • Upload-Größe: Für große Bilder oder Theme-Dateien erhöhen Sie neben client_max_body_size in Nginx auch upload_max_filesize und post_max_size in /etc/php/8.3/fpm/php.ini auf dieselbe Größe und führen systemctl restart php8.3-fpm aus.
  • E-Mail-Versand: E-Mails für Registrierung, Passwort-Wiederherstellung und Bestellbenachrichtigungen verbinden Sie per SMTP-Plugin mit Port 587 oder 465 eines Versanddienstes. Wie das geht, steht in der Anleitung zum E-Mail-Versand.
  • Updates: WordPress-Kern, Plugins und Themes aktualisieren Sie in der Verwaltung, den Server regelmäßig mit apt update && apt upgrade -y.
  • Backups: Beiträge und Datenbank sind unwiederbringliche Werte. Aktivieren Sie beim Erstellen des Servers das automatische Backup oder bewahren Sie Kopien nach der Anleitung zu Backups und Snapshots auf.

Möchten Sie von vorne neu installieren, wählen Sie auf der Serverseite unter Neuinstallation erneut das WordPress-Image, dann ist alles wieder sauber. Die Festplatte wird neu installiert; laden Sie benötigte Beiträge vorher unter Werkzeuge > Exportieren herunter, die Schritte finden Sie in der Anleitung zur Neuinstallation.

Passende weitere Anleitungen

Einstellungen, die Sie im Anschluss an diese Anleitung vornehmen sollten.

Alle Anleitungen ansehen