Luku 7 · 7.4
WordPress Dockerissa
Haluatko ajaa WordPressia VPS:lläsi webhotellipaketin sijaan? Dockerilla asennat WordPressin ja tietokannan rinnakkain, ja Caddy hoitaa https:n.
Vinkki: Webhotellipaketissa WebOké hoitaa puolestasi palvelimen, PHP:n päivitykset ja varmuuskopiot. Valitse VPS, jos todella tarvitset sen tuoman vapauden.
Jokainen ohje rakentuu työkansion /srv/diensten ja Caddyn varaan, jotka esitellään artikkelissa Työhakemisto: compose.yaml, .env ja Caddy. Lisäät palvelun tiedostoon compose.yaml, lohkon tiedostoon Caddyfile sekä A- ja AAAA-tietueen nimelle (katso A- ja AAAA-tietue Omat verkkotunnukset -osiossa).
1. DNS
Ohjaa example.com ja www.example.com VPS:llesi A- ja AAAA-tietueella. Jos sivustosi toimii vielä muualla, tee tämä vasta, kun uusi sivusto on valmis.
2. Tietokannan salasana .env-tiedostoon
anna@web1:/srv/diensten$ openssl rand -base64 24
Lisää tulos tiedostoon .env muodossa 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
Ja kohtaan volumes::
wordpress:
wp-db:
Tietokanta ei saa asetusta ports:: WordPress löytää sen nimellä wp-db (katso Docker ja palomuuri: porttien turvallinen julkaiseminen).
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
Avaa https://example.com ja käy WordPressin asennus läpi heti. WordPress-image tunnistaa, että se on https-välityspalvelimen takana.
Päivittäminen
- WordPressin, lisäosat ja teemat päivität WordPressin hallintapaneelissa tavalliseen tapaan. Ne ovat volyymissa
wordpress. - PHP ja verkkopalvelin ovat imagessa. Ne päivität komennoilla
docker compose pulljaup -d(katso Konttien päivittäminen, siivoaminen ja lokien rajoittaminen).
Sähköposti ja varmuuskopio
WordPress lähettää sähköpostia (unohtunut salasana, lomakkeet). Koska portti 25 on suljettu, käytä SMTP-lisäosaa ja sähköpostilaatikkoa portissa 587 (katso Käänteinen DNS ja sähköpostin lähettäminen VPS:ltä). Varmuuskopioon tarvitset kaksi asiaa: tietokannan vedoksen ja volyymin wordpress, jossa ovat lataamasi tiedostot. Katso Tietokantojen ja Docker-volyymien varmuuskopiointi oikein.
Lisää itse WordPressista, kuten lisäosista ja tietoturvasta, löydät WordPress-kurssilta.
