Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

WordPress in Docker

Wil je WordPress op je VPS draaien in plaats van op een hostingpakket? Met Docker zet je WordPress en een database naast elkaar, en Caddy regelt https.

Tip: Op een hostingpakket regelt WebOké de server, de updates van PHP en de back-ups voor je. Kies voor de VPS als je die vrijheid echt nodig hebt.

Elk recept bouwt voort op de werkmap /srv/diensten met Caddy uit Je werkmap met compose.yaml, .env en Caddy. Je voegt een service toe aan compose.yaml, een blok aan het Caddyfile, en een A- en AAAA-record voor de naam (zie Een A- en AAAA-record in Mijn Domeinen).

1. DNS

Laat example.com en www.example.com met een A- en AAAA-record naar je VPS wijzen. Draait je site nu nog ergens anders, doe dit dan pas als de nieuwe site klaar is.

2. Een databasewachtwoord in .env

anna@web1:/srv/diensten$ openssl rand -base64 24

Zet de uitkomst in .env als 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

En onder volumes::

  wordpress:
  wp-db:

De database krijgt geen ports:: WordPress vindt hem op de naam wp-db (zie Docker en de firewall: poorten veilig publiceren).

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

Open https://example.com en doorloop de installatie van WordPress meteen. Het WordPress-image herkent dat het achter een https-proxy staat.

Bijwerken

  • WordPress, plugins en thema's werk je bij in het dashboard van WordPress, zoals altijd. Ze staan in het volume wordpress.
  • PHP en de webserver zitten in het image. Die werk je bij met docker compose pull en up -d (zie Containers bijwerken, opruimen en logs beperken).

Mail en back-up

WordPress verstuurt mail (wachtwoord vergeten, formulieren). Omdat poort 25 dicht staat, gebruik je een SMTP-plugin met een mailbox op poort 587 (zie Reverse DNS en mail versturen vanaf je VPS). Voor je back-up heb je twee dingen nodig: een dump van de database en het volume wordpress met je uploads. Zie Databases en Docker-volumes goed meenemen.

Meer over WordPress zelf, zoals plugins en beveiliging, lees je in de WordPress-cursus.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…