Poglavlje 7 · 7.4
WordPress u Dockeru
Želite li WordPress pokretati na svom VPS-u umjesto na paketu web hostinga? S Dockerom postavljate WordPress i bazu podataka jedno uz drugo, a Caddy se brine za https.
Savjet: Na paketu web hostinga WebOké se umjesto Vas brine za poslužitelj, ažuriranja PHP-a i sigurnosne kopije. Odaberite VPS ako Vam ta sloboda zaista treba.
Svaki recept nadovezuje se na radnu mapu /srv/diensten s Caddyjem iz članka Vaša radna mapa s compose.yaml, .env i Caddyjem. Dodajete uslugu u compose.yaml, blok u Caddyfile te A i AAAA zapis za naziv (pogledajte A i AAAA zapis u Moje domene).
1. DNS
Usmjerite example.com i www.example.com A i AAAA zapisom na svoj VPS. Ako Vaša stranica trenutačno radi negdje drugdje, učinite to tek kada nova stranica bude spremna.
2. Lozinka baze podataka u .env
anna@web1:/srv/diensten$ openssl rand -base64 24
Rezultat upišite u .env kao 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
A pod volumes::
wordpress:
wp-db:
Baza podataka ne dobiva ports:: WordPress je pronalazi po nazivu wp-db (pogledajte Docker i vatrozid: sigurno objavljivanje portova).
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
Otvorite https://example.com i odmah prođite kroz instalaciju WordPressa. WordPress image prepoznaje da se nalazi iza https proxyja.
Ažuriranje
- WordPress, dodatke i teme ažurirate na nadzornoj ploči WordPressa, kao i uvijek. Nalaze se u volumenu
wordpress. - PHP i web poslužitelj nalaze se u imageu. Njih ažurirate naredbama
docker compose pulliup -d(pogledajte Ažuriranje i čišćenje kontejnera te ograničavanje zapisnika).
E-pošta i sigurnosna kopija
WordPress šalje e-poštu (zaboravljena lozinka, obrasci). Budući da je port 25 zatvoren, koristite SMTP dodatak s poštanskim sandučićem na portu 587 (pogledajte Reverse DNS i slanje e-pošte s Vašeg VPS-a). Za sigurnosnu kopiju trebaju Vam dvije stvari: dump baze podataka i volumen wordpress s Vašim prenesenim datotekama. Pogledajte Ispravna izrada sigurnosnih kopija baza podataka i Docker volumena.
Više o samom WordPressu, primjerice o dodacima i sigurnosti, pročitajte u tečaju za WordPress.
