Instalacja Jitsi meet pod systemem Debian 10 obok istniejącego serwera nginx 4


Z powodu „human malware” panującego obecnie na świecie potrzebowałem czegoś łatwego w obsłudze co umożliwiło by prowadzenie wideokonferencji ludziom o średnich umiejętnościach informatycznych bez konieczności instalowania dodatkowego oprogramowania.

Wybór padł na Jitsi meet które jest open source i darmowe do zastosowania na swoim serwerze.

W moim przypadku gdzie już posiadam serwer www (nginx) postanowiłem postawić jitsi meet na osobnej VM na której nie będę konfigurował osobno nginx, a wykorzystam mój główny.

Tak więc na czysto postawiony Debian 10 instalujemy jitsi meet używając oficjalnej instrukcji.

1. Na początek edytujemy plik /etc/hostname aby zawierał w sobie pełną nazwę naszej subdomeny na które będzie skonfigurowane jitsi:

meet.sloniupl.eu

2 . Później edytujemy plik /etc/hosts i konfigurujemy tak jak w instrukcji:

127.0.0.1       localhost       meet.sloniupl.eu

3. Wykonujemy po kolei poniższe polecenia (jako su):

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
apt-get install apt-transport-https
apt-get update
apt install --no-install-recommends jitsi-meet
reboot

4. Na naszym głównym serwerze do którego jest dostęp z zewnątrz po https konfigurujemy nowy virtual host (meet.sloniupl.eu) [należy również pamiętać o wcześniejszym skonfigurowaniu wymaganych wpisów DNS].
Nasza VM na której jest zainstalowane teraz jitsi posiada ip 192.168.1.12:

server {

        server_name meet.sloniupl.eu;

ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000";

access_log /var/log/nginx/meet_access.log;

    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/sloniupl.eu-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/sloniupl.eu-0001/privkey.pem; # managed by Certbot
proxy_ssl_server_name on;

 location / {
        ssi on;
        proxy_pass https://192.168.1.12/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
    }
    # BOSH
    location /http-bind {
        proxy_pass http://192.168.1.12:5280/http-bind;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
    }

    # xmpp websockets
    location /xmpp-websocket {
        proxy_pass              http://192.168.1.12:5280/xmpp-websocket;
        proxy_http_version      1.1;
        proxy_set_header        Upgrade $http_upgrade;
        proxy_set_header        Connection "upgrade";
        proxy_set_header        Host $host;
        tcp_nodelay             on;
    }

}

server {
    if ($host = meet.sloniupl.eu) {
        return 301 https://$host$request_uri;
    } # managed by Certbot



        server_name meet.sloniupl.eu www.meet.sloniupl.eu;

        listen 80;
        listen [::]:80;
    return 404; # managed by Certbot


}

Dodam, że wykorzystuje let’s encrypt do generowania certyfikatów ssl dla mojego serwera.

5. Aby całość poprawnie działała kiedy serwer jest postawiony za NAT należy dodać na końcu pliku /etc/jitsi/videobridge/sip-communicator.properties

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<NASZ ADRES IP LAN - u mnie 192.168.1.12>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<NASZ ADRES IP WAN>

Oraz zmodyfikować w tym pliku linijkę
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES aby wyglądała tak:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302

6. W pliku /etc/jitsi/videobridge/config ustawiamy wartość JVB_HOST na nasz FQDN:

JVB_HOST=meet.sloniupl.eu

Oraz zmieniamy opcję JVB_OPTS aby wyglądała tak jak poniżej:

JVB_OPTS="--apis=xmpp,rest"

7. Na koniec na routerze przekierowujemy porty 4443/tcp oraz 10000/udp na nasz serwer jitsi.

Gotowe 🙂

Dodatkowo jeśli używasz na tej VM firwewall to odblokuj dostęp do poniższych portów:

443/tcp                  
4443/tcp            
5280/tcp                 
10000/udp               
80/tcp              
5222                
5269                 
5347

Teraz możemy się cieszyć wideokonferencjami ze znajomymi i rodziną.
Należny tylko pamiętać, że taka stronka jest niezabezpieczona i każdy możne na niej uruchomić wideokonferencję.
Jeśli chcesz ją zabezpieczyć to zapraszam do tego poradnika:

https://github.com/jitsi/jicofo#secure-domain

Linkografia:

https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md

https://jitsi.org/downloads/


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

4 komentarzy do “Instalacja Jitsi meet pod systemem Debian 10 obok istniejącego serwera nginx

  • Debian@wp.pl

    Mam Debian testing który bardzo wolno mi startuje około dwóch minut potrzebuje aby się uruchomił.
    systemd-analyze blame
    1min 50.922s plymouth-quit-wait.service
    1min 30.020s user@1000.service

    Na forum debiana podpowiadali to
    systemctl disable plymouth-start
    update-grub

    Jednak na forum Debiana nie dali rady mi pomóc, może ty jako spec od Debiana coś mi doradzisz?