webshop
- Verzeichnisse anlegen:
# Auf der SSD
sudo mkdir -p /opt/shop
# Auf der HDD
sudo mkdir -p /mnt/hdd/shop/{uploads,database,backups}
sudo chown -R 33:33 /mnt/hdd/shop/uploads
2.docker-compose.yml erstellen: cd /opt/shop nano docker-compose.yml
version: '3.8'
services:
db:
image: mariadb:10.11-alpine
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: PASSWORT_1
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: PASSWORT_2
volumes:
- /mnt/hdd/shop/database:/var/lib/mysql
networks:
- shop-internal
wordpress:
image: wordpress:6.4-fpm-alpine
restart: unless-stopped
depends_on:
- db
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: PASSWORT_2
WORDPRESS_DB_NAME: wordpress
WORDPRESS_CONFIG_EXTRA: |
define('WP_HOME', 'https://test.denode.eu');
define('WP_SITEURL', 'https://test.denode.eu');
volumes:
- wordpress-core:/var/www/html
- /mnt/hdd/shop/uploads:/var/www/html/wp-content/uploads
networks:
- shop-internal
nginx:
image: nginx:alpine
restart: unless-stopped
depends_on:
- wordpress
ports:
- "3050:80"
volumes:
- wordpress-core:/var/www/html:ro
- /mnt/hdd/shop/uploads:/var/www/html/wp-content/uploads:ro
- ./nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- shop-internal
volumes:
wordpress-core:
networks:
shop-internal:
- nginx.conf erstellen:
user nginx;
worker_processes auto;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 64M;
upstream php {
server wordpress:9000;
}
server {
listen 80;
server_name _;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
}
- docker compose up -d
- caddy config WordPress Installation:
Sprache: Deutsch Seiten-Titel: z.B. "Weihnachtsdeko Shop" Benutzername: Ein sicherer Admin-Name (NICHT "admin") Passwort: PASSWORT_3 (das dritte generierte) E-Mail: Eine gültige E-Mail-Adresse Haken bei "Suchmaschinen davon abhalten..." (für Testphase)
WooCommerce installieren: Nach dem Login:
Links im Menü: Plugins → Installieren Suche nach "WooCommerce" Installieren → Aktivieren Setup-Wizard durchlaufen (kann übersprungen werden, wird später konfiguriert)
Fertig! 🎉 Der Shop läuft jetzt unter https://test.denode.eu Nächste Schritte für deine Bekannte:
Theme auswählen (Appearance → Themes) Produkte anlegen (Produkte → Neu hinzufügen) Zahlungsarten konfigurieren (WooCommerce → Einstellungen → Zahlungen)