Premessa: questa guida è stata scritta partendo dagli appunti di una persona con limitatissime capacità tecnico-informatiche la quale, stuzzicata dagli amici del gruppo xmpp-it, ha voluto provare a vedere se era davvero così alla portata di tutti.
Quindi il riferimento è al caso specifico di installazione su VPS con Ubuntu.
La guida è stata poi rivista e corretta dai suddetti amici che per ogni dubbio vi invito a contattare.
Per prima cosa devi avere un dominio che supporti i sottodomini, lo puoi acquistare su un qualunque provider. Poi devi procurarti un server virtuale (VPS) con Linux. Per fornire il servizio ad un gruppo ristretto di utenti come la propria famiglia o un’associazione di piccole dimensioni sarà sufficiente un VPS con 1Gb di RAM.
Le seguenti istruzioni provengono da Snikket quick-start guide a cui si rimanda per ulteriori informazioni e casistiche differenti.
DNS
Cerca l’ip del tuo server dal suo pannello di controllo. Questo ip va aggiunto nei DNS del tuo dominio. Su alcuni provider c’è scritto “Zone DNS”.
![domain1.jpg domain1.jpg](https://italianerd.com/data/attachments/0/130-18214cc463a4442f3b0b6aa8c8b57cab.jpg?hash=DtPw4hz01Q)
![domain2.jpg domain2.jpg](https://italianerd.com/data/attachments/0/131-35255d74c436289ea5c4a342376290c9.jpg?hash=8plB2iXiNI)
Ricorda di aggiungere tutti e tre i sottodomini. Nota: Nel pannello di controllo di alcuni fornitori i TTL sono espressi in minuti, 300 = 5 min.
Ora connettiti col terminale utilizzando il comando
alla richiesta Are you sure you want to continue connecting (yes/no/\[fingerprint\])? Rispondi Yes e incolla la pwd, che non si vedrà. Sei entrato come amministratore, aggiorna il server con
e
Docker
Adesso devi installare Docker, è propedeutico all’installazione di Snikket. Segui le istruzioni su Install Docker Engine on Ubuntu o quella riferita alla tua distro. Io ho seguito il primo metodo elencato, quindi i comandi sono:
Se l’ultimo comando dovesse restituire un errore completare l’installazione con:
In seguito installa Docker-compose con questi comandi:
Snikket
Bene, ora crea la cartella di configurazione:
entraci:
e stando nella stessa cartella scarica il file:
Sempre qui crea il file di configurazione usando vim o nano (come nell’esempio):
e copiaci dentro questi valori:
Ovviamente modificando con i tuoi valori Salva il file e dai questo comando:
Hai fatto!
Ora devi creare il tuo profilo amministrativo con cui puoi entrare da browser nel tuo chat.dominio.it con la parola d’ordine che ti viene suggerita. Il comando per crearlo è
Ti viene generato un link utilizzabile una sola volta. Tutti gli altri utenti li puoi creare dal tuo pannello di controllo una volta eseguito l’accesso.
![gestore-web-snikket.jpg gestore-web-snikket.jpg](https://italianerd.com/data/attachments/0/132-429bd5ef6e93fe5d77fd483856a5ff90.jpg?hash=Rxq0HAqw6v)
Porte
Perché Snikket funzioni devi aprire le porte del server virtuale descritte qui: snikket-server/docs/advanced/firewall.md at master · snikket-im/snikket-server
La porta 22 permette l’accesso al VPS quindi potresti pensare di migliorare la sicurezza abilitando l’accesso solo con chiave.
Quindi il riferimento è al caso specifico di installazione su VPS con Ubuntu.
La guida è stata poi rivista e corretta dai suddetti amici che per ogni dubbio vi invito a contattare.
Per prima cosa devi avere un dominio che supporti i sottodomini, lo puoi acquistare su un qualunque provider. Poi devi procurarti un server virtuale (VPS) con Linux. Per fornire il servizio ad un gruppo ristretto di utenti come la propria famiglia o un’associazione di piccole dimensioni sarà sufficiente un VPS con 1Gb di RAM.
Le seguenti istruzioni provengono da Snikket quick-start guide a cui si rimanda per ulteriori informazioni e casistiche differenti.
DNS
Cerca l’ip del tuo server dal suo pannello di controllo. Questo ip va aggiunto nei DNS del tuo dominio. Su alcuni provider c’è scritto “Zone DNS”.
![domain1.jpg domain1.jpg](https://italianerd.com/data/attachments/0/130-18214cc463a4442f3b0b6aa8c8b57cab.jpg?hash=DtPw4hz01Q)
![domain2.jpg domain2.jpg](https://italianerd.com/data/attachments/0/131-35255d74c436289ea5c4a342376290c9.jpg?hash=8plB2iXiNI)
Ricorda di aggiungere tutti e tre i sottodomini. Nota: Nel pannello di controllo di alcuni fornitori i TTL sono espressi in minuti, 300 = 5 min.
Ora connettiti col terminale utilizzando il comando
Bash:
ssh root@il.tuo.ip
alla richiesta Are you sure you want to continue connecting (yes/no/\[fingerprint\])? Rispondi Yes e incolla la pwd, che non si vedrà. Sei entrato come amministratore, aggiorna il server con
Bash:
sudo apt update
e
Bash:
sudo apt upgrade
Docker
Adesso devi installare Docker, è propedeutico all’installazione di Snikket. Segui le istruzioni su Install Docker Engine on Ubuntu o quella riferita alla tua distro. Io ho seguito il primo metodo elencato, quindi i comandi sono:
Bash:
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Bash:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Bash:
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
docker-compose-plugin
Se l’ultimo comando dovesse restituire un errore completare l’installazione con:
Bash:
sudo apt install docker.io
In seguito installa Docker-compose con questi comandi:
Bash:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod a+x /usr/local/bin/docker-compose
Snikket
Bene, ora crea la cartella di configurazione:
Bash:
sudo mkdir /etc/snikket
entraci:
Bash:
cd /etc/snikket
e stando nella stessa cartella scarica il file:
Bash:
sudo curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.beta.yml
Sempre qui crea il file di configurazione usando vim o nano (come nell’esempio):
Bash:
sudo nano /etc/snikket/snikket.conf
e copiaci dentro questi valori:
Codice:
# The primary domain of your Snikket instance
SNIKKET_DOMAIN=chat.example.com
# An email address where the admin can be contacted
# (also used to register your Let's Encrypt account to obtain certificates)
SNIKKET_ADMIN_EMAIL=you@example.com
Ovviamente modificando con i tuoi valori Salva il file e dai questo comando:
Bash:
sudo docker-compose up -d
Hai fatto!
Ora devi creare il tuo profilo amministrativo con cui puoi entrare da browser nel tuo chat.dominio.it con la parola d’ordine che ti viene suggerita. Il comando per crearlo è
Bash:
sudo docker exec snikket create-invite --admin --group default
Ti viene generato un link utilizzabile una sola volta. Tutti gli altri utenti li puoi creare dal tuo pannello di controllo una volta eseguito l’accesso.
![gestore-web-snikket.jpg gestore-web-snikket.jpg](https://italianerd.com/data/attachments/0/132-429bd5ef6e93fe5d77fd483856a5ff90.jpg?hash=Rxq0HAqw6v)
Porte
Perché Snikket funzioni devi aprire le porte del server virtuale descritte qui: snikket-server/docs/advanced/firewall.md at master · snikket-im/snikket-server
La porta 22 permette l’accesso al VPS quindi potresti pensare di migliorare la sicurezza abilitando l’accesso solo con chiave.