Ich habe bereits schon hier eine Anleitung geschrieben, wie ihr WordPress innerhalb weniger Minuten betreiben könnt. Nun zeige ich euch, wie ihr WordPress zusammen mit Redis betreiben könnt.
Datum | Änderungen |
---|---|
21.02.2023 | Erstellung dieser Anleitung |
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik v2 – Reverse-Proxy mit CrowdSec einrichten
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.
nano /opt/containers/wordpress/docker-compose.yml
Inhalt
version: '3.1' services: wordpress: image: wordpress restart: unless-stopped container_name: wordpress 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: - ./app:/var/www/html labels: - "traefik.enable=true" - "traefik.http.routers.wordpress.entrypoints=https" - "traefik.http.routers.wordpress.rule=Host(`wordpress.euredomain.de`)" - "traefik.http.routers.wordpress.middlewares=default@file" - "traefik.http.routers.wordpress.tls=true" - "traefik.http.routers.wordpress.tls.certresolver=http" - "traefik.http.routers.wordpress.service=wordpress" - "traefik.http.services.wordpress.loadbalancer.server.port=80" - "traefik.docker.network=proxy" networks: - proxy - default wordpress-db: image: mariadb:10.6.4-focal container_name: wordpress-db 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: - ./database:/var/lib/mysql networks: - default wordpress-redis: image: redis:alpine container_name: wordpress-redis restart: unless-stopped networks: - default networks: proxy: external: true
Notwendige Anpassungen:
- MySQL Passwort ändern
- MySQL User ändern
- eure Domain bei Traefik anpassen („wordpress.euredomain.de“)
Wenn ihr WordPress auf eurer “Hauptdomain” haben wollt, so gebt ihr folgendes ein:
"traefik.http.routers.wordpress.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. Redis konfigurieren
5.1 wp-config.php anpassen
Dazu öffnet ihr folgende Datei in euer Linux Konsole:
nano /opt/containers/wordpress/app/wp-config.php
Hier fügt ihr folgende beiden Zeilen ein:
define( 'WP_REDIS_HOST', 'wordpress-redis' ); define( 'WP_REDIS_PORT', 6379 );
Dies sieht bei mir so aus:
5.2 WordPress Redis Plugin installieren
Nun installieren wir uns folgendes Plugin unter WordPress: Redis Object Cache
Nach der Installation aktiviert ihr das Plugin und sollet dann folgendes sehen. Hier müsst ihr nur auf “Object-Zwischenspeicher aktivieren” klicken.
Nun sollte alles grün werden.
6. Absichern mit CrowdSec
Nachdem ihr WordPress installiert habt, könnt ihr dies mit CrowdSec noch zusätzlich absichern. Wie ihr das innerhalb weniger Minuten macht, könnt ihr hier lesen.
7. Quellen
https://hub.docker.com/_/wordpress