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 sostituirenginx
conapache
.--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