Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Progetti condivisi
MANUALE D’INSTALLAZIONE
Guida di installazione rapida ___________________________________________________________1
I. Introduzione _______________________________________________________________________1
II. Requisiti hardware e software ________________________________________________________1
III. Installazione del server _____________________________________________________________1
IV. Configurazione ____________________________________________________________________2
V. Avvio del server ____________________________________________________________________2
VI. Arresto del server __________________________________________________________________3
VII. Avvio automatico del server_________________________________________________________3
APPROFONDIMENTO
Capitolo 1 Principi di funzionamento _____________________________________________________5
1.1 Principi di funzionamento di AMVNetworkSrv _____________________________________________ 5
1.1.1 Check-out e check-in ________________________________________________________________________ 5
1
Collana AMV
I. Introduzione
Questo documento è rivolto a tecnici ed amministratori di sistema che abbiano conoscenze di reti tra computer e di
configurazione delle stesse.
Per una descrizione dettagliata degli argomenti si consiglia di consultare le guide d’uso:
1
Collana AMV
IV. Configurazione
Nella cartella del server AMVNetworkSrv, se il file zip è stato decompresso correttamente, ci sarà una cartella "data".
Se l’avvio del server non ha successo la finestra di comando presenta il messaggio “AMVNetworkSrv terminato”.
Se l’avvio del server ha successo la finestra di comando rimane aperta, senza messaggi.
2
Collana AMV
Dalla macchina che ospita il server, l’amministratore può avviare un bro-
wser (p.es Chrome) e digitare http://localhost:3000, dovrebbe apparire la
schermata a lato.
Per questioni di privilegi di esecuzione, facendo copia e incolla collegamento nella cartella “C:\ProgramData\Micro-
soft\Windows\Start Menu\Programs\StartUp”, il sistema può chiedere di generare tale collegamento sul desktop. Da là
lo si potrà spostare in “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp” fornendo i privilegi di
accesso. Posizionato il collegamento nella cartella indicata, al successivo riavvio del computer host, il server dei pro-
getti condivisi partirà in automatico.
3
APPROFONDIMENTO
Capitolo 1
Principi di funzionamento
Questo documento contiene le istruzioni per installare e gestire i progetti condivisi di MasterSap tramite l’applicazione
server AMVNetworkSrv. È rivolto a tecnici ed amministratori di sistema che abbiano conoscenze di rete tra computer e
di configurazione delle stesse.
Il check-in consiste nell’invio dei file di progetto locali al server per essere memorizzati nel repository. Al termine del
check-in ci sarà di nuovo la possibilità di utilizzo del progetto previo check-out da parte di altri utenti.
Con queste operazioni di check-in / check-out si determina la possibilità che un utente lavori e gli altri siano a conoscenza
che il progetto è impegnato per modifiche: alla conclusione del primo gli altri potranno operare.
Il server di condivisione tipicamente risiede su un computer (detto host) diverso da tutti quelli degli altri utenti e può
ospitare anche il repository oppure il repository può essere posto su un altro computer ancora o su un disco di rete NAS.
5
Capitolo 2
Requisiti di funzionamento
Per ospitare il server AMV dei progetti condivisi è necessario un computer (host) con sistema operativo Windows 10 di
versione superiore alla Build 17063. Tale server può anche essere un computer di uno degli utenti che vogliano utilizzare
i progetti condivisi, tuttavia è raccomandabile un computer terzo in funzionamento continuo, in quanto i singoli compu-
ter possono essere spenti o scollegati dalla rete (ad es. portatili).
La base di dati dei progetti condivisi, repository, deve essere ospitata in una cartella di accesso esclusivo dell’ammini-
stratore del server di condivisione e può trovarsi sull’host stesso oppure su un’unità a disco esterna, ma visibile nella
stessa rete del computer host.
Il server deve cioè poter accedere alla cartella con i progetti condivisi.
E’ altresì necessaria una cartella di scambio temporaneo con privilegi di accesso in lettura e scrittura per tutti gli utenti,
degli altri computer della rete, che vogliano condividere i progetti.
E’ compito dell’amministratore del server creare la cartella con i progetti condivisi (repository), la cartella di scambio
temporaneo per gli utenti della condivisione e gestire l’avvio del server.
6
Capitolo 3
Installazione
AMV fornisce un file compresso AMVNetworkSrv.zip contenente il software necessario per il server.
Tale file si trova nella cartella “AMVNetworkSrvZip” dell’installazione di MasterSap 2022; eventualmente può anche
essere scaricato dal seguente indirizzo web.
https://amsrl.s3.eu-central-1.amazonaws.com/CollanaAMV/2022/AMVNetworkSrv/AMVNetworkSrv.zip
Si copi tale file sul computer scelto come host in un percorso a piacere, ad esempio in “C:\”. Facendo click con il tasto
destro sul file AMVNetworkSrv.zip e selezionando “Estrai tutto”, si installerà il software necessario nella cartella AMV-
NetworkSrv. Si può anche optare per una cartella diversa, specificandola in sede di estrazione. Nel seguito si assume che
il server sia installato nella cartella AMVNetworkSrv; nel caso di una diversa cartella prescelta per l’estrazione, si assume
che chi legge consideri tale nome al posto di AMVNetworkSrv.
7
Capitolo 4
Configurazione ed avviamento
Nella cartella di installazione del server di rete AMVNetworkSrv si nota la presenza di una sottocartella data: in essa ci
sono tre file con estensione “.json”.
1. config.json: è il file di configurazione del server, deve essere modificato tramite un editor di testo dall’ammini-
stratore di sistema, con i parametri opportuni più avanti descritti. Importante: se questo file non viene modifi-
cato come descritto o se si scrivono parametri errati, non si potrà avviare il server dei progetti condivisi, che
restituirà errori.
2. users.json: è un file contenente la password di amministrazione per operazioni particolari sui progetti nel ser-
ver, la password può essere modificata solo utilizzando un browser, quando il server si è correttamente avviato,
tramite la pagina di amministrazione descritta più avanti. Il file NON deve essere modificato tramite editor
dall’amministratore, in quanto contiene una password in formato crittato, modificabile in modo corretto solo
tramite la pagina di amministrazione.
3. ProjectTable.json: è un file di dati che costituisce una parte della base dati per la gestione dei progetti condi-
visi; per quanto sia in formato leggibile, non deve essere mai modificato dall’amministratore; solo il pro-
gramma server, una volta avviato, può apportarvi le modifiche.
I tre file precedenti, nel caso in cui il server venga spostato in altro percorso o su altro computer host devono essere
preservati e copiati nella nuova destinazione. Solo il file config.json può essere modificato dall’amministratore di sistema
per la diversa configurazione che può essere richiesta al nuovo computer host.
Questi tre file devono essere poi soggetti ad eventuali backup di sicurezza: tutto il resto della cartella AMVNetworkSrv
può essere ripristinata, tramite il file AMVNetwork.zip, al suo stato originale, ma questi file devono essere preservati e
rimessi nella sottocartella data o si perderanno gli indici dei progetti condivisi. Si veda il capitolo ‘Backup’ e quello
‘Trasferimento server’.
Il campo “portHttp” contiene il numero di porta di comunicazione del server di rete AMV, tipicamente 3000, tale nu-
mero può essere cambiato dall’utente nel caso che il computer che ospita il server abbia qualche altro servizio già at-
tivo sulla stessa porta.
“repositoryDir” rappresenta invece il percorso della cartella della base di dati dei progetti (repository). L’amministra-
tore del server deve creare una nuova cartella e specificare il suo percorso tra i caratteri virgolette, p.es. “C:\\AMVRe-
pository”, se il computer che ospita il server ha un disco C: ed in esso si crea la cartella AMVRepository. La cartella
deve essere di proprietà dell’utente che avvia il server e non deve essere di accesso pubblico o condivisa tra più utenti.
8
Capitolo 4 – Configurazione e avviamento
Può anche risiedere su un altro computer in una cartella visibile al server: in tal caso bisogna specificare anche il nome
della macchina con la cartella, p.es. “\\\\ALTROPC\\AMVRepository”. Si noti la presenza di doppio carattere “\\”
backslash; esso è obbligatorio nella specifica del percorso: ci devono essere due backslash “\\” di separazione per ogni
cartella, p.es. “C:\\Cartella1\\Cartella2\\AMVRepository” e quattro backslash “\\\\” di separazione in presenza di nome
di computer, p.es. “\\\\NOMEPCINRETE\\Cartella\\AMVRepository”. È accettabile anche specificare il computer che
ospita la cartella in termini di indirizzo IP, es. “\\\\192.168.1.5\\Cartella\\AMVRepository”.
“repoTempDir”: rappresenta la cartella temporanea di interscambio progetti che deve essere creata dall’amministra-
tore del server e di pubblica condivisione tra tutti gli utenti autorizzati a condividere progetti; per semplicità può essere
anche una cartella accessibile da chiunque (cosiddetti utenti “Everyone”), se la rete è protetta da un firewall per cui
solo i computer all’interno della LAN possono vedersi tra loro e non c’è accesso dall’esterno (a meno che ciò non av-
venga tramite una più sicura VPN). La cartella temporanea deve essere esclusivamente specificata assieme al nome del
computer che la ospita (in generale, sarà lo stesso computer che ospita il server di condivisione); si osserva che non
basta un nome di percorso locale, che specifichi il disco in cui la cartella si trova, in quanto l’accesso è condiviso tra i
diversi computer con utenti della rete locale; es. di formato valido è “\\\\NOMEPCINRETE\\AMVRepoTemp”.
Attenzione: non si potrà specificare il nome della cartella come “C:\\AMVRepoTemp” anche se essa è ospitata nel disco “C:”
della macchina chiamata “NOMEPCINRETE”, perché tale disco rappresenta un percorso locale e non un percorso condi-
viso noto a tutti i computer della rete che vogliano condividere i progetti!
“logNum”: tipicamente pari a 10, rappresenta il numero di versioni che per ogni progetto sono conservate (storico), in
questo caso le ultime 10, e che un utente può ripristinare, nel caso in cui l’ultima versione non vada bene per il chec-
kout e si voglia mettere in checkout una versione precedente.
L’avviamento comporta l’apertura di una finestra di “prompt dei comandi” di Windows entro cui si può leggere “AMV-
NetworkSrv avviato…”. Se l’avvio del server non ha successo si può leggere “AMVNetworkSrv terminato”. Premendo
un tasto qualunque si esce dal “prompt dei comandi”. Si può leggere cosa non ha funzionato nel file di testo AMVNet-
workSrv.log. Tipicamente accade che la porta del server specificata, 3000, sia già occupata da un altro server oppure che
le cartelle specificate non esistano o sia sbagliato il loro percorso.
Se l’avvio del server ha successo, ‘node’ resta in esecuzione e la finestra di “prompt dei comandi” resta aperta senza
messaggio “AMVNetworkSrv terminato”.
9
Capitolo 4 – Configurazione e avviamento
10
Capitolo 4 – Configurazione e avviamento
Si nota in esecuzione il processo del server dei progetti condivisi sotto la voce “Processore dei comandi di Windows” o
“prompt di Windows”, contenente un “Node.js Runtime” (nota: può essere che la voce principale debba essere espansa
con click del mouse per identificare se contiene il Node.js):
Selezionando quindi la voce “Processore dei comandi di Windows” e facendo click con il tasto destro, seguito dalla scelta
di menù “Termina”, si chiuderà il processo server dei progetti condivisi.
11
Capitolo 4 – Configurazione e avviamento
12
Capitolo 5
Reti locali e configurazione
La comunicazione dai client verso il server dei progetti avviene tramite reti locali tra computer Windows. La rete più
semplice è quella peer to peer tra computer connessi ad un router/hub. Questo tipo di rete va bene per un numero
limitato di computer che sono considerati tutti allo stesso livello, e ben si adatta agli utenti MasterSap che vogliano
scambiarsi i progetti.
Come breve cenno alle reti si consideri che i computer hanno un nome in Windows rilevabile tramite click in Imposta-
zioni, Sistema, Informazioni. Di seguito un esempio in cui si evince che il nome del computer è Antonio.
13
Capitolo 5 – Reti locali e configurazione
Se tale computer è connesso in rete ad esso viene assegnato un indirizzo IP, rilevabile con click in Impostazioni, Rete e
Internet, bottone proprietà. Si ottiene una schermata tipo:
Ove alla voce Indirizzo IPv4 si legge l’indirizzo IP del computer nel tipico formato v4: 10.0.0.121.
E’ proprio il nome del computer oppure l’indirizzo IPv4 a dover comparire nel file visto in precedenza, config.json.
14
Capitolo 5 – Reti locali e configurazione
Facendo click sul tasto destro Proprietà, si può osservare la tab di condivisione:
15
Capitolo 5 – Reti locali e configurazione
Con click su Condividi, si può aggiungere la visibilità della cartella a tutti gli utenti della rete che devono essere specificati
nell’apposita casella della successiva schermata;
Nell’esempio sopra, l’utente1 si appresta ad essere aggiunto in condivisione alla cartella AMVRepoTemp cioè tale utente
potrà vedere dal suo computer la cartella AMVRepoTemp di interscambio per la condivisione dei progetti.
Ulteriori utenti, tipicamente uno per ogni computer di rete, possono essere aggiunti, tramite il tasto Aggiungi.
16
Capitolo 5 – Reti locali e configurazione
Ciò non è sufficiente per il meccanismo di condivisione: la cartella di interscambio, per l’utente1 dell’esempio, deve
risultare di “Lettura/Scrittura”. Spostare quindi il livello di autorizzazione su “Lettura/Scrittura” agendo sul triangolino
vicino alla parola “Lettura”. Si ottiene il seguente risultato:
Nota: si devono ripetere le precedenti operazioni per ogni utente che si desidera coinvolgere nella condivisione dei
progetti. Il meccanismo di accesso ai progetti condivisi tiene conto dei privilegi assegnati dall’amministratore del server
alla cartella AMVRepoTemp: solo gli utenti dichiarati con accesso in “Lettura/Scrittura” potranno condividere i progetti.
Il client MasterSap dei progetti condivisi, per utenti non autorizzati, negherà l’accesso ai progetti condivisi con messaggi
di errore.
Infine, click su Condividi farà sì che AMVRepoTemp sia vista da tutti gli utenti dei computer connessi alla rete. P.es in
esplora risorse si vede che il computer Antonio-Port ha due cartelle condivise, una delle quali è AMVRepoTemp appena
aggiunta:
17
Capitolo 5 – Reti locali e configurazione
Esiste un’ulteriore possibilità per dare l’accesso a tutti gli utenti di una rete: di solito è invisa agli amministratori di
sistema in quanto riduce la protezione di Windows ed è percorribile solo se la macchina server è su una rete locale
adeguatamente protetta da firewall rispetto alle comunicazioni via Internet all’esterno della rete stessa.
Si può infatti dichiarare l’accesso alla cartella AMVRepoTemp in “Lettura/Scrittura” selezionando “Everyone” come
utente. In tal caso l’accesso è consentito a tutti gli utenti. Nel caso in cui il server sia erroneamente esposto su Internet,
chiunque potrebbe accedere ai progetti condivisi. Inoltre, tutti gli utenti nella rete locale potranno accedere ai progetti
condivisi tramite un client MasterSap: non è un problema per i piccoli studi di ingegneria in cui effettivamente tutti gli
ingegneri condividono, ma può esserlo per studi più grandi e strutturati in cui l’accesso si desidera solo per alcuni utenti
(p.es. gli ingegneri strutturisti, ma non gli impiegati commerciali o i progettisti degli impianti elettrici). In tal caso dichia-
rare esplicitamente utente per utente.
18
Capitolo 6
Considerazione sulla sicurezza
Considerato che l’ambiente in cui viene usata questa condivisione di progetti è quella di un piccolo studio di Ingegneria
in cui i singoli tecnici sono coinvolti sullo stesso progetto e vi è un rapporto di fiducia, l’interscambio dati tra i client
MasterSap ed il server AMVNetworkSrv avviene nel modo più semplice con comandi tramite protocollo http senza ci-
fratura: in linea teorica i vari comandi (es. Check-out, Check-in, Lista progetti, …) potrebbero essere rilevati con stru-
menti di packet sniffing da parte di qualunque computer connesso alla rete. Al di fuori del client MasterSap la riprodu-
cibilità di comandi con intenzioni malevole non è comunque semplice ed i comandi più critici, quali la cancellazione dei
progetti obsoleti o il reset del checkout di un utente, può avvenire solo da parte dell’utente di amministrazione, admin,
tramite browser previa autenticazione e non da client MasterSap. In questo modo solo l’utente di amministrazione può
cancellare i progetti, gli altri possono solo aggiungere e prendere contributi, limitando così la possibilità di errori non
recuperabili.
La mancanza di cifratura comporta che la condivisione sia opportuna solo all’interno di una rete locale adeguatamente
isolata da Internet tramite firewall, condizione questa facilmente raggiungibile e regolarmente implementata anche con
i modem router degli Internet provider classici. Configurando la rete in modo opportuno, dall’esterno non sarà possibile
accedere ai progetti.
Qualora i singoli computer fossero collegati alla rete locali tramite uno switcher dotato di caratteristiche di sicurezza (e
non un semplice hub/router), questo si può configurare con porte protette in modo che venga meno la possibilità di
packet sniffing sulla rete locale, per evitare che venga carpita anche la password dell’utente admin da parte di altri com-
puter collegati alla rete.
Configurando una VPN si può avere accesso alla rete locale e far sì che computer remoti possano essere visti come parte
della rete locale, ma in condizioni di cifratura lungo il percorso internet tra il computer client ed il server. Al di fuori
della VPN, se le condizioni di protezione descritte in precedenza sono soddisfatte, non è possibile, da parte di un com-
puter remoto in Internet, effettuare un collegamento direttamente al server.
19
Capitolo 7
Pagina di amministrazione
Il server dei progetti condivisi mette a disposizione delle pagine web di amministrazione, accessibili tramite “http://no-
meserver:porta”, ad es. “http://Antonio-port:3000” o “http://Antonio-port:80”.
7.1 Login
La prima schermata che compare (fig. 7.1) è una richiesta di accesso perché
tramite queste pagine si possono eseguire operazioni non comuni quali can-
cellare i progetti condivisi. Tipicamente l’amministratore che avvia il server è
anche deputato ad accedere a questa pagina e ad eseguire le operazioni criti-
che, ma può anche essere un ingegnere di riferimento del gruppo degli strut-
turisti, il quale si limiti a gestire i progetti senza preoccuparsi dell’infrastrut-
tura sottostante predisposta dall’amministratore di sistema come descritto nei
capitoli precedenti (privilegi utente, configurazione porte del server e cartelle
di condivisione o del repository, …).
fig. 7.1
fig. 7.2
20
Capitolo 7 – Pagina di amministrazione
• “+”: si visualizzano alcune informazioni aggiuntive sullo storico dei progetti condivisi, in particolare l’utente
che ha effettuato il check-in e in quale data/ora.
• Bottone “Annulla checkout utente”: gli utenti eseguono i check-out tramite il client MasterSap. Finché
l’utente non annulla il checkout dal suo client oppure esegue un check-in, il progetto resta occupato da
quell’utente e gli altri utenti non possono eseguire il check-out, se intenzionati ad aggiungere i loro contributi.
Se il primo utente non conclude, non ha contributi o modifiche, ma si “dimentica” il progetto in check-out sul
proprio computer (e successivamente non riesce ad avere il computer a portata di mano), l’amministratore,
sapendo che altri utenti attendono ed il primo non ha contributi importanti, può decidere di annullare il check-
out con questo bottone, “liberando” il progetto per gli altri.
• Bottone “Cancella definitivamente progetto”: si userà raramente, ma può essere che un progetto con il suo
storico di modifiche non sia più necessario ed occupi spazio nel repository. Con questo bottone si può cancellare
definitivamente tutto il progetto con le sue versioni storiche. Attenzione! L’operazione non si può annullare e
si perderà tutto quanto sviluppato fino a quel momento.
• Bottone “Cancella le versioni obsolete del progetto tranne l’ultima”: dato che un progetto con il suo storico
di modifiche può occupare spazio nel repository, specie se il numero massimo di versioni è stato aumentato in
sede di configurazione del server, dalle 10 impostate da AMV ad un valore superiore (p.es. 100…), si può deci-
dere di cancellare tutte le versioni tranne la più recente. Logicamente, prima di premere tale bottone, è oppor-
tuno che la versione più recente sia veramente quella più aggiornata!
Considerando che i comandi appena descritti possono creare danni sostanziali nella gestione dei progetti, si raccomanda
cautela nell’uso e si comprende perché l’accesso a tali funzioni sia riservato ad un solo utente responsabile (o ad un
numero ristretto di utenti in possesso della password) ed avvenga tramite pagina web in sede separata rispetto ai client
MasterSap.
21
Capitolo 8
Backup del server
Per questioni di sicurezza è opportuno effettuare un backup periodico del server con le informazioni sui progetti condi-
visi finora inseriti nel sistema.
I backup devono riguardare tutti i file della sottocartella data in AMVNetworkSrv che devono essere copiati in luogo
sicuro: un altro disco (magari su altro computer) tramite programma di backup o tramite copia manuale.
Oltre ai file della cartella data, i contenuti dei progetti condivisi MasterSap si trovano nella cartella specificata nel campo
“repositoryDir” del file config.json. Assumendo che tale cartella sia p.es. “C:\\AMVRepository” essa dovrà essere inte-
ramente sottoposta al backup.
In essa ci sono i file compressi di ciascun progetto MasterSap con la sua versione, con formato tipico “Progetto.Ver-
sione.tar.gz”. Tali file vengono manipolati dal server e scambiati con i client MasterSap durante le operazioni di gestione
dei progetti condivisi. Tutti i file presenti devono essere soggetti a backup, essi non devono essere eliminati a mano da
parte dell’amministratore, poiché tali file vengono indicizzati dal server grazie al file ProjectTable.json della cartella
data e la mancanza di uno di questi file può compromettere il funzionamento del server.
Per svolgere il backup è opportuno terminare l’esecuzione del server, eseguire il backup della cartella “data” e del repo-
sitory, riavviare il server. Queste operazioni possono anche essere eseguite con il server operativo, ma bisogna assicurarsi
che nessun utente stia effettuando operazioni lato client MasterSap, altrimenti, durante il backup si corre il rischio di
avere modifiche ai file e di effettuare un backup incompleto.
22
Capitolo 9
Trasferimento del server
Se si vuole trasferire il server dei progetti condivisi da un computer host ad un altro si può decidere di copiare l’intera
cartella AMVNetworkSrv direttamente nel nuovo computer oppure di installare sul nuovo computer il software fornito
da AMV, che costituirà quindi una nuova installazione e sarà priva dei dati dei progetti finora utilizzati. In entrambi i
casi bisogna sincerarsi che siano copiati sia i file presenti nella sottocartella “data” che i file compressi di ciascun progetto
MasterSap.
I file della sottocartella “data” sono ProjectTable.json, users.json e config.json. I primi due devono essere copiati senza
modifiche. Il terzo file dovrà essere modificato in base al nuovo host, in particolare i parametri "portHttp", "repository-
Dir", "repoTempDir” dovranno essere modificati se sul nuovo computer è disponibile una porta http differente (para-
metro “portHttp”); bisogna modificare il nome della cartella di interscambio specificata nel parametro “repoTempDir”
se c’è una nuova cartella deputata a tale scopo, e controllare anche il percorso specificato in “repositoryDir”.
A questo proposito si osserva che proprio nel percorso specificato in “repositoryDir” ci sono i file compressi di ciascun
progetto MasterSap aventi nome in un formato tipo: “Progetto.Versione.tar.gz”. Tali file devono essere copiati dalla
cartella nel vecchio host, specificata appunto in “repositoryDir”, alla cartella nel nuovo host sempre specificata in “re-
positoryDir”. Se in “repositoryDir” c’è un percorso che si riferisce ad un altro computer (cioè non al nuovo host) depu-
tato ad ospitare il contenitore dei progetti e tale computer rimane lo stesso nel passaggio dal vecchio al nuovo host, il
campo “repositoryDir” in config.json resterà ovviamente invariato. Bisogna logicamente assicurarsi che il nuovo host
riesca a “vedere” il computer contenente il repository dei progetti. Effettuato il trasferimento si può avviare il pro-
gramma server AMVNetworkSrv sul nuovo host, assicurandosi che il firewall consenta il traffico TCP/HTTP verso tale
server.
23