Ubuntu 20.04 Jitsi Meet Kurulumu - Kendi Video Konferans Sunucunuzu Kurun

Jitsi Meet, üstün ses kalitesi, mükemmel şifreleme, gizlilik ve evrensel çoklu platform kullanılabilirliği gibi çeşitli üstün özelliklerle dolu ücretsiz ve açık kaynaklı bir video konferans servis çözümüdür. Jitsi Meet’ın yardımıyla, kendi çarpıcı video konferans hizmetinizi kolayca kurabilirsiniz. Bu kılavuzda, Jitsi Meet kullanarak bir Ubuntu 20.04 LTS sunucusu üzerinde video konferans hizmeti oluşturma sürecinde size rehberlik edeceğim.

Ön gereksinimler;

  • Temiz Ubuntu 20.04 LTS kurulu bir sunucu (DigitalOcean tavsiyemdir)
  • DNS kayıtları yapılandırılmış bir alan adı (Let’s Encrypt SSL sertifikası için)
  • ACME (SSL) etkileşimi ve doğrulama işlemi 443 portu açık olmalıdır
  • Çalışır durumda web kamerası ve mikrofon
  • root ya da sudo yetkilerine sahip bir kullanıcı ile SSH erişimi
  • konferans.sizinalanadiniz.com A etki alanı yukarıda belirtilen sunucuya hedef gösterilmelidir.

Jitsi Meet sunucu kaynak tüketimi örneği:

İşlemci Trafik
2 Katılımcı 3% 30Kbps Up, 100Kbps Down
3 Katılımcı 15% 7Mbps Up, 6.5Mbps Down

Adım 1: Jitsi Meet’ı Resmi Paket Deposundan Kurun

Jitsi Meet, varsayılan Ubuntu yazılım deposuna dahil değildir. Diğer birçok yararlı yazılım paketini de içeren resmi Jitsi paket deposundan kurabiliriz. SSH üzerinden sunucunuza giriş yapın, ardından resmi Jitsi deposunu eklemek için aşağıdaki komutu çalıştırın.

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

APT paket yöneticisinin bu depodan indirilen paketlerin bütünlüğünü doğrulayabilmesi için Jitsi genel anahtarını içe aktarın.

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

Jitsi deposu HTTPS bağlantısı gerektirdiğinden, APT’nin Jitsi deposuna HTTPS bağlantısı kurmasını sağlamak için apt-transport-https paketini yüklememiz gerekir.

sudo apt update 
sudo apt install apt-transport-https -y

Ardından, yerel paket dizinini güncelleyin ve Ubuntu’ya Jitsi Meet’ı yükleyin.

sudo apt update 
sudo apt-get upgrade -y
sudo apt install jitsi-meet -y

Yükleme sırasında, Jitsi örneğiniz için bir ana bilgisayar adı girmeniz gerekir. Bu, katılımcılar video konferansınıza katıldığında web tarayıcısı adres çubuğunda görünecek ana bilgisayar adıdır. konferans.sizinalanadiniz.com gibi açıklayıcı bir ana makine adı kullanabilirsiniz.

Bir sonraki ekranda, kendinden imzalı yeni bir TLS sertifikası oluşturmayı seçebilirsiniz, böylece daha sonra güvenilir bir Let’s Encryption sertifikası alabilir ve yükleyebilirsiniz.

Yükleme işlemi, /etc/sysctl.d/20-jvb-udp-buffers.conf dosyasına kaydedilen bazı Linux çekirdek parametrelerini yapılandırır. Kurulum tamamlandığında, Jitsi Meet otomatik olarak başlayacaktır. Durumunu aşağıdaki komutla kontrol edebilirsiniz:

systemctl status jitsi-videobridge2

Çıktı:

● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-04-26 07:32:16 CEST; 54s ago
   Main PID: 9021 (java)
      Tasks: 39 (limit: 65000)
     Memory: 153.9M
     CGroup: /system.slice/jitsi-videobridge2.service
             └─9021 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.>
Apr 26 07:32:20 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:20 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:21 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:22 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:23 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:24 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:28 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:30 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:31 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>Apr 26 07:32:32 sizinalanadiniz systemd[1]: /lib/systemd/system/jitsi-videobridge2.service:14: PIDFile= references a path below legacy directory /var/run/, updating /var/run/jitsi-videobridge/jitsi-videobridge.pid → /run/jitsi-videobridge/jitsi-videobridge.p>

:thinking: Yukarıdaki komut hemen kapanmazsa, çıkmak için Q tuşuna basabilirsiniz.

Kurulumda jitsi-meet paketi bağımlılığı olarak diğer paketleri de çekti:

  • openjdk-8-jre-headless: Java çalışma ortamı. Gerekli, çünkü Jitsi Meet Java dilinde yazılmıştır.
  • jicofo: Jitsi konferansı odaklaması ( systemctl status jicofo )
  • prosody: Hafif Jabber / XMPP sunucusu ( systemctl status prosody )
  • coturn: coturn TURN Sunucusu

Adım 2: Bağlantı Noktalarını Güvenlik Duvarında Açın

Jitsi Meet, aşağıdaki komutla görülebileceğiniz gibi birkaç UDP bağlantı noktasını dinler. (Ubuntu sunucunuzda netstat komutu yoksa, yüklemek için sudo apt install net-tools -y komutunu çalıştırabilirsiniz.)

sudo netstat -lnptu | grep java

Çıktı:

tcp6       0      0 :::8888                 :::*                    LISTEN      9330/java           
udp        0      0 0.0.0.0:5000            0.0.0.0:*                           9021/java           
udp6       0      0 :::5000                 :::*                                9021/java           
udp6       0      0 :::53640                :::*                                9330/java           
udp6       0      0 49.12.34.61:10000       :::*                                9021/java           
udp6       0      0 2a01:4f8:c17:4e2d:10000 :::*                                9021/java       

Katılımcıların bir web tarayıcısından video konferansa katılmasına izin vermek için 80 ve 443 numaralı TCP bağlantı noktasını açmanız ve videoyu ağ üzerinden aktarmak için UDP bağlantı noktası 10000 ve 5000’i açmanız gerekir. UFW güvenlik duvarını kullanıyorsanız, bu bağlantı noktalarını açmak için aşağıdaki komutları sırasıyla çalıştırın (Birinci komut UFW yoksa kuracaktır, ikinci komut SSH bağlantı noktasını tanımlayacaktır ve beşinci komut ise UFW’yi etkinleştirecektir.):

sudo apt-get install ufw -y
ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw allow 10000,5000/udp
ufw --force enable

Adım 3: Güvenilir Bir Let’s Encrypt TLS Sertifikası edinin

Jitsi ana bilgisayar adınız (konferans.sizinalanadiniz.com) için DNS A kaydı oluşturmak üzere DNS barındırma hizmetinize (genellikle alan adı kayıt kuruluşunuz) gidin. Ardından, güvenilir bir Let’s Encrypt TLS sertifikası almak için aşağıdaki komut dosyasını çalıştırın:

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

Önemli hesap bildirimleri almak için e-posta adresinizi girin. Sonra betiğimiz certbot-auto indirecek ve TLS sertifikası alacaktır.

Her şey yolundaysa, TLS sertifikalarının başarıyla alındığını ve kurulduğunu belirten aşağıdaki mesajı göreceksiniz:

Temiz bir Ubuntu 20.04 kurulumu kullanıyorsanız (18.04 veya 19.10’dan yükseltilmemiş), Let’s Encrypt sertifikası alırken muhtemelen aşağıdaki hatayı göreceksiniz:

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

Bunun nedeni Ubuntu 20.04 deposunda python-virtualenv paketi bulunmamasıdır. TLS sertifikası almak için certbot-auto ikili dosyasını kullanmak yerine, certbot paketini Ubuntu 20.04 deposundan kurabilir ve TLS sertifikası almak için kullanabiliriz.

sudo apt install certbot -y

Ardından, aşağıdaki komutla komut dosyasında certbot-auto değerini certbot olarak değiştirmeliyiz.

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

Komut dosyasını şimdi tekrar çalıştırın, Let’s Encrypt’den başarıyla TLS sertifikası alabilmeniz gerekir.

Bu komut dosyasının http-01 sorgusunu kullandığını, yani Apache veya Nginx web sunucunuzun genel IP adresinin 80 numaralı bağlantı noktasını dinlemesi gerektiği anlamına gelir. Sunucu ortamınız http-01 desteklemiyorsa, yukarıdaki komut dosyasını çalıştırmamalısınız. Diğer sertifika alma türlerini kullanmanız gerekir (Örneğin, Cloudflare):

sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email siz@sizinalanadiniz.com -d konferans.sizinalanadiniz.com

Adım 4: HTTP2’yi etkinleştirin

HTTP2 web sayfası yükleme hızını artırabilir. Nginx’te HTTP2’yi etkinleştirmek için sanal ana bilgisayar yapılandırma dosyasını düzenleyin.

sudo nano /etc/nginx/sites-enabled/konferans.sizinalanadiniz.com.conf

Aşağıdaki iki satırı bulun.

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

Sonlarına http2 ekleyin.

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

Dosyayı kaydedip kapatın. Ardından, değişikliğin etkili olması için Nginx’i yeniden yükleyin.

sudo systemctl reload nginx

Adım 5: Yeni Bir Konferans Başlatın

Şimdi https://konferans.sizinalanadiniz.com adresini ziyaret edin ve bir konferans başlatın.

:information_source: Ses aktarımı için web tarayıcısına mikrofon kullanım izni vermeniz gerekir.
:information_source: Video aktarımı için web tarayıcısına kamera kullanım izni vermeniz gerekir.

Toplantınıza bir ad verin ve Git düğmesini tıklayın. Toplantı başladıktan sonra, isteğe bağlı olarak toplantınız için bir parola belirlemeyi seçebilirsiniz.

Adım 6: Kullanıcı Kimlik Doğrulamasını Ayarlayın

Bu işlem için şu konudaki adımları uygulayabilirsiniz (20.04’te de işlem aynıdır):

Umarım bu eğitim Ubuntu 20.04’te bir Jitsi Meet sunucusu kurmanıza yardımcı olmuştur. Her zaman olduğu gibi, bu öğreticiyi yararlı bulduysanız, beğenebilir ya da alttan fikirlerinizi bizimle paylaşabilirsiniz.

Ayrıca şu konuları da incelemenizi öneriyorum:

1 Beğeni

Elinize sağlık hocam.Daha güncel bir makale kendi wikisinde de yoktur sanırım.

2 Beğeni

Aynen hocam güncel kalmak lazım :wink:

Anlatım çok güzel olmuş çok teşekkürler ben bu kurulumu yaptım ama jibri ile live stream veya recording yapmak istiyorum daha önce bir yazınızdan gördüğüm bash komutlarının ubuntu server 20.04 te çalıştıramadım. İnternetten izlediğim videolara göre yapmaya çalıştım ama bir türlü yayın veya kayıt alamadım. Bir yerlerde eksiklikler var ama nerde bilmiyorum. Acaba bu kurulumu yapanlar için live stream nasıl yapılacağına dair yardımcı olabilir misiniz. Çok teşekkür ederim.

Selamlar ve rica ederim,

Şu öğreticiyi Ubuntu 18.04 üzerinde denediniz mi (20.04 değil)?

merhaba öncelikle anlatım çok güzel olmuş elinize sağlık benim bir sorum olacak benim şimdi xampp üzerinde çalışan bir sistemim var fortigate ilede 80 portu o çalışan sisteme yönlenmiş durumda ben bunu farklı port üzerinden içeri erişip nasıl kullanabilirim şirkette metro ethernette var bağlantı konusunda sıkıntı yaşayacağımı düşünmüyorum ama portu egitim.alanadi.com.tr:8080 diye yapma şansım varmı bende firewall üzerinden portu yönlendirir kurulum yapabilirim birde içeride kurulum yapıyoruz domainadi egitim.alanadi.com.tr mi girmem gerek yoksa egitim.alanadi.com.tr:8080 mi girmem gerek yardımcı olursanız ve benim için bir makale hazırlayabilirseniz sevinirim büyük ihtimal birçok bilgi işlemde de aynı sorun vardır şimdiden yardımlarınız için çok teşekkür ederim.

@kudret_emre_Kocaman hocam yardımcı olabilir size belki :+1:

peki kendisine nasıl ulaşacağım acaba?

Kendisi müsait olunca bakacaktır mutlaka bildirim gitmiştir :+1: @kudret_emre_Kocaman

Merhabalar
Jitsi konferans sistemleri nat arkasında tcp 443 ve udp 10000 portu ile çalışmaktadır.
Siz dışardan wan ip adresinize gelen isteği port yönlendirme sistemi ile tcp 443 ve udp 10000 ile jitsi sunucu ip adresinize yönlendirmeniz doğru olacaktır.
Şirket içinde networkleriniz konuşuyor ise herhangi bir port ayarı yapmanıza gerek yoktur.
Dışardan 8080 ile gelip 443 e yönlendirme yapabilirsiniz fakat ; ssl sertifika sorunu yaşayabilirsiniz.
Ayrıca jtisi config dosyalarında da ayarları değiştirmeniz gerekecektir.
iyi günler

peki hyper v ile ubuntu desktop 2.04 lts sürümünümü yükliycem server kurulumumu yapayım yada minimalmi kurayım hangisi daha doğru olur acaba?

Merhaba
Hyper v altında ubuntu 18.04 veya 20.04 kurunuz.
Jitsi bir servis ve hizmettir. Onun için sunucu versiyonu kullanmak doğru olacaktır

üstad sağol kurulumu yaptım geçici olarak 80 portunu ubuntuya yönlendirdim sertifikayı aldım sonra eski haline çevirdim zaten 443 den çalıştığı için sorunsuz çalışıyor fakat ben direk giriş olduğunda yönlendirme yapmak istiyorum nasıl yapabilirim kimse şifreyi bilse bile oda oluşturamasın benim belirlediğim odaya direk girsin mesela konferans.alanadiniz.com/egitim bu sabit kalsın nereye girse buraya düşsün bunu nasıl yapabilirim

birde üstad ben sunumları video kaydı almak istiyorum fakat recording özelliğini bulamadım onu nasıl yapabilirim acaba?

Oda oluşturmayı interface_config.js dosyasından düzenleyebilirsiniz. Kayıt özelliği için ise sitede dökümanlar mevcut arama yapabilirsiniz.

aradım fakat bulamadım yardımcı olabilirseniz sevinirim

Dosya: /etc/jitsi/meet/alanadiniz.com-config.js
Yapılandırmalar;

Şunu bulun:

enableWelcomePage: true,

Şu şekilde dönüştürün:

enableWelcomePage: false,

dönüştürdüm ana sayfaya girince rasgele bir kanal oluşturturuyor ben bunu sabir yapmak istiyorum onu nasıl yapabilirim acaba?

Buradaki amacı ben anlamadım. Moderatör yetkisi tanımlayınca zaten kanal oluşturulmuyor. Sizde giriş yapacak kişilere konferans sistemi değilde sadece ilgili kanalın bağlantısını verebilirsiniz?

ben şöyle yapmak istiyorum kanal sabit olacak kim sayfaya girerse oraya gidecek birde şifre ile giriş yapan sadece ekran paylaşabilecek yani herşey sunumu yapan tarafından yönetilecek

2 gönderi yeni bir konuya bölündü: Jitsi kayıt özelliğini nasıl aktif edeceğim