Software libero a scuola/Jitsi-installazione-su-vps

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Installazione del software open-source Jitsi-Meet su proprio server Linux.

INSTALLAZIONE JITSI MEET su VPS[modifica]

Seguendo questa

video guida ufficiale

e questa guida (che ripete quanto contenuto nel video aggiungendo la parte riguardante l'installazione di java e nginx)

tutorial

ho ricavato la seguente procedura.

Io ho utilizzato una VPS di OVH scegliendo di installare Ubuntu 18.04.

Ulteriore documentazione molto utile alla post-installazione, in particolare si segnala la possibilità di gestire l'autenticazione per la gestione delle stanze.

Accesso alla VPS[modifica]

Questo dipende da chi vi appoggiate. Io in OVH ho creato il server e le chiavi SSH per accedere da terminale seguendo le indicazioni del sito.

Comunque in generale aprite un terminale e digitate il comando

ssh utente@xx.xx.xx.xx

Inserire la password.

Utilizzo console root[modifica]

Si installa tutto da root o usando il comando sudo se disponibile.

Metto la password all'utente root giusto per questioni di sicurezza.

sudo passwd root
# inserire due volte la password scelta*

E si comincia

sudo su -

Configurazione firewall[modifica]

ufw allow in ssh
ufw allow in 80/tcp
ufw allow in 443/tcp
ufw allow in 10000:20000/udp
ufw enable
iptables -L -n
*per visualizzare le modifiche*

Configurazione chiavi Jitsi con GPG[modifica]

wget https://download.jitsi.org/jitsi-key.gpg.key
gpg jitsi-key.gpg.key

Per capire il passaggio successivo vedi video al minuto 7:26

gpg --search-keys dev@jitsi.org
# scegliere il numero corretto di chiave gpg di solito 1

Per capire il passaggio successivo vedi video al minuto 7:57

gpg --list-sigs dev@jitsi.org
# elenca le due chiavi sig3 e sig da inserire nei comandi successivi

gpg --recv-keys *CHIAVE sig 3*
gpg --recv-keys *CHIAVE sig*

apt-key add jitsi-key.gpg.key
# aggiunge le chiavi*

Installazione di Java[modifica]

apt update
apt install default-jdk

Installazione di NGINX[modifica]

apt install nginx -y
systemctl start nginx
systemctl enable nginx

Installazione Jitsi[modifica]

echo 'deb https://download.jitsi.org stable/' > /etc/apt/source.list.d/jitsi-stable.list

apt update

apt -y install jitsi-meet

# alla richiesta inserire il proprio nome dominio - funziona anche se inserite l'IP della VPS ma in questo caso non funziona Letsencrypt e quindi si accede al sito accettando di proseguire su sito non sicuro*

Installazione Letsencrypt[modifica]

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Comunicare la mail alla quale si verrà avvisati della scadenza del certificato che dura 3 mesi.

Collegamenti esterni[modifica]

INSTALLAZIONE JITSI MEET su VPS TRAMITE CONTAINER (con docker)[modifica]

Un modo più veloce sw se si ha una macchina virtuale e si preferisce usare i containe. Partendo da questo repository e addattandolo [1]

Io ho utilizzato una VPS di Hetzner scegliendo di installare Ubuntu 18.04.

Accesso alla VPS[modifica]

Questo dipende da chi vi appoggiate. Io in Hetzner ho creato il server e le chiavi SSH per accedere da terminale.

Comunque in generale aprite un terminale e digitate il comando

ssh utente@xx.xx.xx.xx

Inserire la password.

Utilizzo console root[modifica]

Si installa tutto da root o usando il comando sudo se disponibile.

Preparazione server e container[modifica]

apt update
apt upgrade
apt install docker.io
apt install docker-compose

Attivare docker[modifica]

systemctl enable docker.socket --now

Scaricare jitsi[modifica]

Crearsi la cartella opportuna e "mettercisi dentro" quindi eseguire i seguenti comandi (il secondo funziona se si è clonato correttamente).

git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet

Configurazione Jitsi[modifica]

Copiare il file di configurazione d'esempio ed editarlo in modo da modificare le voci essenziali che sono queste: [2]

cp  env.example .env
nano .env

(Per salvare con nano: ctrl-x, yes, invio) Io ho configurato le seguenti variabili nel seguente modo:

# Directory where all configuration will be stored.
CONFIG=~/.jitsi-meet-cfg
# Exposed HTTP port.
HTTP_PORT=80
# Exposed HTTPS port.
HTTPS_PORT=443
# System time zone.
TZ=Europe/Rome
# Public URL for the web service.
PUBLIC_URL="https://myserver.ilmiodominio.xyz"
# Enable Let's Encrypt certificate generation.
ENABLE_LETSENCRYPT=1
# Domain for which to generate the certificate.
LETSENCRYPT_DOMAIN=myserver.ilmiodominio.xyz
# E-Mail for receiving important account notifications (mandatory).
LETSENCRYPT_EMAIL=myname@address.org

Attivazione del container[modifica]

docker-compose up -d

Se volete attivare un servizio specifico:

docker-compose -f docker-compose.yml -f etherpad.yml up -d

Persistenza con systemd[modifica]

Per far persistere il servizio al riavvio della macchina consigliamo di creare un servizio systemd che invochi docker-compose.

Per prima cosa andiamo a scrivere dentro a /etc/systemd/system/docker-jitsi-meet.service

[Unit]
Description=Jitsi Meet con Docker

Requires=docker.service
After=docker.service

[Service]
Type = oneshot

# Sostituire con il path ASSOLUTO a dove abbiamo eseguito il git clone
WorkingDirectory=/home/mioutente/docker-jitsi-meet

ExecStart = /usr/bin/docker-compose up -d

[Install]
WantedBy=multi-user.target

Successivamente avviamo il servizio

systemctl daemon-reload
systemctl enable --now docker-jitsi-meet.service

Impostazioni[modifica]

Utenti privilegiati[1][modifica]

Attivando l'autenticazione LDAP come spiegato in Ldap per Jitsi si può fare in modo che la "stanza" non sia disponibile fino a quando non entra un utente amministratore, l'insegnante, quello che poi farà da moderatore.

Il moderatore a questo punto, se necessario, può impostare anche una password per la stanza in modo tale che nessun utente indesiderato possa accedere alla videoconferenza se non in possesso della password.

Jitsi ti mette a disposizione:

  • chat
  • videoconferenza
  • condivisione di parti o dell'intero monitor
  • inviare la videoconferenza live su youtube
  • trasmettere in videoconferenza un video esistente su youtube
  • gestire le "alzate di mano" dei partecipanti
  • zittire i partecipanti
  • espellere i partecipanti

La guida all'uso di Jisti

Moderatore[modifica]

Attraverso la configurazione del motore di Jitsi prosody è possibile introdurre nelle chat la figura del moderatore.

Qui la guida o qui in alternativa.

Osservazioni e cautele[modifica]

Nell'esperienza i browser più stabili sono quelli della famiglia Chrome/Chromium, uscire e rientrare dalla stanza spesso è sufficiente a far funzionare tutto di nuovo.

Transcodifica[modifica]

Sembrerebbe che se si imposta Jitsi per la transcodifica del flusso aumenta in modo notevole il carico dei lavoro del server.[2]

Note[modifica]

  1. Grazie ad un post di Marco Agostini sulla mailing list Linuxtrent
  2. Grazie a Paolo Di Francesco

Collegamenti esterni[modifica]