====== ProdMonitor ====== ===== Installazione ===== ==== Prerequisiti ==== * Server fisico virtuale, 8/16 GiB di RAM e 128 GiB di spazio su disco minimo. * [[https://ubuntu.com/download/server|Ubuntu Server]] -- usare la versione LTS più recente [[https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver15|supportata da SQL Server per Linux]] di Microsoft nel caso, consigliato, si intenda usare un database riservato sullo stesso server. * Nessun altro servizio sul server che utilizzi le porte TCP/IP 80, 443 e 10000. * Una connessione internet veloce. * Nel caso si voglia esporre i servizi di ProdMonitor sulla rete pubblica, la connessione internet veloce dovrà essere a IP fisso, con almeno un indirizzo disponibile da riservare a questo scopo. La configurazione di rete, gateway, router, firewall eccetera NON è descritta in queste note. ==== SQL Server ==== Microsoft SQL Server può essere installato sullo stesso server dove risiede ProdMonitor, oppure su un'altro server della rete locale nel caso sia già presente per qaltri scopi. È importante verificare che l'istanza consente l'autenticazione nativa di SQL Server e la connettività via TCP/IP -- queste opzioni non sempre sono attive se configurato su server e reti Windows. L'account di amministrazione di SQL Server in caso di autenticazione nativa è tipicamente ''sa''. È bene avere a disposizione la password di accesso di questa utenza, sia che si installi il server //ex-novo// sia che si utilizzi un motore di database esistente. Si consiglia di creare un'utenza di accesso per l'uso con ProdMonitor, ad esempio ''pmon'', alla quale si dovranno concedere i permessi di amministrazione dei database. Il nome utente e la password dovranno essere riportati nella configurazione di ProdMonitor. Questo può essere fatto utilizzando il linguaggio T-SQL connettendosi al motore come amministratore utilizzando il comando ''SQLCMD'' (oppure SQL Server Management Studio da un PC Windows): CREATE LOGIN [pmon] WITH PASSWORD 'password-complicata'; GO //(nota: per impostazione predefinita, la password deve essere lunga almeno 8 caratteri e deve contenere almeno tre delle seguenti categorie: lettere maiuscole, lettere minuscole, cifre numeriche, simboli)// Il passo successivo è creare i due database necessari nel motore (è sufficiente crearli vuoti: ProdMonitor stesso provvederà a creare le tabelle necessarie alla prima connessione): CREATE DATABASE [identity_db]; CREATE DATABASE [monitor_db]; GO A questo punto, //per ognuno dei due database//, si deve creare l'utenza "di database" collegata all'utenza "di accesso" e concedergli il controllo del database stesso: USE [identity_db]; CREATE USER [pmon] FROM LOGIN [pmon]; GRANT CONTROL TO [pmon] GO USE [monitor_db]; CREATE USER [pmon] FROM LOGIN [pmon]; GRANT CONTROL TO [pmon] GO ==== Docker ==== Sul server dovrà essere installato il software di containerizzazione "docker". È preferibile utilizzare gli strumenti del sistema operativo (''apt'' o ''apt-get''). Le note di installazione sono comunque disponibili sul [[https://docs.docker.com/engine/install/ubuntu/|sito di documentazione di docker stesso]]. Per poter installare e aggiornare ProdMonitor, dovranno essere fornite a docker le credenziali per accedere al servizio di distribuzione delle "immagini", con accesso -- preferibilmente in sola lettura((è possibile utilizzare uno o più c.d. "token", anche se una soluzione ottimale è ancora allo studio)) -- all'area riservata di Multidata S.r.l. Potrebbe essere utile installare un front-end web per tenere sotto controllo i containers in esecuzione. Data la semplicità dell'infrastruttura, la [[https://docs.portainer.io/start/install|versione community di Portainer]] dovrebbe essere sufficiente. Nel resto della documentazione si assumerà, in ogni caso, che vengano utilizzati i comandi "manuali" per le operazioni richieste.