Come creare un ambiente di sviluppo web condiviso con docker (Lando) per WordPress e Laravel

Uno dei primi scogli che si incontrano lavorando in un team di sviluppo è proprio quello di riuscire a tenere aggiornato il codice tra tutti i membri del team.

In questa prima puntata, come già anticipato nel titolo, andremo a creare un’ambiente di sviluppo condiviso utilizzando Lando per WordPress. Quest’ultimo risulterà poi facilmente replicabile e clonabile facilmente da chiunque poi in un futuro dovrà lavorarci.

Fino a non pochi anni fa per emulare un sito web su un computer, a seconda del sistema operativo, venivano utilizzati diversi metodi come Xamp su Windows e localhost su Linux e Mac, ma questo comportava non pochi svantaggi ai Team di sviluppo.
Grazie a Lando e Docker andremo a creare un ambiente di sviluppo comune in cui andremo a definire tutte le informazioni necessarie a far funzionare il nostro progetto.

Installare WordPress con docker usando lando

Se non lo avete già fatto precedentemente bisognerà installare Lando e Docker… per farlo potete tranquillamente seguire questa guida qui.

Il primo passo da effettuare è quello di creare sul nostro computer una cartella con il nome del progetto ed al suo interno andremo ad aggiungere un file .lando.yml.
Questo file non è altro che una ricetta contenente tutte le informazioni necessarie per installare Lando, come per esempio la versione di PHP, i collegamenti al database, il recipiente e via dicendo.

Spieghiamo tutto dettagliatamente nel video sul nostro canale Youtube che potete trovare alla fine di questo articolo.

Il secondo passo consiste nel digitare nella console del progetto il comando

lando start

A questo punto la nostra applicazione avvierà il contenitore Docker e tutti i servizi necessari.

Il terzo passo consiste nell’installare ciò che siamo andati a definire come ricetta nel file di configurazione di Lando, come esempio utilizzeremo WordPress che è il più comunemente utilizzato. A questo punto andiamo a digitare sulla nostra console di progetto il comando

lando wp core download

subito dopo averlo lanciato, verranno scaricati ed installati tutti i file necessari per il corretto funzionamento di WordPress.

Nel quarto passo bisognerà andare a copiare semplicemente il file wp-config-sample.php, rinominarlo in wp.config.php, aprirlo ed andare a sostituire i valori per l’accesso al database che siamo andati a specificare nel file .lando.yml all’inizio dell’installazione.

A questo punto se noi apriremo il link di accesso al nostro sito web, che ci vengono mostrati in console dopo aver eseguito il comando “lando start” nel nostro progetto, vedremo la schermata iniziale di WordPress.

Ora potremmo iniziare a lavorarci e a condividere il codice con tutto il team senza la preoccupazione di eventuali errori dovuti ad incongruenze nel codice e versioni differenti.

Esempio di ricetta docker (lando) per WordPress

name: esempiowordpress
recipe: wordpress
config:
  via: nginx
  database: mariadb
  xdebug: true
  webroot: .
proxy:
  appserver_nginx:
    - esempiowordpress.lndo.site
mailhog:
  - mailhog.lndo.site
domain: lndo.site
services:
  appserver:
    via: nginx
    type: 'php:7.4'
  node:
    type: 'node:10.14.2'
    build:
      - npm install
  database:
    type: 'mariadb:10.3'
    portforward: 3307
    creds:
      user: username
      password: password
      database: esempiowordpress
  mailhog:
    type: mailhog
    hogfrom:
      - appserver
    portforward: true
  phpmyAdmin:
    type: 'phpmyadmin:5.0'
    hosts:
      - database.esempiowordpress.internal
    mariadb103:
      type: 'mariadb:10.3'
tooling:
  npm:
    service: node
  node:
    service: node
  gulp:
    service: node
  yarn:
    service: node

Esempio di ricetta docker (lando) per Laravel

name: esempiolaravel
recipe: laravel
config:
  php: "7.3"
  via: apache:2.4
  database: mysql
mailhog:
  - mailhog.lndo.site
domain: lndo.site
services:
  appserver:
    webroot: public
    xdebug: true
  node:
    type: node:12.14.0
    build:
      - npm install
  database:
    type: mysql:8.0
    portforward: 3307
    creds:
      user: username
      password: password
      database: esempiolaravel
  mailhog:
    type: mailhog
    hogfrom:
      - appserver
    portforward: true
  phpmyAdmin:
    type: phpmyadmin:5.0
    hosts:
      - database.esempiolaravel.internal
    mysql8:
      type: mysql:8.0
tooling:
  npm:
    service: node
  node:
    service: node

Comandi utili

  • lando start -> avvia l’applicazione;
  • lando stop -> arresta l’applicazione, ma funziona solamente se con il terminale siamo all’interno della cartella del progetto (non necessariamente la root, visto che il comando va a controllare anche fino a 4 cartelle precedenti quella dove ci troviamo).
  • lando poweroff -> arresta completamente Lando e funziona da qualsiasi cartella e posizione;
  • lando rebuild -y -> bisogna utilizzarlo nel caso in cui andremo a modificare qualche parametro del .lando.yml file
  • lando db-import NOME-DATABASE.gz -> importa il database con estensione gz
  • lando db-export -> esporta il database del progetto

Video tutorial

Seguici su Twitch e Youtube

Ti serve una consulenza? Contattaci!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

wordpress-guide
Up Next:

Wordpress: Come auto-aggiornare il carrello di Woocommerce e rimuovere il pulsante "aggiorna carrello"

Wordpress: Come auto-aggiornare il carrello di Woocommerce e rimuovere il pulsante "aggiorna carrello"