Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr WordPress normal „von Hand“ installieren könnt. Nun zeige ich euch, wie ihr dies in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Update
27.04.2020 | Traefik “secHeader” hinzugefügt. |
13.04.2020 | Server reagiert jetzt auch auf “www.” |
01.04.2020 | Anleitung erstellt. |
Inhaltsverzeichnis
Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.
Als Grundlage meiner Anleitung dient die offizielle WordPress Anleitung für Docker.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/wordpress/{database,app}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle WordPress Compose genommen und diese abgeändert für Traefik.
cd /opt/containers/wordpress/ nano docker-compose.yml
Inhalt
version: '3.1' services: wordpress: image: wordpress restart: unless-stopped environment: WORDPRESS_DB_HOST: wordpress-db WORDPRESS_DB_USER: exampleuser ## Hier Benutzer eingeben ## WORDPRESS_DB_PASSWORD: examplepass ## Hier Passwort eingeben ## WORDPRESS_DB_NAME: wordpress volumes: - /opt/containers/wordpress/app:/var/www/html labels: - "traefik.enable=true" - "traefik.http.routers.wordpress-app.entrypoints=http" - "traefik.http.routers.wordpress-app.rule=Host(`wordpress.euredomain.de`)" ## Hier eure Domain eingeben ## - "traefik.http.middlewares.wordpress-app-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.wordpress-app.middlewares=wordpress-app-https-redirect" - "traefik.http.routers.wordpress-app-secure.entrypoints=https" - "traefik.http.routers.wordpress-app-secure.rule=Host(`wordpress.euredomain.de`)" ## Hier eure Domain eingeben ## - "traefik.http.routers.wordpress-app-secure.tls=true" - "traefik.http.routers.wordpress-app-secure.tls.certresolver=http" - "traefik.http.routers.wordpress-app-secure.service=wordpress-app" - "traefik.http.services.wordpress-app.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.wordpress-app-secure.middlewares=secHeaders@file" networks: - proxy - default wordpress-db: image: mysql:5.7 restart: unless-stopped environment: MYSQL_DATABASE: wordpress MYSQL_USER: exampleuser ## Hier selben Benutzer eingeben ## MYSQL_PASSWORD: examplepass ## Hier selbes Passwort eingeben ## MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - /opt/containers/wordpress/database:/var/lib/mysql networks: - default networks: proxy: external: true
Notwendige Anpassungen:
- MySQL Passwort ändern
- MySQL User ändern
- 2x eure Domain bei Traefik anpassen („wordpress.euredomain.de“)
Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.
Wenn ihr WordPress auf eurer “Hauptdomain” haben wollt, so gebt ihr folgendes ein:
"traefik.http.routers.wordpress-app.rule=Host(`www.euredomain.de`,`euredomain.de`)" "traefik.http.routers.wordpress-app-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"
3. WordPress starten
WordPress startet ihr wie gewohnt mit folgendem Befehl:
docker-compose -f /opt/containers/wordpress/docker-compose.yml up -d
4. WordPress einrichten
Wenn ihr nun auf “wordpress.euredomain.de” geht, dann solltet ihr direkt zur Konfiguration kommen. Hier könnt ihr dann eure Sprache wählen sowie einen Administrator Benutzer erstellen.
5. Quellen
https://hub.docker.com/_/wordpress