Come allestire un server per WordPress con Docker
Come allestire un server per WordPress con Docker
Quando ci troviamo di fronte alla necessità di configurare un server di prova per lo sviluppo di applicazioni web, siti internet, WordPress etc.. le possibilità che abbiamo sono molteplici:
- installare direttamente sulla macchina in uso webserver e database prescelti. Scelta straightforward che però ci penalizza dal punto di vista della sicurezza, esponendo a rischio la macchina sulla quale si sta lavorando. Esistono pacchetti pre-configurati che installano tutto il necessario per iniziare a produrre senza perdere tempo.
- virtualizzare l’intero sistema per isolarlo dalla macchina host. Grazie a VirtualBox (completamente open-source) o i prodotti VMWare, ad esempio fra i molti, possiamo configurare un’intera macchina che viene eseguita all’interno della sessione corrente del sistema operativo in uso dall’utente. A patto di isolare la VM (Virtual Machine) correttamente è una scelta più sicura della precedente, che però sobbarca il sistema dell’onere di emulare un intero sistema operativo!
- configurare una macchina nella propria rete locale. È possibile trasformare un pc in disuso o un Raspberry Pi in un server web da utilizzare nella propria rete locale, col problema però di avere una macchina in più a cui dover fare manutenzione, backup, etc.
Se nel mondo del cloud regna incontrastato l’uso dei vari Hypervisor per facilità di deployment, stabilità, ridondanza e scalabilità, tra la comunità di sviluppatori, nel tempo, ha iniziato ad emergere l’impiego dei cosiddetti container, da intendersi come capsule a sé stanti che isolano il funzionamento delle nostre applicazioni in un ambiente sicuro.
Isolare i servizi necessari in container
Scegliendo questa strada ci ritroviamo un metodo multipiattaforma (ricordiamo che funziona indistintamente su Linux, Mac o Windows) che ci offre velocità, sicurezza, replicabilità e facilità di mantenimento. Trovate più informazioni sul sito ufficiale del progetto, https://www.docker.com, dal quale potete scaricare il pacchetto di installazione.
Primi passi con Docker
Dopo aver scaricato ed installato la versione di Docker adeguata al nostro sistema operativo apriamo il terminale e scriviamo:
$ docker info
Ci darà alcune informazioni circa il nostro sistema e le caratteristiche di Docker
$ docker version
Ci restituirà il numero di versione di Docker.
$ docker ps
Ci mostrerà i processi Docker attualmente in funzione.
$ docker images
Elencherà tutte le immagini presenti nel nostro sistema.
Configurare l’ambiente di sviluppo WordPress con Docker
Con il prossimo comando invece automatizziamo l’installazione del Dockerfile prescelto:
$ docker pull eugeneware/docker-wordpress-nginx
Questo comando installerà l’ultima versione di WordPress, di nginx (il server web che useremo in questo esempio in alternativa ad Apache) di php-apc e php-fpm, in modo tale da avere subito un ambiente funzionante dove iniziare subito a lavorare.
Qualora desideraste invece compilare personalmente la vostra immagine eseguite i seguenti comandi:
$ git clone https://github.com/eugeneware/docker-wordpress-nginx.git
$ cd docker-wordpress-nginx
$ sudo docker build -t="eugeneware/docker-wordpress-nginx" .
Andiamo ora a generare una nuova istanza di WordPress sulla porta 80. La parte del comando -p 80:80 mappa la porta 80 del docker interno alla porta 80 esterna della macchina host.
$ sudo docker run -p 80:80 - nome docker-wordpress-nginx -d eugeneware / docker-wordpress-nginx
Siamo pronti per avviare il nostro docker appena creato.
$ sudo docker start docker-wordpress-nginx
Per monitorare docker-wordpress-nginx e controllare che il mapping della porta sia corretto digitiamo quindi nel terminale:
$ sudo docker ps
che restituirà stavolta
0.0.0.0:80 -> 80 / tcp docker-wordpress-nginx
Per proseguire con l’installazione di WordPress basta quindi visitare il seguente URL in un browser della macchina host:
http://127.0.0.1:80