Installation

installation via Docker

Beschreibung:

Docker installation mit mariadb caddy und Wordpress natürlich

Installation

Projektverzeichnis anlegen

mkdir /root/wordpress

Dort drin eine .env Datei anlegen

nano /root/wordpress/.env

Inhalt

# MariaDB Einstellungen
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpresspass

# Domain/Hostname für Caddy
CADDY_HOST=shop.example.com

Die docker compose Datei

nano /root/wordpress/docker-compose.yml

Inhalt

version: '3.8'

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

  wordpress:
    image: wordpress:latest
    restart: always
    depends_on:
      - mariadb
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
    volumes:
      - ./data/wordpress:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/custom.ini

  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    command: caddy reverse-proxy --from ${CADDY_HOST} --to wordpress:80
    volumes:
      - ./data/caddy/data:/data
      - ./data/caddy/config:/config

nun noch die php.ini anlegen für 512MB uploads

nano /root/wordpress/php.ini

Inhalt

upload_max_filesize = 512M
post_max_size = 2048M

nun den Container starten

docker-compose up -d

Nun noch die ufw Firewall regeln anpassen.

Da hier der Docker container sowieso von außen erreichbar sein soll, brauchen wir hier keine Anspassung für docker.
Aber ssh soll nur auf der lokalen Netzwerkkarte zur Verfügung stehen

ufw allow in on enp6s18 to any port 22
ufw enable

Cron Jobs richtig zum Laufen bringen Caddy Fehler:

Code Snippet hinzufügen über Plugin für die WP Cron Dienste um folgenden Fehler zu vermeiden
Sie Seite Fehler: cURL error 28: Operation timed out after 3000 milliseconds und Aktionsplaner: 90 überfällige Aktionen gefunden;

redis zu wordpress docker hinzufügen

Beschreibung:

Sollte die Wordpress instanz ziemlich langsam laufen, kann man einen Redis Service mit zwischen packen.
Unsere docker-compose Datei baut auf der ersten auf.
Dann muss noch das Redis Cache Plugin installiert werden

Einrichtung:

Docker-compose:

Die eigentlichen Änderungen

Einen Redis Service hinzufügen.

...
 redis:
    image: redis:alpine
    restart: always
...



im Wordpress service eine environment variable hinzufügen  WP_REDIS_HOST: redis
und depends on -redis hinzufügen
...
depends_on:
      - mariadb
      - redis
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
      WP_REDIS_HOST: redis
...

Hier nochmals unsere komplette docker compose Datei

version: '3.8'

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

  redis:
    image: redis:alpine
    restart: always

  wordpress:
    image: wordpress:latest
    restart: always
    depends_on:
      - mariadb
      - redis
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
      WP_REDIS_HOST: redis
    volumes:
      - ./data/wordpress:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/custom.ini

  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    command: caddy reverse-proxy --from ${CADDY_HOST} --to wordpress:80
    volumes:
      - ./data/caddy/data:/data
      - ./data/caddy/config:/config

Wordpressplugin aktivieren

Siehe Artikel Wordpress Redis Plugin : Addon - Redis Cache

Einstellungen Brutto Preise also inklusive MwSt anzeigen

Beschreibung:

Standardmäßig sind die Artikelpreise Netto Preise + Steuer.
Um dies zu ändern, in die Woocomerce Einstellungen gehen

Automated tax deaktivieren, dann speichern und nun kann Preise inklusive Steuern angegeben werden.

grafik.png

Und Preise im Shop anzeigen Steuern eingeschlossen
Preise Während Bestell Warenkorb und Bezahlvorgangs (Kasse) anzeigen Steuern eingeschlossen.

grafik.png

Dann Auf der Seite Allgemein bei Einstellungen

grafik.png

Dort unter Voreingestellter Ort für Kunden : Land Region des Stores

grafik.png

fertig

Kundenkonto erstellen unter mein Konto und beim bezahlen

Beschreibung:

Damit Kunden die Möglichkeit haben, Ihre Bestellungen zu speichern.
müssen wir einstellen, das in Mein konto und beim Bezahlen die möglichkeit besteht ein kundenkonto anzulegen.

Dazu gehen wir unter Einstellungen -> Konten und Datenschutz

Wir möchten nicht das Gäste kaufen können, da sonst die Käufe nicht in der Historie gespeichert sind. Also Haken raus.
Durch Eingabe der Emailadresse wird dann automatisch ein Kundenkonto erstellt, da Gast Bestellung nicht möglich sind

Anmeldung während des Bezahlvorgangs rein, damit vorhandene Kunden sich anmelden können. Haken rein

Kunden Konto Erstellung erlauben haken rein bei
Beim bezahlen
Auf der Seite mein Konto

sonst wird kein Kundenkonto durch Emailadresse erstellt.

Link zur Einrichtung des Passworts zusenden haken rein.

grafik.png