Questo documento ti guiderà passo passo nell'installazione e configurazione del progetto Laravel. Assicurati di seguire tutti i passaggi per far funzionare correttamente l'applicazione.
Per eseguire il progetto, devi installare i seguenti strumenti:
-
PHP (>= 8.2) e tutte le estensioni richieste:
PHP >= 8.2,
Ctype PHP Extension,
cURL PHP Extension,
DOM PHP Extension,
Fileinfo PHP Extension,
Filter PHP Extension,
Hash PHP Extension,
Mbstring PHP Extension,
OpenSSL PHP Extension,
PCRE PHP Extension,
PDO PHP Extension,
Session PHP Extension,
Tokenizer PHP Extension,
XML PHP Extension, -
Composer (Dependency Manager per PHP)
-
Apache o un altro server compatibile (es. Nginx)
-
MySQL o un altro database supportato
-
Node.js (per gestire i pacchetti frontend con npm)
-
Clona il repository
git clone <repository-url> cd <repository-directory>
-
Installa le dipendenze PHP con Composer
Assicurati di avere Composer installato, poi esegui:
composer install
-
Installa i pacchetti frontend con npm
npm install
-
Configura il file
.envCopia il file
.env.examplee rinominalo come.env:cp .env.example .env
-
Configura il database e altre impostazioni
Apri il file
.enve modifica le seguenti variabili:- Nome del database:
DB_DATABASE=nome_database
- Username e password del database:
DB_USERNAME=tuo_username DB_PASSWORD=tua_password
- URL dell'applicazione (assicurati che sia corretto):
APP_URL=http://localhost
- Nome dell'applicazione:
APP_NAME="NomeApplicazione"
- Nome del database:
-
Genera l'app key
Questo comando genererà una chiave di crittografia unica per il tuo progetto:
php artisan key:generate
-
Esegui le migrazioni del database
Per creare tutte le tabelle necessarie nel database:
php artisan migrate
-
Compila i file frontend (consigliato per le risorse come CSS e JavaScript):
npm run dev
Per la produzione:
npm run build
-
Avvia il server Laravel
Puoi utilizzare il server integrato di Laravel per eseguire il progetto:
php artisan serve
Il progetto sarà disponibile su
http://localhost:8000. -
(Opzionale) Configura Apache o Nginx
Per eseguire il progetto su Apache, configura il tuo file di virtual host puntando alla directory
public/del progetto.
-
Errore di permessi: Assicurati che i file nelle directory
storageebootstrap/cacheabbiano i permessi corretti:chmod -R 775 storage bootstrap/cache
-
Mancano estensioni PHP: Verifica che le estensioni richieste siano installate (es.
mbstring,openssl,pdo, ecc.). -
Errore 500: Controlla i log in
storage/logs/per dettagli.
-
Per aggiornare le dipendenze:
composer update
-
Per eseguire i test (se sono stati configurati):
php artisan test
database/migrationscontiene la struttura del databaseapp/modelscontiene i modelliapp/Http/controllerscontiene le funzioniroutes/appcontiene gli URI
Se hai ulteriori domande o problemi, fai riferimento alla documentazione ufficiale di Laravel.
Verifica di aver installato Docker
git clone <repository-url>
cd <repository-directory>-
Esegui il seguente comando per installare tutte le immagini necessarie per i container
Questo comando costruirà le immagini Docker per l'applicazione (Gitlab, GitlabRunner, PHP, MySQL e Nginx), usando il Dockerfile e le configurazioni definite nel docker-compose.yml.
docker-compose build
-
Una volta che le immagini sono state costruiti avvia i contenitori in modalità detached (in background)
docker-compose up -d
-
Configura il file
.envCopia il file
.env.examplee rinominalo come.env:cp .env.example .env
-
Configura il database e altre impostazioni
Apri il file
.enve modifica le seguenti variabili:- Nome del database:
DB_DATABASE
- Variabili del database di default sono impostate per l'installazione normale:
DB_HOST DB_USERNAME DB_PASSWORD
- URL dell'applicazione (assicurati che sia corretto):
APP_URL=http://localhost
- Nome del database:
Per generare la chiave dell'app:
php artisan key:generatePer eseguire le migrazioni del database:
php artisan migratePer generare l'ultima versione dei file statici javascript e css:
npm run buildOpzionale per la modalità sviluppo:
npm run devPer risolvere gli errori di tipo ERROR 404 o 403 Gateway, usare la bash del Container Nginx e impostare i permessi con i comandi:
chmod -R 755 /var/www/html/public/buildchmod -R 755 /var/www/html/public/Altri comandi utili:
Per fermare i Container:
docker-compose stopPer rimuovere i volumi contenenti i dati associati ai Container (CANCELLA TUTTI I DATI):
docker-compose down --volumesAccedi a Gitlab su http:localhost:80
-
username: root
-
password: configurata di default al primo avvio di GitLab, si trova nel volume
regops_gitlab_config, nel fileinitial_root_password, NB: IL FILE SI ELIMINA IN AUTOMATICO DOPO 24H. -
Creare un Personal Access Token, abilitare gli import e importare il progetto;
Configura un'istanza Runner
-
Nella sezione Runner di GitLab crea una nuova istanza, assegna un nome al runner;
-
Nella bash del container
regops_gitlab_runneresegui i seguenti comandi:gitlab-runner register
Inserire l'istanza di gitlab usa l'hostname definito nel file docker-compose.yml:
http://gitlab
Inserire il nome del runner (uguale a quello definito in GitLab):
regops_runner
Inserire l'esecutore:
docker
Inserire l'immagine Docker di default:
python:3.8
Configura le variabili su GitLab per la pipeline CI/CD
- CI_PROJECT_PATH: è del tipo root/myproject;
- CI_PUSH_TOKEN: Personal Access Token di Gitlab;
- CI_SERVER_HOST: l'hostname del servizo GitLab;
- REGOPS_API_ENTRY: URL rilasciato dalla piattaforma nella sezione Configure Git (anche qui utilizzare l'hostname);
- REGOPS_API_TOKEN: token rilasciato dalla piattaforma dopo aver inserito Personal Access Token, hostname dell'istanza GitLab, e l'id del progetto.