Open Source

Jitsi Meet Kurulum İşlemleri

Bu makalemizde Jitsi  Meet kurulum işlemlerini ele alıyor olacağız. Öncelikle Jitsi Meet nedir kısaca bunlardan biraz bahsedelim.
Jitsi Meet, web platformlu, Windows, Linux, macOS, IOS ve Android için ücretsiz ve açık kaynak ses, video konferans ve anlık mesajlaşma uygulamasıdır. Jitsi Meet ücretsiz olarak kendi sitesi olan “https://meet.jit.si” adresi üzerinden video konferans imkânı sunmaktadır. Mobil platform üzerinden mağazalara girerek Jitsi Meet uygulamalarını ücretsiz olarak indirebilirsiniz. Günümüzde korona virüs salgını nedeni ile video konferans uygulamalarına talepler aşırı şekilde artmış durumdadır. Bu makaleyi okuyarak, sizler de kendi sistemlerinize benzer bir yapı kurgulayabilir ve sonrasında video konferans hizmeti verebilirsiniz.

Ön gereksinimler;

  • Ubuntu Server 20.04 LTS
  • Sanal Makine Minimum Kaynak Gereksinimleri (1vCpu, 2GB Ram, 25GB HDD,)
  • Putty
  • DNS Sunucusu
  • Sudo yetkilerine sahip bir kullanıcı veya root kullanıcısı
  • SSH erişimi
  • SSL Sertifika için Mail Hesabı
  • Jitsi Meet Sunucusuna 80 ve 443 nolu portlar ile internetten erişilebilirlik

    Genel Özellikler;
  • Sınırsız kullanıcı desteği
  • URL ile katılımcıları davet edebilir
  • Kuruluma gerek olmadan çalıştırılabilir
  • Ubuntu ve Debian için kolay kurulum paketleri sunmaktadır
  • Bilgisayara ve Mobil cihazlara uyguluma kurma imkânı sunmaktadır “https://desktop.jitsi.org/Main/Download”
  • On premise ve cloud kurulum imkânları sunmaktadır
  • Güvenli ve şifreli video konferans yapılmaktadır

Kurulum adımlarına geçmeden öncesinde edindiğim tecrübelerden dolayı tavsiyem gerçekten performans almak istiyorsanız. Video konferans sunucunuzu bulut üzerine fiziksel bir sunucu üzerinize kurmanız faydalı olacaktır.
Not: Kurulum bilgilerinizi kendinize göre özelleştirmeyi unutmayınız. “konferans.alanadınız.com”

*DNS Kaydı Oluşturulması*
Kuruluma geçmeden önce DNS sunucumuzda A kaydı oluşturalım.

*Sistemin Güncellenmesi ve Gerekli Paketlerin Kurulması*

Yetkili kök kullanıcısına (root) geçiş yapalım.
# sudo su
Kullanıcı şifremizi girelim.

Tüm depolarda en son paket sürümlerini alalım.
# apt update

HTTPS aracılığıyla sunulan uygun havuzlar için destek komutunu girelim.
# apt install apt-transport-https

Ubuntu sistemlerinde Jitsi, Ubuntu’nun Universe paket deposundan bağımlılıklar gerektirir. Bunun etkinleştirildiğinden emin olmak için aşağıdaki komutu çalıştıralım.
# apt-add-repository universe

Tüm depolarda en son paket sürümlerini alalım.
# apt update

*Ana Bilgisayar Adı ve Etki Alanı (FQDN) Ayarlanması*

Hostname adımızı belirleyelim.
# hostnamectl set-hostname konferans

# nano /etc/hosts ile editöre girelim. FQDN ve IP adres bilgilerimizi güncelleyelim.
127.0.0.1 localhost
10.106.250.101 konferans.cozumpark.com
İşlemleri tamamladıktan sonra “Ctrl+x” tuş kombinasyonundan sonra “Y” tuşuna basıp “Enter” ile kaydediyoruz.

FQDN adresimizi kontrol amaçlı bir ping işlemi gerçekleştirelim.
# ping konferans.cozumpark.com

*Jitsi Meet Paket Deposunun Eklenmesi*

Jitsi Meet paketlerinin kullanılabilmesi için jitsi havuzunu paket kaynaklarını ekleyelim.
# curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c ‘gpg –dearmor > /usr/share/keyrings/jitsi-keyring.gpg’

# echo ‘deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/’ | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

Tüm paket kaynaklarını güncelleyelim.
# apt update

*Güvenlik Duvarının Yapılandırılması*

Jitsi Meet sunucusuna trafiğe izin vermek için güvenlik duvarınızda aşağıdaki bağlantı noktalarının açık olması gerekir:

  • 80 TCP – Let’s Encrypt ile SSL sertifika doğrulaması / yenilemesi için
  • 443 TCP – Jitsi Meet’e genel erişim için
  • 4443 TCP – yedek ağ video / sesli iletişimi için (örneğin UDP engellendiğinde)
  • 10000 UDP – genel ağ video / ses iletişimi için
  • 22 TCP – sunucunuza SSH kullanarak erişirseniz (bağlantı noktası 22 değilse uygun şekilde değiştirin)

Aşağıdaki komutları sırayla girelim.
#ufw allow 80/tcp
#ufw allow 443/tcp
#ufw allow 4443/tcp
#ufw allow 10000/udp
#ufw allow 22/tcp
#ufw enable
“Y” tuşuna basarak onaylıyoruz.

Güvenlik duvarı durumunu kontrol edelim.
# ufw status verbose

*Jitse Meet Paketinin Yüklenmesi*

Jitsi Meet yüklenirken Nginx veya Apache’nin mevcut olup olmadığını kontrol edecek ve Jitsi Meet’e hizmet etmek için bulduğu web sunucusu içinde bir sanal ana bilgisayar yapılandıracaktır. Yukarıdakilerden hiçbiri bulunmazsa, varsayılan olarak Nginx olur.
Aynı makinede 443 numaralı bağlantı noktasında zaten Nginx çalıştırıyorsanız, çevirici yapılandırması, mevcut bağlantı noktası 443 ile çakışacağından atlanacaktır. Bizim kurulumumuzda web sunucu olmadığı için Nginx olacaktır.
# apt install jitsi-meet

“Y” tuşuna basarak “Enter” ile yükleme işlemini onaylıyorum.

Hostname kısmında FQDN ismimizi giriyoruz. “konferans.cozumpark.com”

Bu kısım önemli SSL sertifika eğer Let’s Encrypt kullanacaksanız, “Generate a new self-signed certficate You will later…” seçeneği ile devam ediyoruz. Eğer Comodo,Globalsign SSL vb. kullanacaksanız. “I want to use my own certificate” seçeneği ile devam ediyoruz. Önerilen Let’s Encrypt sertifikasıdır. Aksi taktirde problem yaşamanız yüksek ihtimal. Bu aşamayı tamamlamadan önce TLS sertifikası yapılandırma kısmını okuyunuz. Biz ilk seçenek ile devam ediyoruz.

*TLS Sertifikası Yapılandırması*

Şifreli iletişime sahip olmak için bir TLS sertifikasına ihtiyacınız vardır.
Jitsi Meet’in kurulumu sırasında farklı seçenekler arasından seçim yapabilirsiniz:

  • Önerilen, yeni bir kendinden imzalı sertifika oluştur seçeneğini ve daha sonra bir Lets-Encrypt Sertifikası oluşturmaktır.
  • Ancak farklı bir sertifika kullanmak istiyorsanız veya farklı bir Let’s Encrypt sınama türü seçmek istiyorsanız önce bu sertifikayı oluşturmalı ve ardından Jitsi Meet’i kurmalı ve Kendi sertifikamı kullanmak istiyorum seçeneğini seçmelisiniz.
  • Kendinden imzalı sertifikayı da kullanabilirsiniz, ancak Jitsi Meet mobil uygulamaları, güvenilir bir Sertifika Yetkilisi tarafından imzalanmış geçerli bir sertifika gerektirir ve kendinden imzalı bir sertifika seçerseniz sunucunuza bağlanamayacaktır.

Jitsi Meet sunucusunun 80 ve 443 bağlantı noktalarında genel internet erişimi olması gerektedir aksi taktirde sertifika başarılı olmayacaktır. Firewall üzerinden gerekli izin ve yönlendirmeleri yapınız.

Bu kısımda önerilenlere uyarak Let’s Encrypt sertifikası kullanacağız.
# sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Kendimize ait Mail adresimizi giriyoruz. (Gmail,Hotmail vb. olabilir.)
# info
@mehmetöz.com

Web tarayıcısı açıyorum ve sertfikanın geçersiz olduğunu görüyorum. Eğer böyle bir hata alırsanız. 80 ve 443 bağlantı noktalarında genel internet erişiminin olup olmadığını kontrol ediniz. TLS Sertifika Yapılandırma kısmını tekrar okuyup gerekli izinleri veriniz.

*Jitsi Meet Kaldırılması* (İsteğe Bağlı)

Eğer Jitsi Meet’i herhangi bir sebepten dolayı kaldırmak isterseniz aşağıdaki komutu yazmanız yeterlidir.
# apt purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2
“Y” seçeneğini seçip “Enter” ile devam ediyoruz.

Bazen aşağıdaki paketler düzgün bir şekilde kaldırılamaz:

  • jigasyon
  • jitsi-videobridge

Bu durumda, kaldırma komutunu ikinci kez çalıştırmanız yeterli olacaktır.

*Jitsi Meet Log Dosyaları* (İsteğe Bağlı)

Eğer herhangi bir sorun yaşarsanız, günlük dosyalarını editör ile açıp kontrol edebilirsiniz.
# nano /var/log/jitsi/jvb.log
# nano /var/log/jitsi/jicofo.log
# nano /var/log/prosody/prosody.log

Çıkış yapmak için, “Ctrl+x” sonrasında “N” tuşuna basarak, “Enter” ile çıkış yapabilirsiniz.

*Kurulum Sonrası Test İşlemleri ve Önemli Bilgiler*

Bir web tarayıcısı (Firefox, Chrome veya Safari gibi) başlatın ve önceki adımdaki ana bilgisayar adını veya IP adresini adres çubuğuna girin.
Yeni bir toplantı oluşturmanızı isteyen bir web sayfası görmelisiniz. Toplantı adını cozumpark olarak giriyorum ve diğer katılımcıları https://konferans.cozumpark.com/cozumpark (https://FQDN/odaadı) bilgilerini vererek davet ediyorum.

Artık Jitsi Meet sunucunuza erişimi olan herkes bir konferans başlatabilir, sunucunuz dünyaya açıksa, herkes başka biriyle sohbet edebilir. Tebrikler 🙂

Not: Tarayıcıların WEBRTC desteğini kontrol etmek için https://test.webrtc.org adresinden Web Kamera ve Mikfrofon kontrollerini yapabilirsiniz.
Not: SSL sertifika işlem sonunda hata alırsanız, Jitsi Meet sunucusunun 80 ve 443 bağlantı noktalarında genel internet erişimini kontrol ediniz.
Not: Katılımcılar mobil cihazlarından (IOS, Android) bağlantı kurarken sorun yaşıyor ise SSL sertifikanızı kontrol ediniz.
Not: Katılımcılar birbirlerini göremiyor veya duyamıyorsa, güvenlik duvarı / NAT kurallarınızı iki kez kontrol edin.
Not: Güvenlik duvarınız UDP paketlerini saldırı olarak algılayabilir, bu durumda konferansta görüntü gelmez ise güvenlik duvarınızı kontrol etmeyi unutmayınız.

Makalenin başında söylediğim gibi eğer on premise (kendi sunucularınızda) kullanırsanız, biraz teferruatlı olabiliyor o yüzden cloud (bulut) üzerinde kullanmanız daha verimli olacaktır. Jitsi Meet kurulumunu açıklayıcı bir şekilde anlatmaya çalıştım. Sorun yaşadığınız yerleri yorumlarda belirtebilirsiniz. İkinci makalemizde Jitsi Meet özelleştirme işlemlerini gerçekleştireceğiz. Başka bir makalede görüşmek üzere. Sağlıcakla kalın.

İlgili Makaleler

16 Yorum

      1. Arkadaşların kurmuş olduğu bir sunucuya giriyorum, bağlantım kesilmemesine ve iyi olmasına rağmen bağlantınız kesildi tekrar bağlanıyor diyor ve tıkladığım gibi tekrar bağlanıyor. Yaklaşık 1-2 dakika da bir düşüyorum görüşmeden. Sebebi nedir? Aynı ağ üzerinden telefonla katıldığımda sorun olmuyor ama pcde sürekli bu problem var.

  1. Güzel bir makale olmuş.
    Ellerinize sağlık.

    Bu kurulumdan sonra Jitsi menülerinde youtube’ canlı yayın ve sohbetin kaydedilmesi ile ilgili menülerin çalışmadığını gördüm.
    Acaba kurulumda bir hata yapmış olabilir miyim yoksa bu 2 özellik için ek kurulumlar mı yapılması gerekiyor?
    Eğer ek kurulum yapılması gerekiyor ise onlar ile ilgili makale ne zaman gelir 🙂 (biraz yüzsüzlük yapalım)

    1. Teşekkürler Mehmet bey o özellikleri kullanmadım ama hata kodunu söylerseniz daha hızlı çözüm sağlayabiliriz. Belki gözden kaçan bir şeyler vardır. Elimizden geldikçe makale yazmaya çalışıyoruz, isteyin yeter ki☺️

      1. Canlı yayını başlat dediğin de;
        Canlı Akış başlatılamadı.
        Canlı Akış başarısız oldu. Lütfen tekrar deneyin.
        uyarısı geliyor.
        Bu noktada;
        nano /var/log/jitsi/jvb.log
        nano /var/log/jitsi/jicofo.log
        nano /var/log/prosody/prosody.log
        3 dosyada da log kaydı oluşmamış gözüküyor.
        Açıkçası sözün bittiği bilgiye ihtiyaç duyulan bir noktaya geldim 🙂

        1. EE acemilik böyle birşey olsa gerek 🙂 Yıllarca kod yazmadan herşeyi tıklama ile çözünce 🙂 Yazarken hatalar yapıyoruz.
          jvb.log – aşağıdaki gibi kayıt oluşturuyor 🙂 ve bu düzenli olarak tekrarlanıyor.
          2021-01-02 13:56:59.561 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:09.560 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:19.561 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:29.560 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:39.560 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:49.561 INFO: [24] HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
          2021-01-02 13:57:49.612 INFO: [22] VideobridgeExpireThread.expire#140: Running expire()

  2. Mehmet bey öncelikle anlatımınız için teşekkürler faydalı bir anlatım olmuş. Size bir kaç sorum olacak.
    – DNS sunucusunda A kaydı oluştururken yazdığınız IP adresi public ip adresiniz mi acaba
    – Bu şekilde kurulum yaptığımda benim domainime gittiğim zaman IIS default sayfası açılıyor bu konuda destek olabilir misiniz?

    Şimdiden teşekkürler

    1. Merhaba Murat bey, rica ederim.
      – DNS sunucusunda A kaydı oluştururken yazdığınız IP adresi public ip adresiniz mi acaba ( Hayır, private ip adresi ama dışarıdan erişim olmasını isterseniz, public ip adresini de belirtmeniz gerekecektir. Ek olarak firewall ayarlarını da yapmanız lazım.)
      – Bu şekilde kurulum yaptığımda benim domainime gittiğim zaman IIS default sayfası açılıyor bu konuda destek olabilir misiniz? ( IIS Microsoft Web sunucusu, bu kısımda DNS kayıtlarında sorun olabilir. Artık kalmış olabilir, örnek example.com (kendi alan adınız) ping attığınız zaman jitsi meet sunucu ip adresine gitmesi gerekmektedir.) Bunları kontrol edebilir misiniz? Yoğunluktan biraz geç dönüş yapabildim. Sağlıcakla kalın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu