Capitolul 7 · 7.4
WordPress în Docker
Doriți să rulați WordPress pe VPS-ul dvs. în loc de un pachet de găzduire? Cu Docker instalați WordPress și o bază de date una lângă alta, iar Caddy se ocupă de https.
Sfat: Pe un pachet de găzduire, WebOké se ocupă în locul dvs. de server, de actualizările PHP și de back-upuri. Alegeți VPS-ul dacă aveți cu adevărat nevoie de această libertate.
Fiecare rețetă pornește de la directorul de lucru /srv/diensten cu Caddy din Directorul dumneavoastră de lucru cu compose.yaml, .env și Caddy. Adăugați un serviciu în compose.yaml, un bloc în Caddyfile și o înregistrare A și AAAA pentru nume (consultați O înregistrare A și AAAA în Domeniile mele).
1. DNS
Direcționați example.com și www.example.com către VPS-ul dvs. cu o înregistrare A și AAAA. Dacă site-ul dvs. rulează încă în altă parte, faceți acest lucru abia după ce noul site este gata.
2. O parolă pentru baza de date în .env
anna@web1:/srv/diensten$ openssl rand -base64 24
Puneți rezultatul în .env ca WP_DB_WACHTWOORD=....
3. compose.yaml
wordpress:
image: wordpress
restart: unless-stopped
environment:
WORDPRESS_DB_HOST: wp-db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${WP_DB_WACHTWOORD}
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress:/var/www/html
depends_on:
- wp-db
wp-db:
image: mariadb:11.8
restart: unless-stopped
environment:
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: ${WP_DB_WACHTWOORD}
MARIADB_RANDOM_ROOT_PASSWORD: "1"
volumes:
- wp-db:/var/lib/mysql
Iar sub volumes::
wordpress:
wp-db:
Baza de date nu primește ports:: WordPress o găsește după numele wp-db (consultați Docker și firewall-ul: publicarea în siguranță a porturilor).
4. Caddyfile
example.com, www.example.com {
reverse_proxy wordpress:80
}
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Deschideți https://example.com și parcurgeți imediat instalarea WordPress. Imaginea WordPress recunoaște că se află în spatele unui proxy https.
Actualizare
- WordPress, pluginurile și temele le actualizați din panoul de control WordPress, ca de obicei. Acestea se află în volumul
wordpress. - PHP și serverul web se află în imagine. Le actualizați cu
docker compose pullșiup -d(consultați Actualizarea containerelor, curățarea și limitarea jurnalelor).
E-mail și back-up
WordPress trimite e-mailuri (parolă uitată, formulare). Deoarece portul 25 este închis, folosiți un plugin SMTP cu o căsuță poștală pe portul 587 (consultați Reverse DNS și trimiterea e-mailurilor de pe VPS-ul dumneavoastră). Pentru back-up aveți nevoie de două lucruri: un dump al bazei de date și volumul wordpress cu fișierele încărcate. Consultați Cum includeți corect bazele de date și volumele Docker în copia de rezervă.
Mai multe despre WordPress în sine, cum ar fi pluginurile și securitatea, găsiți în cursul WordPress.
