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>
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.
Ses aktarımı için web tarayıcısına mikrofon kullanım izni vermeniz gerekir.
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: