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.