Man Tecnico:Startup: Tecnologie, configurazione server ed installazione

From CDG Wiki
Jump to navigation Jump to search

L'applicativo viene rilasciato in ambiente XAMP.

Per il corretto funzionamento dell'applicativo è necessario assicurarsi che nelle configurazioni delle componenti server siano presenti alcuni piccoli accorgimenti:

  • MySQL
    • sql-mode -> eliminare NO_ZERO_DATE e STRICT_ALL_TABLES
  • Apache
    • Moduli da abilitare
      • mod_rewrite (Allow override)
    • Consigliati
      • Directory indexing (index.php)
      • Disabilitare Directory Listing
  • PHP
    • Estensioni da abilitare
      • php7.2-xml
      • php-mbstring
      • php_curl
      • php7.2-zip
      • php_spreadsheet
    • Consigliati
      • upload_max_size >= 10Mb
      • post_max_size >= 10Mb
      • memory_limit >= 512Mb
      • Ricordarsi di definire il save_session_path per il corretto salvataggio delle sessioni

Per l'installazione dell'applicativo è sufficiente

  • creare il DB dell'applicativo (è consigliato creare un utente specifico per l'applicativo);
  • copiare la directory dell'applicativo (budget) nella root del server;
  • Sarà presente un file .htaccess per implementare il design pattern "front controller", da configurare con il nome della directory dell'applicativo nel caso in cui si ritenga opportuno cambiarne il nome da "budget".
  • creare il file di configurazione dell'enviroment sul quale viene effettuato il rilascio (Man_Tecnico:Configurazione);
  • creare la password per l'utente admin ("update cm_mod_security_users set password = '<password generata e criptata con codifica "password")>' where username = 'admin'");
  • popolare la tabella "anno_budget" con almeno un anno di budget
  • popolare la tabella `cm_mod_security_users_fields` collegando una matricola fittizia all'utente admin (ES. "INSERT INTO `cm_mod_security_users_fields` (`ID`, `ID_users`, `field`, `value`) VALUES (1, 1, 'matricola', '9999');");
  • popolare le tabelle per creare almeno un piano cdr con un CdR e un CdC associto al quale far afferire il dipendente collegato alla matricola. Vengono riportate le seguenti query a titolo esemplificativo

"INSERT INTO `tipo_cdr` (`ID`, `descrizione`, `abbreviazione`) VALUES (1, 'Direzione', 'DIR'); INSERT INTO `tipo_piano_cdr` (`ID`, `descrizione`, `priorita`) VALUES (1, 'Gerarchico', 1); INSERT INTO `tipo_cdr_padre` (`ID`, `ID_tipo_cdr`, `ID_tipo_cdr_padre`) VALUES (1, 1, 1); INSERT INTO `piano_cdr` (`ID`, `data_definizione`, `data_introduzione`, `ID_tipo_piano_cdr`) VALUES (1, '2021-01-01', '2021-01-01', 1); INSERT INTO `anagrafica_cdc` (`ID`, `codice`, `descrizione`, `abbreviazione`, `data_introduzione`, `data_termine`) VALUES (1, '00001', 'Costi generali di Direzione Generale', , '2021-01-01', NULL); INSERT INTO `anagrafica_cdr` (`ID`, `codice`, `descrizione`, `abbreviazione`, `ID_tipo_cdr`, `data_introduzione`, `data_termine`) VALUES (1, 'dir01', 'Direzione Generale', , 1, '2021-01-01', NULL); INSERT INTO `cdc` (`ID`, `ID_anagrafica_cdc`, `ID_cdr`) VALUES (1, 1, 1); INSERT INTO `cdr` (`ID`, `ID_anagrafica_cdr`, `ID_piano_cdr`, `ID_padre`) VALUES (1, 1, 1, 0); INSERT INTO `cdc_personale` (`ID`, `matricola_personale`, `codice_cdc`, `percentuale`, `data_inizio`, `data_fine`) VALUES (1, '9999', '00001', 100, '2021-01-01', NULL); INSERT INTO `personale` (`ID`, `matricola`, `cognome`, `nome`) VALUES (1, '9999', 'Bianchi', 'Marco');"