Installare il server
Il server di PARIDE, paride-server, è un programma .NET 10: gira su Linux e su Windows.
- Su Linux gira come servizio di sistema, con un suo utente e mai come root. Qui sotto ci sono i
passi per Debian 13, gli stessi provati in laboratorio; con la versione 1.0 li farà da solo il
pacchetto
paride-server. - Su Windows (10 dalla versione 1803, e 11) si avvia dalla sua cartella, anche sullo stesso PC del client: vedi Su Windows, più sotto.
Su Linux: che cosa serve
- una macchina Debian 13, vera o virtuale, raggiungibile dalle postazioni (nella rete dell'ufficio o con una VPN: il server non va esposto su Internet);
- il runtime di .NET 10;
- la cartella del programma
paride-server, da Download.
1. Il runtime .NET 10
Dai depositi di Microsoft per Debian:
wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install dotnet-runtime-10.0
dotnet --list-runtimes # deve esserci Microsoft.NETCore.App 10.0.x
2. Utente, programma e cartelle
# l'utente di sistema, senza shell
sudo useradd --system --user-group --home-dir /var/lib/paride-server --no-create-home \
--shell /usr/sbin/nologin parideserver
# il programma, di root: il servizio non deve poter cambiare i suoi file
sudo install -d -m 0755 /usr/lib/paride-server
sudo cp -r paride-server/. /usr/lib/paride-server/
sudo chown -R root:root /usr/lib/paride-server
sudo chmod 0755 /usr/lib/paride-server/paride-server
sudo ln -sf /usr/lib/paride-server/paride-server /usr/local/bin/paride-server
# i dati e la configurazione, dell'utente del servizio
sudo install -d -o parideserver -g parideserver -m 0750 /var/lib/paride-server
sudo install -d -o parideserver -g parideserver -m 0755 /etc/paride-server
# il servizio: il file paride-server.service va distribuito insieme al programma
sudo cp /usr/lib/paride-server/paride-server.service /etc/systemd/system/
sudo systemctl daemon-reload
La configurazione sta in /etc/paride-server/paride-server.json: se manca, il server la scrive da solo
con i valori predefiniti al primo avvio, e poi si cambia dalla pagina Server del client o con
paride-server config set.
3. Avvio
sudo systemctl enable --now paride-server
systemctl status paride-server # active (running)
sudo -u parideserver paride-server status # versione, spazi, chi e' collegato
status dice la versione, gli spazi di lavoro, le persone e gli agenti collegati e da dove. Se la
macchina ha un firewall, apri la porta TCP del server: la leggi con
sudo -u parideserver paride-server config list, alla chiave port.
4. Il primo spazio e il primo utente
# la cartella del progetto, dell'utente del servizio
sudo install -d -o parideserver -g parideserver /srv/paride/progetto
sudo -u parideserver paride-server workspace add progetto /srv/paride/progetto
# chi si e' presentato, e la sua approvazione con il codice di 6 cifre
sudo -u parideserver paride-server user list
sudo -u parideserver paride-server user approve roberto-pc 123456 admin
La prima postazione la approvi come admin: da lì in poi spazi, utenti e impostazioni si gestiscono anche dal client, nella pagina Server. Vedi Utenti e ruoli.
Lancia i comandi come
parideserver(sudo -u parideserver ...), non come root: un file scritto da root il servizio non potrebbe più cambiarlo.
Su Windows
Serve il runtime di .NET 10 per Windows x64 («.NET Runtime 10.0», da dotnet.microsoft.com) e la
cartella di paride-server per Windows, da Download. Da un prompt dei comandi, nella
cartella del programma:
rem i dati del server (chiave, utenti, configurazione) e il primo spazio di lavoro
paride-server --data %LOCALAPPDATA%\PARIDE\host workspace add progetto C:\Progetti\progetto
rem il server, che resta acceso finche' la finestra e' aperta (Ctrl+C per fermarlo)
paride-server --data %LOCALAPPDATA%\PARIDE\host --console
Da un'altra finestra, con la stessa cartella dei dati:
paride-server --data %LOCALAPPDATA%\PARIDE\host status
paride-server --data %LOCALAPPDATA%\PARIDE\host user list
paride-server --data %LOCALAPPDATA%\PARIDE\host user approve roberto-pc 123456 admin
Il client sullo stesso PC si collega a 127.0.0.1. Se altre postazioni devono raggiungerlo, la prima
volta Windows chiede se lasciar passare il programma nel firewall: consentilo solo per le reti private.
Oggi su Windows il server si avvia a mano. L'installatore per Windows, con la scelta «solo il client» oppure «client e server», lo farà partire da solo: all'accesso dell'utente, oppure come servizio di Windows per un server sempre acceso usato da più persone.
Aggiornare su Linux
sudo systemctl stop paride-server
sudo cp -r paride-server/. /usr/lib/paride-server/
sudo chmod 0755 /usr/lib/paride-server/paride-server
sudo systemctl start paride-server
paride-server --version
Si aggiorna prima il server, poi gli agenti e i client: un client più vecchio entra in un server nuovo, il contrario non sempre.
Togliere da Linux
sudo systemctl disable --now paride-server
sudo rm /etc/systemd/system/paride-server.service /usr/local/bin/paride-server
sudo systemctl daemon-reload
sudo rm -r /usr/lib/paride-server
Dati, configurazione e utente (/var/lib/paride-server, /etc/paride-server, parideserver) restano
finché non li togli apposta.
Se qualcosa non va
- Il servizio non parte e non riparte da solo: c'è un errore nella configurazione. Il motivo è in
journalctl -u paride-server; si corregge consudo -u parideserver paride-server config set CHIAVE VALORE. paride-server --versiondice che manca .NET: il runtime è installato in un posto che il programma non trova. AggiungiEnvironment=DOTNET_ROOT=...consudo systemctl edit paride-server.- Un client si ferma dicendo che la chiave del server è cambiata: succede dopo una reinstallazione.
Il codice corto del server si legge con
paride-server status; vedi Primi passi.