PARIDEEnglish

PARIDE › Guide d'uso › Installare il server

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 con sudo -u parideserver paride-server config set CHIAVE VALORE.
  • paride-server --version dice che manca .NET: il runtime è installato in un posto che il programma non trova. Aggiungi Environment=DOTNET_ROOT=... con sudo 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.