Software libero a scuola/Jitsi-installazione-su-vps: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Etichetta: Editor wikitesto 2017
Correggo tag deprecato
Riga 23: Riga 23:


Comunque in generale aprite un terminale e digitate il comando
Comunque in generale aprite un terminale e digitate il comando
<source lang="console">
<syntaxhighlight lang="console">
ssh utente@xx.xx.xx.xx
ssh utente@xx.xx.xx.xx
</syntaxhighlight>
</source>
Inserire la password.
Inserire la password.


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


<source lang="console">sudo passwd root
<syntaxhighlight lang="console">sudo passwd root
# inserire due volte la password scelta*
# inserire due volte la password scelta*
</syntaxhighlight>
</source>


E si comincia
E si comincia
<source lang="console">
<syntaxhighlight lang="console">
sudo su -
sudo su -
</syntaxhighlight>
</source>


=== Configurazione firewall ===
=== Configurazione firewall ===


<source lang="console">ufw allow in ssh
<syntaxhighlight lang="console">ufw allow in ssh
ufw allow in 80/tcp
ufw allow in 80/tcp
ufw allow in 443/tcp
ufw allow in 443/tcp
Riga 51: Riga 51:
ufw enable
ufw enable
iptables -L -n
iptables -L -n
*per visualizzare le modifiche*</source>
*per visualizzare le modifiche*</syntaxhighlight>


=== Configurazione chiavi Jitsi con GPG ===
=== Configurazione chiavi Jitsi con GPG ===


<source lang="console">wget https://download.jitsi.org/jitsi-key.gpg.key
<syntaxhighlight lang="console">wget https://download.jitsi.org/jitsi-key.gpg.key
gpg jitsi-key.gpg.key
gpg jitsi-key.gpg.key
</syntaxhighlight>
</source>


Per capire il passaggio successivo [https://www.youtube.com/watch?v=8KR0AhDZF2A&t=446 vedi video al minuto 7:26]
Per capire il passaggio successivo [https://www.youtube.com/watch?v=8KR0AhDZF2A&t=446 vedi video al minuto 7:26]


<source lang="console">gpg --search-keys dev@jitsi.org
<syntaxhighlight lang="console">gpg --search-keys dev@jitsi.org
# scegliere il numero corretto di chiave gpg di solito 1
# scegliere il numero corretto di chiave gpg di solito 1
</syntaxhighlight>
</source>


Per capire il passaggio successivo [https://www.youtube.com/watch?v=8KR0AhDZF2A&t=477 vedi video al minuto 7:57]
Per capire il passaggio successivo [https://www.youtube.com/watch?v=8KR0AhDZF2A&t=477 vedi video al minuto 7:57]


<source lang="console">gpg --list-sigs dev@jitsi.org
<syntaxhighlight lang="console">gpg --list-sigs dev@jitsi.org
# elenca le due chiavi sig3 e sig da inserire nei comandi successivi
# elenca le due chiavi sig3 e sig da inserire nei comandi successivi


Riga 74: Riga 74:


apt-key add jitsi-key.gpg.key
apt-key add jitsi-key.gpg.key
# aggiunge le chiavi*</source>
# aggiunge le chiavi*</syntaxhighlight>


=== Installazione di Java ===
=== Installazione di Java ===


<source lang="console">apt update
<syntaxhighlight lang="console">apt update
apt install default-jdk</source>
apt install default-jdk</syntaxhighlight>


=== Installazione di NGINX ===
=== Installazione di NGINX ===


<source lang="console">apt install nginx -y
<syntaxhighlight lang="console">apt install nginx -y
systemctl start nginx
systemctl start nginx
systemctl enable nginx</source>
systemctl enable nginx</syntaxhighlight>


=== Installazione Jitsi ===
=== Installazione Jitsi ===


<source lang="console">echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
<syntaxhighlight lang="console">echo 'deb https://download.jitsi.org stable/' > /etc/apt/source.list.d/jitsi-stable.list


apt update
apt update
Riga 95: Riga 95:
apt -y install jitsi-meet
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*</source>
# 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*</syntaxhighlight>


=== Installazione Letsencrypt ===
=== Installazione Letsencrypt ===


<source lang="console">/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh</source>
<syntaxhighlight lang="console">/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh</syntaxhighlight>


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


Comunque in generale aprite un terminale e digitate il comando
Comunque in generale aprite un terminale e digitate il comando
<source lang="console">
<syntaxhighlight lang="console">
ssh utente@xx.xx.xx.xx
ssh utente@xx.xx.xx.xx
</syntaxhighlight>
</source>
Inserire la password.
Inserire la password.


Riga 132: Riga 132:


=== Preparazione server e container ===
=== Preparazione server e container ===
<source lang="console">
<syntaxhighlight lang="console">
apt update
apt update
apt upgrade
apt upgrade
apt install docker.io
apt install docker.io
apt install docker-compose
apt install docker-compose
</syntaxhighlight>
</source>


=== Attivare docker ===
=== Attivare docker ===
<source lang="console">
<syntaxhighlight lang="console">
systemctl enable docker.socket --now
systemctl enable docker.socket --now
</syntaxhighlight>
</source>


=== Scaricare jitsi ===
=== Scaricare jitsi ===
Riga 148: Riga 148:
Crearsi la cartella opportuna e "mettercisi dentro" quindi eseguire i seguenti comandi (il secondo funziona se si è clonato correttamente).
Crearsi la cartella opportuna e "mettercisi dentro" quindi eseguire i seguenti comandi (il secondo funziona se si è clonato correttamente).
<source lang="console">
<syntaxhighlight lang="console">
git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
</syntaxhighlight>
</source>


=== Configurazione Jitsi ===
=== Configurazione Jitsi ===
Riga 157: Riga 157:
[https://github.com/jitsi/docker-jitsi-meet#configuration]
[https://github.com/jitsi/docker-jitsi-meet#configuration]


<source lang="console">
<syntaxhighlight lang="console">
cp env.example .env
cp env.example .env
nano .env
nano .env
</syntaxhighlight>
</source>
(Per salvare con nano: ctrl-x , yes, invio)
(Per salvare con nano: ctrl-x , yes, invio)
Io ho configurato le seguenti variabili nel seguente modo:
Io ho configurato le seguenti variabili nel seguente modo:
<source lang="console">
<syntaxhighlight lang="console">
# Directory where all configuration will be stored.
# Directory where all configuration will be stored.
CONFIG=~/.jitsi-meet-cfg
CONFIG=~/.jitsi-meet-cfg
Riga 180: Riga 180:
# E-Mail for receiving important account notifications (mandatory).
# E-Mail for receiving important account notifications (mandatory).
LETSENCRYPT_EMAIL=myname@address.org
LETSENCRYPT_EMAIL=myname@address.org
</syntaxhighlight>
</source>


=== Attivazione del container ===
=== Attivazione del container ===


<source lang="console">
<syntaxhighlight lang="console">
docker-compose up -d
docker-compose up -d
</syntaxhighlight>
</source>


Se volete attivare un servizio specifico:
Se volete attivare un servizio specifico:


<source lang="console">
<syntaxhighlight lang="console">
docker-compose -f docker-compose.yml -f etherpad.yml up -d
docker-compose -f docker-compose.yml -f etherpad.yml up -d
</syntaxhighlight>
</source>


=== Persistenza con systemd ===
=== Persistenza con systemd ===
Riga 200: Riga 200:
Per prima cosa andiamo a scrivere dentro a /etc/systemd/system/docker-jitsi-meet.service
Per prima cosa andiamo a scrivere dentro a /etc/systemd/system/docker-jitsi-meet.service


<source lang="ini">
<syntaxhighlight lang="ini">
[Unit]
[Unit]
Description=Jitsi Meet con Docker
Description=Jitsi Meet con Docker
Riga 217: Riga 217:
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</syntaxhighlight>
</source>


Successivamente avviamo il servizio
Successivamente avviamo il servizio


<source lang="console">
<syntaxhighlight lang="console">
systemctl daemon-reload
systemctl daemon-reload
systemctl enable --now docker-jitsi-meet.service
systemctl enable --now docker-jitsi-meet.service
</syntaxhighlight>
</source>


==Impostazioni==
==Impostazioni==

Versione delle 20:44, 4 giu 2020

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

INSTALLAZIONE JITSI MEET su VPS

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

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

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

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

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

apt update
apt install default-jdk

Installazione di NGINX

apt install nginx -y
systemctl start nginx
systemctl enable nginx

Installazione Jitsi

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

/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

INSTALLAZIONE JITSI MEET su VPS TRAMITE CONTAINER (con docker)

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

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

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

Preparazione server e container

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

Attivare docker

systemctl enable docker.socket --now

Scaricare jitsi

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

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

docker-compose up -d

Se volete attivare un servizio specifico:

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

Persistenza con systemd

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

Utenti privilegiati[1]

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

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

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

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

Note

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

Collegamenti esterni