Configurazione per l’uso dell’agent di OCS inventory
L’agent può essere installato sulle macchine fisiche (quindi proxmox e i
client) all’interno della rete di una scuola. L’agent viene installato sui
client in maniera automatica da fuss-client
(a partire dalla versione 11.0.22 per Fuss 11, 12.0.7 per Fuss 12) sia
in fase di collegamento del client al server, che in caso di aggiornamento.
È necessario che sia presente sul FUSS server la corretta configurazione, da
impostare con le modalità che illustreremo più avanti.
Per installarlo su Proxmox, o su qualunque altra macchina (Debian)
raggiungibile dal FUSS Server, occorrerà invece lanciare sullo stesso
il playbook ocs-agent-inst
(installato in
/usr/share/fuss-server/
) che viene fornito con il pacchetto
fuss-server
a partire dalla versione 12.0.10 ma disponibile anche
per server FUSS 10.
Lo script è usabile anche per un client, ma è preferibile evitarne
l’uso, dato che la configurazione viene comunque generata da
fuss-client
, in modo leggermente diverso, per essere aggiornabile
automaticamente da future versioni del pacchetto.
Per poter funzionare, l’agent ha bisogno di raggiungere via rete la macchina su
cui è ospitato il server di OCS inventory; questo viene contattato via web e
pertanto è necessario come primo passo abilitarne la raggiungibilità. Questa
operazione deve essere fatta preliminarmente sul FUSS server aggiungendo una
opportuna regola di accesso per il proxy, che consenta di arrivare al server
OCS inventory senza necessità di autenticazione; allo scopo basterà aggiungere
al file /etc/squid/squid-added-repo.conf
la riga:
acl repositories url_regex ocs.inventory.server
dove ocs.inventory.server
è l’indirizzo del server OCS inventory che si
intende utilizzare. Dopo la modifica si dovrà eseguire un reload di
squid
con systemctl reload squid
.
Il passo successivo prevede di:
(se il certificato del server è autofirmato), scaricarlo dal sito, nominarlo
server.crt
e copiarlo sul server FUSS nella cartella/var/www/fuss-data-conf/
creare nella stessa cartella il file
ocsinventory.yml
(con sintassi YAML) contenente i paramenti di configurazione da usare successivamente sui client. Questo file verrà poi scaricato su ciascun client al momento del lancio delfuss-client
.
Il file prevede la definizione di tre variabili, le prime due sono obbligatorie, la terza è opzionale:
ocs_server
: l’indicazione della URL del server, ad esempio https://ocs.inventory.server/ocsinventory
ocs_tag
: il tag che identifica la scuola, ad esempio il codice (LASIS) numerico della scuola
ocs_cert
(opzionale) il nome del certificato da usare perla connessione SSL (necessario solo se il server ha un certificato autofirmato); se definita detto file deve essere installato sotto
/var/www/fuss-data-conf/
.
Un esempio di questo file è il seguente:
# template for ocsinventory variables needed for fuss-client
ocs_server: https://ocs.inventory.server/ocsinventory
ocs_tag: change-me
ocs_cert: server.crt
Per evitare che un aggiornamento eseguito su un client durante la
configurazione trovi un file ocsinventory.yml
scritto
parzialmente, con conseguenti errori, si suggerisce di crearlo in un
altra directory, spostandolo a destinazione una volta completo
(insieme al file del certificato preventivamente caricato sul server,
quando necessario) con:
mv ocsinventory.yml /var/www/fuss-data-conf/
Nota
si consiglia, se possibile, di configurare il server di OCS inventory
con un certificato valido (ad esempio usando Let’s Encrypt) evitando
l’uso di un certificato autofirmato; in tal caso la variabile
ocs_cert
non è necessaria, come non lo è il certificato.
A questo punto, per l’installazione dell’agent è sufficiente eseguire
fuss-client
. Il file di configurazione (ocsinventory.yml
),
quando presente, viene scaricato nell’esecuzione del comando (sia
quando su usa -a
o -H
per collegare un nuovo client, che
quando si usa -U
per un aggiornamento), e viene salvato in
/etc/fuss-client/
. Quando tale file viene trovato, viene poi
eseguita la configurazione e l’installazione di
ocsinventory-agent
. Se invece il file non viene trovato sul
server, il programma prosegue senza installare nulla.
Nel caso in cui ci si dimenticasse di copiare sul server FUSS il
certificato server.crt
prima di aver lanciato il fuss-client
,
si può correggere il problema (dopo aver copiato il certificato sul
server) rilanciando il comando fuss-client -U
.
Installazione di ocs agent su una macchina generica (non joinata)
Per installare l’agent su una macchina generica si può invece
utilizzare il playbook ocs-agent-inst
presente sul FUSS
server. Questo esegue l’installazione di ocsinventory-agent
su una
macchina generica da indicare come parte dell’inventario Il comando
deve cioè essere eseguito sul FUSS server come:
/usr/share/fuss-server/scripts/ocs-agent-inst -i <client.address.or.ip>,
avendo cura di mettere una virgola dopo l’indirizzo del client in modo che venga riconosciuto come elenco di indirizzi e non come nome di file.
Si tenga presente che il playbook richiede l’accesso via SSH alla macchina
indicata; qualora non si abbia un accesso diretto con le chiavi, occorrerà richiedere
l’uso della password (di root) aggiungendo l’opzione -K
.
Se si vuole installare l’agent su di un server FUSS, il comando da eseguire è:
/usr/share/fuss-server/scripts/ocs-agent-inst --connection=local -i 127.0.0.1,