So installieren Sie WordPress auf Ubuntu mit Docker

So installieren Sie WordPress auf Ubuntu mit Docker

Für die Installation von WordPress auf einem virtuellen privaten Ubuntu-Server (VPS) wird in der Regel ein LAMP-Stack (Linux, Apache, MySQL, PHP) benötigt. Sie können die Plattform jedoch auch mit Docker einrichten, einem Containerisierungstool, das Anwendungen und ihre Abhängigkeiten gemeinsam paketiert.

Mit Docker wird die Installation von WordPress einfacher, da WordPress aus vorgefertigten Images mit allen erforderlichen Komponenten ausgeführt wird. Dieser Ansatz bietet mehrere Vorteile: Er ist modular, lässt sich leicht aktualisieren und skalieren und bei Bedarf schnell für eine neue Instanz erneut bereitstellen.

In diesem Artikel erklären wir, wie Sie WordPress unter Ubuntu mit Docker installieren. Sie lernen jeden Schritt kennen – von der Vorbereitung der Voraussetzungen bis zur Verwaltung von WordPress als containerisiertem Content-Management-System (CMS).

Voraussetzungen für die Installation von WordPress mit Docker

Bevor Sie WordPress auf Docker installieren, stellen Sie sicher, dass auf Ihrem VPS eine aktuelle Ubuntu-Version wie 22.04 oder neuer läuft, um Kompatibilitätsprobleme zu vermeiden.

Ihr Server sollte außerdem vollständigen Root-Zugriff bieten, um Berechtigungsfehler beim Ändern von Systemdateien zu vermeiden. Leiten Sie außerdem einen Domainnamen auf Ihren VPS, damit Ihre WordPress-Website öffentlich zugänglich ist.

Wenn Sie noch keinen VPS haben, empfehlen wir Ihnen einen Hostinger Docker VPS-Tarif. Da Docker und WordPress relativ ressourcenschonend sind, sollte unser Tarif KVM 1 – mit einer Single-Core-CPU, 4 GB RAM und 50 GB Speicherplatz – ausreichen. Sie können auf einen höherwertigen Tarif upgraden, wenn Sie mit dem Wachstum Ihrer Website mehr Ressourcen benötigen.

Mit Hostinger können Sie sich direkt über Ihren Webbrowser als Root mit Ihrem VPS verbinden, was den Installationsprozess effizienter macht.

Wenn während der Einrichtung Probleme auftreten, unterstützt Sie unser KI-Assistent Kodee bei der Verwaltung Ihrer WordPress-Instanz. Geben Sie einfach Ihre Fragen ein oder beschreiben Sie Ihre Anforderungen, und Kodee erstellt eine Schritt-für-Schritt-Anleitung für Sie.

So installieren Sie WordPress mit Docker Compose

Führen Sie die folgenden Schritte aus, um WordPress mit Docker zu installieren. Bevor Sie fortfahren, greifen Sie über den PuTTY-SSH-Client oder das Terminal auf die Befehlszeilenschnittstelle (CLI) Ihres VPS zu. Alternativ können Sie das Browser-Terminal von Hostinger verwenden, wenn Sie eine einfachere Lösung benötigen.

1. Docker und Docker Compose installieren

Hostinger-Nutzer können Docker und Docker Compose mit der vorkonfigurierten VPS-Vorlage mit wenigen Klicks und ohne Befehle installieren. Diese Methode ist einfacher und für Einsteiger geeignet.

Warnung! Durch die Installation einer neuen VPS-Vorlage werden Ihre Daten gelöscht. Sichern Sie wichtige Dateien, bevor Sie fortfahren.

Öffnen Sie dazu einfach die Verwaltungsseite Ihres VPS in hPanel und gehen Sie zu Betriebssystem und PanelBetriebssystem. Wählen Sie Docker aus und klicken Sie auf Weiter.

Wenn Sie bei der Konfiguration des Tools mehr Flexibilität wünschen, installieren Sie Docker und Docker Compose mithilfe von Befehlen.

Überprüfen Sie nun mit den folgenden Befehlen, ob Docker und Docker Compose korrekt konfiguriert sind:

docker --version
docker-compose --version

Wenn diese Tools ordnungsgemäß funktionieren, gibt Ihre CLI ihre Versionsnummer aus:

2. Richten Sie Ihr Projektverzeichnis ein

Erstellen Sie mit diesem Befehl ein neues Projektverzeichnis für alle Ihre Docker- und WordPress-Dateien:

mkdir wordpress

Standardmäßig erstellt der Befehl den Ordner wordpress im Home-Verzeichnis Ihres aktuellen Benutzers. Sie können es an einem anderen Speicherort erstellen oder einen anderen Namen verwenden.

Öffnen Sie dann den Ordner mit dem folgenden Befehl:

cd wordpress

Sobald Sie sich darin befinden, können Sie mit der Einrichtung von Docker und WordPress beginnen.

3. Erstellen Sie eine Docker-Compose-Datei

Die Docker-Compose-Datei enthält Informationen zu den Softwarekomponenten, die in Ihrem Container installiert werden sollen. In diesem Fall legt es die Konfiguration für WordPress und die Datenbankanwendung fest.

Um eine Docker-Compose-Datei zu erstellen, führen Sie den folgenden Befehl aus:

sudo nano docker-compose.yml

Fügen Sie die folgende Konfiguration ein. Ersetzen Sie den Benutzernamen, das Passwort und den Datenbanknamen durch den gewünschten Wert.

version: "3" 
services:
  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: MySQLRootPassword
      MYSQL_DATABASE: MySQLDatabaseName
      MYSQL_USER: MySQLUsername
      MYSQL_PASSWORD: MySQLUserPassword

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    restart: always
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: MySQLUsername
      WORDPRESS_DB_PASSWORD: MySQLUserPassword
      WORDPRESS_DB_NAME: MySQLDatabaseName
    volumes:
      - "./:/var/www/html"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      PMA_USER: MySQLUsername
      PMA_PASSWORD: MySQLUserPassword

volumes:
  mysql: {}

Speichern Sie die Änderungen und kehren Sie zur Haupt-Shell zurück, indem Sie Strg + XYEingabetaste drücken.

4. Starten Sie den Docker-Container

Führen Sie Docker Compose mit diesem Befehl aus, um WordPress in einem Container zu installieren und zu starten. Denken Sie daran, dass dies nur funktioniert, wenn Sie sich im Projektverzeichnis befinden:

docker-compose up -d

Docker Compose lädt Images wie in Ihrer YAML-Datei angegeben von Docker Hub herunter, konfiguriert den Container und richtet die Netzwerkverbindung ein. Abhängig von Ihrer Internetgeschwindigkeit kann dieser Einrichtungsvorgang einige Minuten dauern.

Nach Abschluss sollten Sie den Status Done sehen und zur Haupt-Shell zurückkehren.

5. Greifen Sie auf die WordPress-Installation zu

Sobald Ihr Docker-Container läuft, können Sie über Ihren Webbrowser auf die neue WordPress-Installation zugreifen. Da Ihr Domainname bereits auf den VPS verweist, geben Sie ihn einfach in die Adressleiste des Browsers ein.

Dadurch gelangen Sie zum Einrichtungsassistenten von WordPress. Wählen Sie Ihre bevorzugte Sprache aus und klicken Sie auf Weiter.

Geben Sie als Nächstes die erforderlichen Informationen zu Ihrer Website ein, darunter den Titel der Website, den Benutzernamen, das Passwort und die E-Mail-Adresse. Sobald Sie fertig sind, klicken Sie auf WordPress installieren.

Klicken Sie danach auf Anmelden, um das WordPress-Dashboard zu öffnen. Verwenden Sie die Anmeldedaten, die Sie gerade erstellt haben, um auf Ihr Admin-Panel zuzugreifen.

6. Passen Sie Ihre Docker-Konfiguration an

Für Produktionsumgebungen benötigen Sie zusätzliche Konfigurationen, damit Ihre WordPress-Website sicher ist und hinsichtlich der Leistung optimiert wird. Nachfolgend finden Sie die wichtigsten Anpassungen für die Bereitstellung von WordPress mit Docker:

Verwendung von Umgebungsdateien

Um sensible Daten zu schützen, vermeiden Sie es, Zugangsdaten wie Datenbank-Benutzernamen und Passwörter in Ihrer Docker-Compose-Datei fest zu hinterlegen. Speichern Sie diese Werte stattdessen in einer Umgebungsdatei (.env).

Erstellen Sie in Ihrem WordPress-Verzeichnis eine .env-Datei:

nano .env

Definieren Sie Ihre WordPress-Datenbank-Zugangsdaten in der Datei .env und ersetzen Sie dabei die Platzhalter durch Ihre eigenen Werte:

MYSQL_ROOT_PASSWORD=MySQLRootPassword
MYSQL_DATABASE=MySQLDatabaseName
MYSQL_USER=MySQLUsername
MYSQL_PASSWORD=MySQLUserPassword

Speichern Sie die Datei und aktualisieren Sie dann die Datei docker-compose.yml, sodass sie diese Umgebungsvariablen verwendet:

db:
  image: mysql:latest
  restart: always
  environment:
    MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    MYSQL_DATABASE: ${MYSQL_DATABASE}
    MYSQL_USER: ${MYSQL_USER}
    MYSQL_PASSWORD: ${MYSQL_PASSWORD}

Speichern Sie die Änderungen und starten Sie Docker Compose neu, um die neuen Konfigurationen zu übernehmen:

docker-compose up -d

SSL-Zertifikate erhalten

Ein SSL-Zertifikat ist wichtig, um Nutzerdaten zu schützen und das Ranking in Suchmaschinen zu verbessern. Um automatische SSL-Zertifikate zu aktivieren, fügen Sie einen NGINX-Proxy mit Let’s Encrypt in Ihrer Datei docker-compose.yml hinzu:

services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
  letsencrypt-nginx-proxy-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt
    environment:
      NGINX_PROXY_CONTAINER: nginx-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./certs:/etc/nginx/certs
      - ./vhost.d:/etc/nginx/vhost.d
      - ./html:/usr/share/nginx/html

Entfernen Sie als Nächstes die Portzuordnung aus dem wordpress-Service, um Konflikte mit nginx-proxy zu vermeiden. Fügen Sie außerdem SSL-Labels hinzu, indem Sie your_email und your_domain.com durch Ihre tatsächlichen Zugangsdaten ersetzen:

wordpress:
  image: wordpress:latest
  labels:
    - "VIRTUAL_HOST=your_domain.com"
    - "LETSENCRYPT_HOST=your_domain.com"
    - "LETSENCRYPT_EMAIL=your_email@your_domain.com"

Binden Sie im selben WordPress-Dienst nur das Verzeichnis wp-content ein, damit nur die erforderlichen Dateien zwischen dem Host und dem Container gemeinsam genutzt werden:

volumes:
  - ./wp-content:/var/www/html/wp-content

Hier ist der endgültige Inhalt der docker-compose.yml nach der Verwendung von Umgebungsvariablen und dem Hinzufügen von SSL-Unterstützung mit NGINX:

version: "3"

services:
  db:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - mysql:/var/lib/mysql

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
    volumes:
      - ./wp-content:/var/www/html/wp-content
    labels:
      - "VIRTUAL_HOST=your_domain.com"
      - "LETSENCRYPT_HOST=your_domain.com"
      - "LETSENCRYPT_EMAIL=your_email@your_domain.com"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      PMA_USER: ${MYSQL_USER}
      PMA_PASSWORD: ${MYSQL_PASSWORD}

  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./certs:/etc/nginx/certs
      - ./vhost.d:/etc/nginx/vhost.d
      - ./html:/usr/share/nginx/html

  letsencrypt-nginx-proxy-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt
    environment:
      NGINX_PROXY_CONTAINER: nginx-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./certs:/etc/nginx/certs
      - ./vhost.d:/etc/nginx/vhost.d
      - ./html:/usr/share/nginx/html

volumes:
  mysql: {}

Vergessen Sie nicht, diese Änderungen zu speichern und Docker Compose anschließend neu zu starten:

docker-compose up -d

7. WordPress mit Docker verwalten und skalieren

Nachdem Sie WordPress eine Zeit lang in Docker ausgeführt haben, skalieren Sie Ihre Einrichtung, um die Leistung zu optimieren, und sichern Sie Ihre Dateien regelmäßig, um die Datenintegrität zu gewährleisten. So geht’s:

WordPress-Container skalieren

Wenn der Traffic Ihrer Website steigt, sollten Sie in Erwägung ziehen, Ihren WordPress-Service so zu skalieren, dass er in mehreren Containern ausgeführt wird. Es ermöglicht Ihnen, Benutzeranfragen gleichmäßig auf verschiedene Container zu verteilen, um optimale Leistung und Verfügbarkeit sicherzustellen.

Geben Sie in Ihrer Docker-Compose-Datei die gewünschte Anzahl von Replikaten an, zum Beispiel 3, um weitere Instanzen Ihres WordPress-Containers hinzuzufügen:

 wordpress:
    depends_on:
      - db
    image: wordpress:latest
    restart: always
    ports:
      - "80:80"
  environment:
    WORDPRESS_DB_HOST: db:3306
    WORDPRESS_DB_USER: ${MYSQL_USER}
    WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
    WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
  volumes:
    - "./:/var/www/html"
  deploy:
    replicas: 3

Wenden Sie Ihre Änderungen an, indem Sie Folgendes ausführen:

docker-compose up -d --scale wordpress=3

Docker startet jetzt zusätzliche WordPress-Container und verteilt den Datenverkehr gleichmäßig auf sie.

WordPress-Dateien sichern

Um Ihre WordPress-Website vor Datenverlust oder Datenbeschädigung zu schützen, sollten Sie sowohl die WordPress-Dateien als auch die Datenbank sichern.

Da Docker das WordPress-Verzeichnis als Volume einbindet, können Sie dieses Verzeichnis mit einem einfachen Befehl wie diesem sichern:

cp -r /path/to/wordpress /path/to/backup/location

Um Ihre MySQL-Datenbank zu sichern, führen Sie den folgenden Befehl aus. Ersetzen Sie [db_container_name], [MYSQL_USER], [MYSQL_PASSWORD] und [MYSQL_DATABASE] durch den tatsächlichen Namen Ihres Datenbank-Containers und Ihre Zugangsdaten:

docker exec [db_container_name] /usr/bin/mysqldump -u [MYSQL_USER] -p[MYSQL_PASSWORD] [MYSQL_DATABASE] > backup.sql

Dieser Befehl erstellt einen Datenbank-Dump, den Sie bei Bedarf später wiederherstellen können.

Alternativ können Hostinger-VPS-Kunden unsere integrierten Backup-Tools nutzen, um Daten einfach zu sichern und wiederherzustellen. Um auf diese Funktionen zuzugreifen, gehen Sie in der linken Seitenleiste Ihres VPS-Dashboards zu Backups und ÜberwachungSnapshots und Backups.

Wählen Sie dann entweder aus, einen Snapshot zu erstellen, um Ihre aktuelle Konfiguration zu sichern, oder vorherige Daten aus einem automatisierten wöchentlichen Backup wiederherzustellen.

Backups mit Kodee verwalten

Sie können verfügbare Backups auflisten und den Backup-Zeitplan verwalten, indem Sie Kodee einfach fragen. Zum Beispiel: „Liste die verfügbaren Backups auf meinem VPS bei hostname.com auf.“

Fazit

In diesem Artikel haben Sie gelernt, wie Sie WordPress mit Docker auf einem Ubuntu-VPS installieren und konfigurieren. Von der Einrichtung von Docker Compose bis zur Anpassung für Produktionsumgebungen verfügen Sie jetzt über eine vollständig funktionsfähige WordPress-Installation in einer containerisierten Umgebung.

Nachdem Sie WordPress mit Docker ausgeführt haben, sollten Sie Ihre Website weiter optimieren, zum Beispiel durch den Einsatz eines Content Delivery Network (CDN). Sie können auch verschiedene Docker-Container einrichten, wenn Sie sich entscheiden, andere Anwendungen auf demselben VPS zu hosten.

Wenn Sie Fragen haben oder Ihre Erfahrungen bei der Entwicklung von WordPress-Websites mit Docker teilen möchten, nutzen Sie gerne das Kommentarfeld unten.

Häufig gestellte Fragen (FAQ) zur Installation von WordPress mit Docker

Welche Vorteile bietet Docker für WordPress?

Mit Docker können Sie Ihre WordPress-Umgebung nach Bedarf bereitstellen und skalieren. Docker isoliert Abhängigkeiten und erleichtert so das Aktualisieren, Sichern und Migrieren Ihrer WordPress-Website.

Kann ich mehrere WordPress-Websites mit Docker auf einem einzigen Server betreiben?

Ja, mit Docker können Sie mehrere WordPress-Websites auf einem einzigen Server ausführen, indem Sie für jede Website separate Container verwenden. Richten Sie jeden Container mit eigenen Ports, Volumes und Datenbankverbindungen ein, um eine Isolierung zu gewährleisten.

Wie konfiguriere ich einen WordPress-Docker-Container?

Um einen WordPress-Docker-Container zu konfigurieren, verwenden Sie eine Docker-Compose-Datei, um Dienste, Ports und Umgebungsvariablen festzulegen. Für sensible Daten wie Datenbank-Anmeldedaten empfehlen wir, sie in einer .env -Datei zu speichern, die mit der Compose-Datei verknüpft ist.

Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.

Author
Erstellt von

Faradilla Ayunindya

Faradilla, auch bekannt als Ninda, ist Content Marketing Specialist bei Hostinger mit über fünf Jahren Erfahrung und einem zehnjährigen Hintergrund als Linguistin. Sie möchte Technologie für alle zugänglich machen, indem sie komplexe Anleitungen in klare und leicht verständliche Schritt-für-Schritt-Guides verwandelt. In ihrer Freizeit interessiert sie sich für Biowissenschaften oder schaut gerne lustige Tiervideos. Vernetzen Sie sich mit ihr auf LinkedIn.

Was unsere Kunden sagen

Kommentar schreiben

Please fill the required fields.Bitte akzeptieren Sie die Datenschutzklausel.Bitte füllen Sie die erforderlichen Felder aus und akzeptieren Sie die Datenschutzklausel.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.