Prima di entrare nel vivo di Symfony e del nostro progetto Kvak abbiamo bisogno di installare un ambiente di sviluppo in locale.
GitHub
Il codice prodotto in ogni lezione verrà rilasciato su un repository pubblico hostato su GitHub all’indirizzo https://github.com/dymissy/html_it_kvak. Per ogni lezione verrà prodotto un tag apposito in maniera da poter esercitarsi sulla lezione specifica partendo da una base comune di codice.
Per iniziare, quindi, cloniamo il progetto sulla nostra macchina locale:
git clone git@github.com:dymissy/html_it_kvak.git
Il branck master conterrà sempre l’ultima versione aggiornata del progetto. In base a quando stai leggendo questa guida, quindi, potresti trovarti ad uno stadio già molto avanzato del progetto e quindi avere dei file diversi.
Per essere sicuri di lavorare con gli stessi file possiamo spostarci sul tag docker con un semplice checkout:
git checkout docker
La struttura dei file del progetto è la seguente:
app/
docker/
resources/visual/
docker-compose.yml
La cartella app conterrà i file del progetto e quindi la nostra applicazione. Allo stadio corrente è presente il solo file index.php nella sotto-cartella public con un phpinfo() che utilizzeremo per verificare di aver effettuato correttamente il setup del progetto.
I file contenuti nella directory docker ed il file docker-compose.yml sono necessari per creare un ambiente containerizzato utilizzando Docker.
I file della cartella resources/visual contengono invece gli assets statici ed i template HTML che integreremo in seguito nel progetto.
Docker
Ora che abbiamo scaricato il progetto in locale possiamo effettuarne il setup.
Innanzitutto dobbiamo essere certi di aver installato Docker e docker-compose nella nostra macchina. Docker è installabile nativamente su Linux, per Windows e Mac OS è invece possibile installare le versioni ad hoc:
Per maggiori informazioni su Docker si può fare riferimento alla Guida a Docker.
Aprendo il file docker-compose.yml possiamo notare che l'ambiente è composto da 3 container:
appche contienephp-fpmed è il container su cui faremo girare l’applicazionewebserver, basato sull’immagine ufficiale di nginx, rappresenta il Web server che risponde alla porta 80db, basato su MySQL che utilizzeremo come database del progetto
Per comodità possiamo anche decidere di assegnare un hostname al progetto modificando il file hosts del terminale aggiungendo la riga:
127.0.0.1 kvak.local
Questo consentirà di visualizzare il progetto all’indirizzo http://kvak.local.
Una volta installato e configurato tutto correttamente possiamo lanciare docker-compose per eseguire il setup dell’ambiente con il comando:
docker-compose up -d
Lanciando poi il comando docker ps, dovremmo avere una situazione simile alla seguente:
kvak → docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9a594e136318 nginx:latest "nginx -g 'daemon of…" 2 days ago Up 1 second 0.0.0.0:80->80/tcp kvak_webserver
f01debe1e2c7 kvak_app "docker-php-entrypoi…" 2 days ago Up 2 seconds 0.0.0.0:9000->9000/tcp kvak_app
e65ed71e7cb8 mysql:8.0.18 "docker-entrypoint.s…" 2 days ago Up 3 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp kvak_db
A questo punto aprendo il browser all’indirizzo http://kvak.local dovremmo vedere l’output della funzione phpinfo().
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto:
