GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Jitsi Meet su Ubuntu 20.04 – Videoconferenza self-hosted

Questo tutorial ti mostrerà come installare Jitsi Meet sul server Ubuntu 20.04. Jitsi Meet è un software di videoconferenza open source gratuito che funziona su Linux, macOS, Windows, iOS e Android. Se non ti fidi di Zoom, puoi eseguire la tua piattaforma di videoconferenza sul tuo server.

Caratteristiche di Jitsi Meet

  • Completamente gratuito
  • Condividi lo schermo del tuo computer con gli altri.
  • La modalità presentatore ti consente di condividere lo schermo e la fotocamera contemporaneamente, in modo che i partecipanti possano vedere il presentatore e il loro linguaggio del corpo durante la presentazione.
  • Puoi condividere l'audio del sistema mentre condividi lo schermo.
  • Puoi assegnare utenti autorizzati come moderatori. Un moderatore può disattivare l'audio di ogni partecipante con un clic.
  • La comunicazione sulla rete è crittografata utilizzando DTLS-SRTP.
  • Crittografia end-to-end (lavori in corso)
  • Puoi impostare una password per la tua conferenza per impedire l'ingresso di estranei casuali.
  • Registra la riunione/conferenza e salvala su Dropbox.
  • Trasmetti in streaming su YouTube Live e archivia la registrazione su YouTube.
  • App Android e iOS
  • Chat di testo
  • Condividi documento di testo
  • Accesso telefonico a una conferenza
  • Chiamata in uscita a un partecipante telefonico
  • Puoi incorporare una chiamata Jits Meet in qualsiasi pagina web con poche righe di codice.

Requisiti per l'installazione di Jitsi Meet su Ubuntu 20.04

Per eseguire Jitsi Meet, è necessario un server con almeno 1 GB di RAM. Puoi fare clic su questo link di riferimento per creare un account su Vultr per ottenere un credito gratuito di $ 50 (solo per i nuovi utenti). Una volta che hai un account su Vultr, installa Ubuntu 20.04 sul tuo server e segui le istruzioni seguenti. Quando hai dozzine di utenti, valuta la possibilità di aggiornare l'hardware del tuo server. Il server dovrebbe essere vicino ai tuoi utenti, altrimenti il ​​ritardo sarà evidente durante le riunioni online.

Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio su NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.

Passaggio 1:installa Jitsi Meet dal repository ufficiale dei pacchetti

Jitsi Meet non è incluso nel repository Ubuntu predefinito. Possiamo installarlo dal repository ufficiale dei pacchetti Jitsi, che contiene anche molti altri utili pacchetti software. Accedi al tuo server tramite SSH, quindi esegui il comando seguente per aggiungere il repository Jitsi ufficiale.

echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list

Importa la chiave pubblica Jitsi, in modo che il gestore di pacchetti APT possa verificare l'integrità dei pacchetti scaricati da questo repository.

wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

Poiché il repository Jitsi richiede una connessione HTTPS, quindi è necessario installare apt-transport-https pacchetto per fare in modo che APT stabilisca una connessione HTTPS al repository Jitsi.

sudo apt install apt-transport-https

Quindi, aggiorna l'indice del pacchetto locale e installa Jitsi Meet su Ubuntu.

sudo apt update 
sudo apt install jitsi-meet

Durante l'installazione, devi inserire un nome host per la tua istanza Jitsi. Questo è il nome host che apparirà nella barra degli indirizzi del browser web quando i partecipanti si uniranno alla tua videoconferenza. Puoi utilizzare un nome host descrittivo come meet.example.com .

Nella schermata successiva, puoi scegliere di generare un nuovo certificato TLS autofirmato, così in seguito potrai ottenere e installare un certificato Let's Encryption affidabile.

Il processo di installazione configurerà alcuni parametri del kernel Linux, che verranno salvati in /etc/sysctl.d/20-jvb-udp-buffers.conf file. Una volta completata l'installazione, Jitsi Meet si avvierà automaticamente. Puoi verificarne lo stato con:

systemctl status jitsi-videobridge2

Esempio di output:

● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-04-25 03:07:16 UTC; 8min ago
   Main PID: 3721 (java)
      Tasks: 35 (limit: 65000)
     Memory: 168.5M
     CGroup: /system.slice/jitsi-videobridge2.service
             └─3721 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath>

Suggerimento:se il comando precedente non si chiude immediatamente, puoi premere il tasto Q per chiuderlo.

Il jitsi-meet package ha anche estratto altri pacchetti come dipendenze, come

  • openjdk-8-jre-senza testa :ambiente di runtime Java. È necessario perché Jitsi Meet è scritto in linguaggio Java.
  • jicofo :Focus conferenza Jitsi (systemctl status jicofo )
  • prosodia :server Jabber/XMPP leggero (systemctl status prosody )
  • ritorno :coturn TURN Server

Fase 2:apri le porte nel firewall

Jitsi Meet è in ascolto su diverse porte UDP, come si può vedere con il comando seguente. (Se il tuo server Ubuntu non ha il netstat comando, puoi eseguire sudo apt install net-tools comando per installarlo.)

sudo netstat -lnptu | grep java

Per consentire ai partecipanti di partecipare a una videoconferenza da un browser Web, è necessario aprire le porte TCP 80 e 443. E per trasferire il video sulla rete, aprire le porte UDP 10000 e 5000. Se si utilizza il firewall UFW, eseguire quanto segue comando per aprire queste porte.

sudo ufw allow 80,443/tcp

sudo ufw allow 10000,5000/udp

Fase 3:ottieni un certificato TLS Let's Encrypt affidabile

Vai al tuo servizio di hosting DNS (di solito il tuo registrar di domini) per creare un record DNS A per il tuo nome host Jitsi (meet.example.com). Quindi esegui il seguente script per ottenere un certificato Let's Encrypt TLS affidabile:

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

Inserisci il tuo indirizzo email per ricevere importanti notifiche sull'account. Quindi scaricherà certbot-auto e ottenere il certificato TLS.

Se tutto è OK, vedrai il seguente messaggio, che indica che i certificati TLS sono stati ottenuti e installati correttamente.

Se stai utilizzando un'installazione pulita di Ubuntu 20.04 (non aggiornata da 18.04 o 19.10), probabilmente vedrai il seguente errore quando ottieni il certificato Let's Encrypt.

Package python-virtualenv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-virtualenv' has no installation candidate

Ciò è dovuto al fatto che il repository Ubuntu 20.04 non ha il python-virtualenv pacchetto. Invece di utilizzare il binario certbot-auto a monte per ottenere il certificato TLS, possiamo installare il pacchetto certbot dal repository Ubuntu 20.04 e usarlo per ottenere il certificato TLS.

sudo apt install certbot

Successivamente, dobbiamo cambiare l'istanza di certbot-auto a certbot nello script con il seguente comando.

sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Esegui di nuovo lo script e dovresti essere in grado di ottenere correttamente il certificato TLS da Let's Encrypt.

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

Nota che questo script usa http-01 challenge, il che significa che il tuo server web Apache o Nginx deve essere in ascolto sulla porta 80 dell'indirizzo IP pubblico. Se il tuo ambiente server non supporta http-01 challenge, non dovresti eseguire lo script sopra. Devi usare altri tipi di sfida. Nel mio caso, utilizzo la sfida DNS.

sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email [email protected] -d meet.linuxbabe.com

Dove:

  • --agree-tos :Accetta i termini di servizio.
  • -a dns-cloudflare :Uso il plug-in DNS di cloudflare per l'autenticazione, perché utilizzo il servizio DNS di Cloudflare.
  • -i nginx :usa il plugin nginx per installare il certificato TLS. Se usi Apache, devi sostituire nginx con apache .
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Fase 4:abilita HTTP2

HTTP2 può migliorare la velocità di caricamento delle pagine web. Per abilitare HTTP2 in Nginx, modifica il file di configurazione dell'host virtuale.

sudo nano /etc/nginx/sites-enabled/meet.example.com.conf

Trova le due righe seguenti.

listen 443 ssl;
listen [::]:443 ssl;

Aggiungi http2 alla fine.

listen 443 ssl http2;
listen [::]:443 ssl http2;

Salva e chiudi il file. Quindi ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Fase 5:avvia una nuova riunione online

Ora visita https://meet.example.com e sarai in grado di avviare una conferenza. Per trasferire l'audio, devi consentire al browser web di utilizzare il microfono. E per trasferire video, devi consentire al browser web di accedere alla tua fotocamera.

Assegna un nome alla tua riunione e fai clic sul pulsante Vai. Dopo l'avvio della riunione, puoi opzionalmente scegliere di impostare una password per la riunione.

Passaggio 6:imposta l'autenticazione utente

Per impostazione predefinita, chiunque può accedere alla tua istanza di Jitsi Meet, creare una stanza virtuale e avviare una riunione. Per impostare l'autenticazione utente, modifica il file di configurazione di Prosody.

sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua

Trova la riga seguente.

authentication = "anonymous"

Modificalo come segue, che richiederà all'utente di inserire nome utente e password per avviare una conferenza.

authentication = "internal_plain"

Tuttavia, non vogliamo che i partecipanti inseriscano nome utente e password quando si uniscono alla conferenza, quindi è necessario creare un accesso anonimo per gli ospiti, aggiungendo le seguenti righe alla fine di questo file. Tieni presente che non è necessario creare un record DNS A per guest.meet.example.com .

VirtualHost "guest.meet.example.com"
    authentication = "anonymous"
    c2s_require_encryption = false

Salva e chiudi il file.

Quindi, modifica il file di configurazione di Jitsi Meet.

sudo nano /etc/jitsi/meet/meet.example.com-config.js

Trova la riga seguente,

// anonymousdomain: 'guest.example.com',

Rimuovi le doppie barre e cambia il dominio guest. Sostituisci meet.example.com con il tuo vero nome host di Jitsi Meet.

anonymousdomain: 'guest.meet.example.com',

Salva e chiudi il file.

Quindi modifica il file di configurazione di Jicofo.

sudo nano /etc/jitsi/jicofo/sip-communicator.properties

Aggiungi la seguente riga alla fine di questo file.

org.jitsi.jicofo.auth.URL=XMPP:meet.example.com

Salva e chiudi il file. Riavvia i servizi systemd per rendere effettive le modifiche.

sudo systemctl restart jitsi-videobridge2 prosody jicofo

Per creare account utente in Jisi Meet, esegui il comando seguente. Sarai promosso a inserire una password per il nuovo utente.

sudo prosodyctl register username meet.example.com

Ora, se crei una stanza in Jitsi Meet, dovrai inserire un nome utente e una password.

Facoltativo:imposta Jigasi per chiamate in ingresso o in uscita telefoniche

Jitsi offre un'interfaccia di telefonia che consente agli utenti di partecipare a una conferenza o effettuare chiamate di promemoria in uscita. Installa jigasi pacchetto (gateway Jitsi per SIP).

sudo apt install jigasi

Durante l'installazione, dovrai inserire il tuo nome utente e password SIP. Se non ne hai uno, puoi creare un account SIP gratuito su OnSIP.com.

Se hai impostato l'autenticazione utente nel passaggio 6, devi modificare il file di configurazione di Jigasi.

sudo nano /etc/jitsi/jigasi/sip-communicator.properties

Trova le seguenti righe.

# [email protected]_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Decommentali e inserisci un account e una password che hai creato nel passaggio 6.

org.jitsi.jigasi.xmpp.acc.USER_ID=[email protected]
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Salva e chiudi il file. Riavvia il jigasi servizio systemd.

sudo systemctl status jigasi

Facoltativo:configura Coturn

Se visualizzi il seguente messaggio durante l'installazione di Jitsi Meet, devi configurare Coturn per farlo funzionare correttamente.

Warning! Could not resolve your external ip address! Error:^
Your turn server will not work till you edit your /etc/turnserver.conf config file.
You need to set your external ip address in external-ip and restart coturn service.

Modifica il file di configurazione di Coturn.

sudo nano /etc/turnserver.conf

Trova la riga seguente.

external-ip=127.0.0.1

Sostituisci 127.0.0.1 con l'indirizzo IP pubblico del tuo server. Salva e chiudi il file. Quindi riavvia Coturn.

sudo systemctl restart coturn

Suggerimenti per la risoluzione dei problemi

Se riscontri errori, puoi controllare il registro degli errori di Nginx (/var/log/nginx/error.log ) per scoprire cosa c'è che non va. Puoi anche controllare i log dei servizi systemd.

sudo journalctl -eu jitsi-videobridge2 
sudo journalctl -eu prosody 
sudo journalctl -eu jicofo

Ubuntu
  1. Come installare Zoom (strumento di videoconferenza) su Ubuntu 20.04

  2. Come installare Jitsi Meet su Debian 11

  3. Come installare il convertitore video HandBrake su Ubuntu

  4. Come installare la piattaforma per videoconferenze Jitsi Meet su Ubuntu

  5. Facile installazione di VMware Ubuntu 21.10 (Video)

Come installare HandBrake su Ubuntu 18.04 LTS

Come installare Jitsi Meet su Ubuntu 20.04 LTS

Come installare Jitsi Meet su Debian e Ubuntu

Jitsi Meet su Ubuntu Linux:una soluzione di videoconferenza open source

Come distribuire il server per conferenze Jitsi Meet con Ubuntu 22.04

Come installare l'applicazione di videoconferenza Jitsi Meet su Ubuntu 20.04