Capitolo 7 · 7.4
WordPress in Docker
Desidera eseguire WordPress sulla Sua VPS invece che su un pacchetto di hosting? Con Docker WordPress e un database funzionano uno accanto all'altro, mentre Caddy si occupa di https.
Suggerimento: Con un pacchetto di hosting WebOké gestisce per Lei il server, gli aggiornamenti di PHP e i backup. Scelga la VPS se ha davvero bisogno di questa libertà.
Ogni ricetta si basa sulla cartella di lavoro /srv/diensten con Caddy di La Sua cartella di lavoro con compose.yaml, .env e Caddy. Aggiunge un servizio a compose.yaml, un blocco al Caddyfile e un record A e AAAA per il nome (vedere Un record A e AAAA in I miei domini).
1. DNS
Faccia puntare example.com e www.example.com alla Sua VPS con un record A e AAAA. Se il Suo sito è ancora ospitato altrove, lo faccia solo quando il nuovo sito è pronto.
2. Una password del database in .env
anna@web1:/srv/diensten$ openssl rand -base64 24
Inserisca il risultato in .env come 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
E sotto volumes::
wordpress:
wp-db:
Il database non riceve ports:: WordPress lo trova tramite il nome wp-db (vedere Docker e il firewall: pubblicare le porte in modo sicuro).
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
Apra https://example.com e completi subito l'installazione di WordPress. L'immagine di WordPress riconosce di trovarsi dietro un proxy https.
Aggiornare
- WordPress, i plugin e i temi si aggiornano nella bacheca di WordPress, come sempre. Si trovano nel volume
wordpress. - PHP e il server web sono contenuti nell'immagine. Li aggiorna con
docker compose pulleup -d(vedere Aggiornare i container, fare pulizia e limitare i log).
Posta e backup
WordPress invia e-mail (password dimenticata, moduli). Poiché la porta 25 è chiusa, utilizzi un plugin SMTP con una casella di posta sulla porta 587 (vedere Reverse DNS e invio di e-mail dal Suo VPS). Per il Suo backup servono due cose: un dump del database e il volume wordpress con i Suoi upload. Vedere Salvare correttamente database e volumi Docker.
Per saperne di più su WordPress stesso, ad esempio su plugin e sicurezza, consulti il corso di WordPress.
