Skip to content

collab-uniba/RegOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaravelSamdCoplianceManager Project Setup Guide

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.


Prerequisiti

Per eseguire il progetto, devi installare i seguenti strumenti:

  1. 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,

  2. Composer (Dependency Manager per PHP)

  3. Apache o un altro server compatibile (es. Nginx)

  4. MySQL o un altro database supportato

  5. Node.js (per gestire i pacchetti frontend con npm)


Installazione No Docker

  1. Clona il repository

    git clone <repository-url>
    cd <repository-directory>
  2. Installa le dipendenze PHP con Composer

    Assicurati di avere Composer installato, poi esegui:

    composer install
  3. Installa i pacchetti frontend con npm

    npm install
  4. Configura il file .env

    Copia il file .env.example e rinominalo come .env:

    cp .env.example .env
  5. Configura il database e altre impostazioni

    Apri il file .env e 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"
  6. Genera l'app key

    Questo comando genererà una chiave di crittografia unica per il tuo progetto:

    php artisan key:generate
  7. Esegui le migrazioni del database

    Per creare tutte le tabelle necessarie nel database:

    php artisan migrate
  8. Compila i file frontend (consigliato per le risorse come CSS e JavaScript):

    npm run dev

    Per la produzione:

    npm run build

Avvio del server

  1. 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.

  2. (Opzionale) Configura Apache o Nginx

    Per eseguire il progetto su Apache, configura il tuo file di virtual host puntando alla directory public/ del progetto.


Risoluzione dei problemi

  • Errore di permessi: Assicurati che i file nelle directory storage e bootstrap/cache abbiano 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.


Note aggiuntive

  • Per aggiornare le dipendenze:

    composer update
  • Per eseguire i test (se sono stati configurati):

    php artisan test

Struttura

  • database/migrations contiene la struttura del database
  • app/models contiene i modelli
  • app/Http/controllers contiene le funzioni
  • routes/app contiene gli URI

Se hai ulteriori domande o problemi, fai riferimento alla documentazione ufficiale di Laravel.

Installazione con Docker

Verifica di aver installato Docker

git clone <repository-url>
cd <repository-directory>
  1. 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
  2. Una volta che le immagini sono state costruiti avvia i contenitori in modalità detached (in background)

    docker-compose up -d

  1. Configura il file .env

    Copia il file .env.example e rinominalo come .env:

    cp .env.example .env
  2. Configura il database e altre impostazioni

    Apri il file .env e 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

Nella bash del container regops_app in esecuzione esegui i seguenti comandi:

Per generare la chiave dell'app:

php artisan key:generate

Per eseguire le migrazioni del database:

php artisan migrate

Per generare l'ultima versione dei file statici javascript e css:

npm run build

Opzionale per la modalità sviluppo:

npm run dev

Il progetto è disponibile su http:localhost:8000

Per 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/build
chmod -R 755 /var/www/html/public/

Altri comandi utili:

Per fermare i Container:

docker-compose stop

Per rimuovere i volumi contenenti i dati associati ai Container (CANCELLA TUTTI I DATI):

docker-compose down --volumes

Configurazione GitLab

Accedi 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 file initial_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_runner esegui 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •