Det der med Docker og WordPress og Synology Webstation – det drillede mig.

Eller historien om hvordan man hoster adskillige wordpress sites på sin synology nas ved hjælp af docker…

På min nas har jeg hostet adskillige sider, herunder denne. I forbindelse med jeg gik fra flade html sider (ja der kom gammelfar her også lige ind i dette århundrede) havde jeg problemer med at finde en guide der kunne hjælpe mig med hvordan. Langt de fleste vejledninger beskriver hvordan man på en synology nas installerer en wordpress pakke, en database pakke og derefter laver 1 site i sin webstation, men umiddelbart som jeg fandt det kunne man kun lave 1 site på den måde. Hvad gør man så når ens behov er mere end 1 site? Det fandt jeg en løsning på, men den vejledning jeg fandt var på en væsentlig ældre version af dsm, så her kommer min guide til “flere wordpress sites på en synology nas der kører dsm 7.2, ved hjælp af docker og synology webstation”
For lige at tilsikre at kilderne er i orden så er den oprindelige guide her: https://sohwatt.com/how-to-setup-wordpress-on-synology-docker/
Kudo til Alwyn Soh for den oprindelige guide 🙂

For det første kræver det at du har en nas der kan køre docker – men hvis du ikke har det var du nok ikke landet på denne side…

Del 1: Opret foldere, download images og opret dine containere.

Det første du gør er at du i din docker folder laver to nye mapper, en til din database container og en til din wordpress applikations container.

Herefter starter du containermanager op og går til registry og finder (og downloader) først wordpress…

og derefter et mysql image – begge med “latest” tagget.

Nu bliver det fedt, for nu skal vi først skabe os en container til vores database, og derefter en til wordpress – og til sidst skal vi have det hele til at spile sammen i webstation hvor vi både skal sætte en web portal op, samt forbinde den til den web service som vores docker container laver for os.

I container manager går du til fanen container og vælger create

Herefter vælger du hvilket image du vil benytte, navngiver din container noget sigende, sætte den til at starte igen hvis den stopper uventet, samt begrnser den lidt på ressourcer – så ser det ca. sådan her ud.

Når du har trykket next kommer du til der hvor du mapper containeren op til den folder du lavede tidligere i processen.

Mountpoint skal være /var/lib/mysql

Herefter skal vi definere nogle variable: (Du finder selvfølgelig selv på nogle fede passwords, og ved du ikke hvordan man gør det så har CFCS en vejledning omkring passwords som du kan finde her: https://www.cfcs.dk/da/forebyggelse/vejledninger/passwords/)

  1. MYSQL_ROOT_PASSWORD = mysqlrootpassword
  2. MYSQL_DATABASE = wp
  3. MYSQL_USER = wpuser
  4. MYSQL_PASSWORD = wppass

Resten er bare standard, bridget netværk osv. Så du kan bare trykke next

Og blive præsenteret for et sammendrag af alle de valg du har taget, så her trykker du blot done.

Nu sidder du lige på hænderne i et par minutter, hvis du hopper ind på din container og kigger i loggen kan du kigge efter en linje der siger noget i stil med: /usr/sbin/mysqld: ready for connections

Når den første container er klar gentager vi succesen for at lave en docker container til wordpress applikationen – gå til container manager, derefter til fanen container og tryk create

Når vi sætte denne cotainer op gør vi næsten som den første, men vi vælger også at der skal laves en webportal i webstation – set det er smart at Synology har givet os den mulighed direkte i containermanageren! Tryk derefter next.

På næste side starter vi lige med at mappe vores container folder op til /var/www/html

Derefter skal vi tilføje følgende variable

WORDPRESS_DB_HOST = wp-db
WORDPRESS_DB_USER = wpuser
WORDPRESS_DB_PASSWORD = wppass
WORDPRESS_DB_NAME = wp

Her er det selvfølgelig igen vigtigt at du benytter de samme fede passwords som du fandt på tidligere, samt at din database hedder det samme som i din database container.

Nederst på konfigurationen her vælger du at tilføje din wordpress-db container som en linked container. Det er for at din applikation rent faktisk kan snakke med din database.

Tryk next og du kommer til dit summary…

Og herefter trykker du done.

Hvis ikke din database container er kørende bliver du lige advaret om at den bliver startet. Advarslen virker til at komme uanset om din database container kører eller ej . men tryk ok for at komme videre.

Herefter går tingende lidt i stå… Om det er en fejl (se den skarpe iagtager vil sige “det er det jo nok”) skal jeg ikke kunne sige. Men uanset om du henter kaffe, laver en mad eller drejer en vase, så bliver den ligesom hængende i det her billede uden at komme videre.

Det er ret irriterende, for man kan ikke se i ens containermanager om ens container er skabt og om den kører fejlfrit. Men det gør den jo nok, for du har jo fulgt min glimragende vildledning.

Kopier derfor indholdet fra din adresselinje i browseren, åben en ny fane og sæt indholdet ind så du kommer ind i en ny fane med dsm. Når du er inde kan du lukke den gamle, åbne containermanager og se at du har et par container der kører – alt er godt, verden er blevet et bede sted.

Men hvad så nu? Hvad gør man så?

Del 2: Konfigurer webstation så du får adgang til din wordpress installation

Nu hvor du har et par kørende containere åbner du applikationen webstation på din synology nas og går til fanen (hedder det mon en fane?) Web Service

Her vil du se at du har fået dig en ny webservice der er navngivet nogenlunde som din wordpress container.

Derefter går du til fanen Web portal og laver en ny portal ved at trykke på create

Du starter med at vælge at lave en web service portal

Din webportal skal linkes til din web service så det ser ca. sådan her ud hvorefter du trykker apply

Når du så besøger https://test.badsantas.dk skulle du gerne få en wordpress setup side…

Del 3: Basic wordpress installation

Når du besøger den adresse du har givet din webserver skulle du gerne blive præsenteret for en standard wordpress installation hvor du først vælger sprog.

Derefter skal du udfylde basis informationer om din side, vælger dig et brugernavn samt en emailadresse som kan bruges til eksempelvis nulstilling af password – hvis altså du konfigurerer så din wordpress side kan sende mails. (Det kunne muligvis være en fremtidig guide…?!)

Herunder har jeg blot benyttet det lokale festorkesters domæne til at lave en testside på – og jeg har selvfølgelig også lavet en dns pegning hos dns udbyder – og den firewall der sidder foran din Synology kasse skal selvfølgelig også acceptere indkommende forbindelser på både port 80 og 443.

Når du har udfyldt de relevante felter trykker du installer wordpress

og venter til siden skifter til…

Når du har trykkket på login bliver du ført til login siden – hvor du tatser brugernavn og adgangskode.

Nu har du en wordpress installation der kører i docker. Du kan lave lige så mange af dem som du vil, købe brugsretten til lige så mange domæner som du vil og pege dem hen på den offentlige ip som din synology nas står bagved, og derved hoste alle de fede sider du kan finde på at lave.
God fornøjelse 🙂

Tips og Tricks

  • Det er en god ide at have sig en netforbindelse med en fast ipadresse.
  • Det kan dog lade sig gøre at benytte dynamise dns services
  • Hvis du bruger de eksempel passwords jeg har benytte i guiden kan du risikere at din wordpress container ikke kan nå din database container – den kan ikke rigtig lide de der helt korte pw – eller også var jeg bare uheldig
  • Dit password skal være stærkt til din wordpress bruger. Den er eksponeret mod internet. Læs igen den der vejledning fra CFCS, de har ret godt styr på guidelines omkring passwords.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *