Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Preparazione dell'ambiente di sviluppo

Come preparare l'ambiente di sviluppo per creare un social network basato su Symfony utilizzando Docker per i container e GitHub per il versioning.
Come preparare l'ambiente di sviluppo per creare un social network basato su Symfony utilizzando Docker per i container e GitHub per il versioning.
Link copiato negli appunti

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:

  • app che contiene php-fpm ed è il container su cui faremo girare l’applicazione
  • webserver, basato sull’immagine ufficiale di nginx, rappresenta il Web server che risponde alla porta 80
  • db, 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().

Figura1. PHPInfo

Ti consigliamo anche