Ubuntu 18.04 Üzerinde Jitsi Meet Kurulumu

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 18.04 LTS sunucusu üzerinde video konferans hizmeti oluşturma sürecinde size rehberlik edeceğim.

Bu öğreticiyi Ubuntu 20.04 Focal Fossa üzerinde uygulamak isterseniz:

Ön gereksinimler;

  • Temiz Ubuntu 18.04 LTS kurulu bir sunucu (DigitalOcean ve Vultr 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.siteniz.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

Takas bölümü kurun

2GB belleğe sahip bir makine için, sistem performansını artırmak amacıyla 2GB (2048M) takas bölümü oluşturulması önerilir.

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Unutmayın, farklı bir sunucu bellek miktarına sahipseniz, takas bölümünün boyutu değişebilir.

Ana bilgisayar adını ve tam etki alanı adını (FQDN) ayarlayın

Bir Let’s Encrypt HTTPS sertifikası dağıtarak HTTPS güvenliğini etkinleştirmeden önce makine için bir ana bilgisayar adı ve bir FQDN ayarlamanız gerekir.

Aşağıdaki komutlar, makine için bir ana bilgisayar adı konferans ve bir FQDN konferans.siteniz.com kuracaktır:

sudo hostnamectl set-hostname konferans
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 konferans.siteniz.com konferans/g' /etc/hosts

Komut sonuçları onaylayın:

hostname
hostname -f

Jitsi Meet’ı çalıştırmak için güvenlik duvarı kurallarını değiştirin

Jitsi Meet’ın istediği gibi, OpenSSH, HTTP ve HTTPS trafiğine ve 10000 ile 20000 arasındaki bağlantı noktalarında gelen UDP trafiğine izin vermeniz gerekir:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw allow in 10000:20000/udp
sudo ufw enable

“Command may disrupt existing ssh connections. Proceed with operation (y|n)?” uyarı alırsanız, “y” yanıtını girin ve ENTER tuşuna basın.

Sistemi güncelleyin ve yeniden başlatın

Güvenlik ve performans kaybı yaşamamak amacıyla, Ubuntu 18.04 LTS sistemini en son sürüme güncellemek ve stabilite açısından yeniden başlatmak gerekir:

sudo apt update
sudo apt upgrade -y
reboot

Yükseltme sırasında grub yapılandırma dosyasının şu anda yüklü sürümünün yerel olarak değiştirildiği ( install the package maintainer’s version) şeklinde bildirilebilir. Değişiklikten biz sorumlu olmadığımız için, paketinin kendi sürüm kurulumunu yüklemeyi seçmek için YUKARI ok tuşunu kullanın ve ENTER tuşuna basın.

Sistem yeniden başlatıldıktan sonra, devam etmek için aynı sudo kullanıcısı olarak tekrar oturum açın.

OpenJDK Java Runtime Environment (JRE) 8 yazılımını yükleyin

Jitsi Meet için Java Runtime Environment gerekir. OpenJDK JRE 8’i yükleyin:

sudo apt install -y openjdk-8-jre-headless

OpenJDK JRE 8 kurulduğunda, sonucu doğrulamak için aşağıdaki komutu kullanın:

java -version

Çıktı aşağıdaki gibi olacaktır:

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

Ayrıca, JAVA_HOME ortam değişkenini aşağıdaki gibi ayarlamalısınız:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

Nginx web sunucusunu kurun

Jitsi Meet’in daha iyi hizmet verebilmesi için, Jitsi Meet’i kurmadan önce bir Nginx web sunucusu kurmalısınız:

sudo apt install -y nginx
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Nginx kurulduktan sonra, Jitsi Meet yükleyicisi bu işi daha sonra sizin için halledeceğinden manuel olarak yapılandırmanıza gerek yoktur.

Nginx veya Apache kurulu değilse, Jitsi Meet yükleyicisi Jetty’yi Jitsi Meet programıyla birlikte otomatik olarak kuracaktır.

Jitsi Meet’i yükleyin

Modern bir Ubuntu veya Debian sisteminde, Jitsi Meet’i resmi Jitsi deb repo’yu kullanarak kolayca kurabilirsiniz.

cd
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt update -y

Ardından Jitsi Meet’ın tam paketini yükleyin:

sudo apt install -y jitsi-meet

Yükleme sırasında, geçerli yüklemenin ana bilgisayar adını sağlamanız istendiğinde, daha önce ayarladığınız FQDN yani konferans.siteniz.com adresini yazın ve ENTER tuşuna basın.

SSL sertifikası sorulduğunda, Yeni kendinden imzalı sertifika oluştur (Generate a new self-signed certificate) seçeneğini seçin ve ENTER tuşuna basın (Daha sonra Let’s Encrypt sertifikası alma şansınız olacak).

Jitsi Meet başarıyla yüklendikten sonra, Let’s Encrypt SSL sertifikası için başvurmak üzere aşağıdaki komut dosyasını kullanın:

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

İşlem sırasında, istendiğinde posta@adresiniz.com e-postanızı girin ve ENTER tuşuna basın. Bu komut dosyası, Let’s Encrypt SSL sertifikasıyla ilgili tüm görevleri otomatik olarak işleyecektir.

Kullanıcı Kimlik Doğrulamasını Ayarlayın

Bu işlem için şu konudaki adımları uygulayabilirsiniz:

Son olarak, Jitsi Meet Video konferans hizmetinize erişmek için favori web tarayıcınızı açın ve http://konferans.siteniz.com ya da https://konferans.siteniz.com adresine gidin. Arayüzü ve sistemi keşfetmekten çekinmeyin :slight_smile: GO düğmesine tıkladığınızda hemen sizin için bir Video konferans kanalı oluşturulur.

Herhangi bir sorunla karşı karşıyaysanız, bu makaleyi yanıtlamaktan çekinmeyin :point_down:

Ayrıca bakınız;

Kurulumu gerçekleştirdim şu an herşey çok güzel çalışıyor ancak kullanıcı yetkilendirme ile ilgili bir içerik bulamadım GitHub - jitsi/jicofo: JItsi COnference FOcus is a server side focus component used in Jitsi Meet conferences. burada paylaşılmış olanı yapmaya çalıştığımda ilgili urle girmek istediğimde her şey kullanıcı adı şifre istemeden oluyor ancak yayın açtığımda kamera v.b. açılmıyor. Aslında amacım linke ulaşan herkesin yayın açamaması tanımladığım kişilerin yayın açabiliyor olması bu konu ile ilgili çözüm fikriniz var mı ya da linkte olanı nasıl uygulayabilirim
Not: jitsi meet’i sizin anlatımınızda yer alan adımlarla kurdum.

Hoş geldiniz, harika! Aslında izlediğiniz yol ve rehberiniz doğru. Sadece yapılandırma hatanız var, muhtemelen. İşlemleri Jicofo ile mi yaptınız mı? Yoksa manuel düzenleme mi uyguladınız? Ve uygulamanız sonrası sunucuda bir sorun oluştu mu? Muhtemelen bir sonraki yanıtım sizin sorununuzu çözecektir.

rehberde anlatıldığı gibi yaptım jicofo denedim sanırım ancak 5. adıma kadar geldiğimde beşinci adımda ne yazık ki orada bir dosya yoktu kilitlendim açıkcası. Yayın açmıyor kapat v.b. tuşlar çalışmıyordu ardından yaptığım değişiklikleri geri aldığımda tekrar sistem çalışmaya başladı. Tam net olabilmesi adıne Secure Domain başlığının altını uygulamaya çalıştım. Secure Domain başlığından hemen öncesinde sizin adımlarınız ile yaptığım kurulum dışında herhangi bir şey yapmamıştım. Sanırım jicofoyu bile kurmamış olabilirim :slight_smile:

Tamam, muhtemelen Jicofo ya da Jigasi olmadan sadece bu anlatımdaki gibi basit olan direk Jitsi Meet sürümünü kurdunuz. Sizin isteğiniz aslında biraz daha gelişmiş bir yapılandırma. Sizden ricam şu konumdaki adımları uygulamanızdır. Daha doğrusu uygulama derken her şey otomatik olarak kurulacaktır :slight_smile: Bu otomatik yükleyici kurulum sırasında sizden “…prosody…” ve “…secure rooms…” şeklinde talepte bulunduğu zaman “Y” yanıtı sonrası bir kullanıcı ve şifre tanımlayabilirsiniz. Sonrasında kurulum bitince mevcut kullanıcıya ek olarak kullanıcılar tanımlayabileceksiniz. Bunu size önerme amacım çok fazla uğraşmamanızı istememdir. Jigasi ve Jicofo kurulumu otomatik olarak betik tarafından yapılacaktır. Siz sadece sizden istenilen bilgileri gireceksiniz.

Bu kurulu yapmadan önce ki muhtemelen bulut sunucuya kurdunuz Jitsi Meet’i, yeniden kurun lütfen sunucunuzu. Temiz bir kurulum olası sorunları ortadan kaldıracaktır. Jitsi kurmanıza gerek yok. Bu betik Jitsi Meet’i de kuracaktır.

Ek olarak kurulum sonrası yine aynı dizinde altta verdiğim komutla kullanıcılar tanımlayabilirsiniz;

prosodyctl register KULLANICI jitsi.siteniz.com PAROLA

Sanırım bir yerde bir şey kaçırıyorum kurulumu tamamladım sunucuyu reboot etti 30 saniye sonra siteye girmeye çalıştığımda siyah bir ekran ile karşılaşıyorum kaynak kodlarına da baktığım da aşağıda yer alan görsellerdekileri görüyorum ancak sorunun tam olarak ne olduğunu çözemedim :confused:

Güvenli kanalları evet dedim, jigasi için evet dedim, lets encrypt için evet dedim


Temiz kurulum yaptınız değil mi? interface_config.js ve config.js dosyalarının size özel olan kısımlarını sansürleyip buradan iletir misiniz kontrol edelim.

Dosyaların konumlarına şu makalemden bakabilirsiniz;


şifre koyuyorum ancak android ve bilgisayardan giriyorum iphone üzerinden giremiyorum nasıl bir çözüm önerirsiniz

Selam, şifrenizde orta tire simgesi var mı? Ve kurulumu hangi siteden hangi anlatımla yaptınız? Ekran görüntünüz garip.

Merhaba bana mail yoluyla ulaşabilir misiniz?

MUHYAL’da hesap oluştururken yazmış olduğunuz e-posta adresi ile bir defaya mahsus iletişime geçildi. Lütfen destek için yalnızca burayı kullanalım.

Merhabalar;

Öncelikle güzel anlatımız için teşekkür ederim.
Kurulumu gerçekleştirirken source /etc/profile/ adımında hata almama rağmen şuan sistem çalışıyor.

Açtığımız sitede toplantı oluşturmayı nasıl kısıtlaya biliriz ?
yani kullanıcılar oluşturarak , sadece o kişilerin toplantı oluşturmasını sağlaya bilir miyiz?
ve ayrıca nedense mobil uygulamadan giren kullanıcılar, odaya girebildiği halde ses ve görüntüsü gelmiyor.

Kayıt oldugum email adresinden bana ulaşırsanız çok memnun olurum.

Merhabalar, maalesef e-posta adresi ile kimseye ulaşmıyorum o bir defalık bir durumdu ve arkadaşımız bir kaç yerden yazmıştı kırmak istemedim. Destek için burayı kullanabilirsiniz. Mobilden girmeden önce uygulama içerisinden Settings kısmından kendi sunucu bağlantınızı girmeniz gerekir. O kanal açanlar muhtemelen demo sunucuda açıyorlar. şu an.

Şu önceki yanıtımdaki adımları temiz sunucunuzda yeniden uygulayarak ve kurulumda “secure rooms” kısmını da yanıtlayarak şifreleme adımlarını yapabilirsiniz. Direkt arayüzden kullanıcı oluşturma ve yetki tanımalama yok maalesef Jitsi’de.

İlgili yanıtım;

Merhabalar Muhammed Bey,

Öncelikle bu temiz anlatımınız için teşekkür ederim.

DNS ağ kaydı kısmını tam olarak anlayamadım. Bunu yapabilmek için ille host üzerinde bir web sitemiz mi olması gerekiyor. Ben alan adı satın alıp Özel Nameserver (NS) dan konferans.siteadımı.com olarak yazdım ve ubuntu sunucumun ip adresini yazdım. Bu yeterli olmaz mı.

Birde bu kodu girdiğim de hiçbir hata vermemesine rağmen host içerisinde bu düzenlemeyi yapmıyor.

sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 konferans.siteniz.com konferans/g' /etc/hosts

Ekran görüntülerinide ekliyorum.

Teşekkürler Muhammed Bey;
Anladıgım kadarıyla yeni bir kurulum yapmacağım. Bu kurulumu ise aşağıdaki şekilde yapmam gerekiyor.

Selam, hoş geldiniz öncelikle ve ben teşekkür ederim asıl :slight_smile:

Şu şekilde tekrar adım adım gidelim dilerseniz;

  1. Bir alan adı firmasından gittim muhammedyalcinkaya.com alan adını aldım.
  2. Sonra bu alan adına konferans.muhammedyalcinkaya.com olarak bir Jitsi kurmak istedim.
  3. Sonra gittim bulut sunucu satan bir yerden 1.2.3.4 IP adresi olan bir sunucu aldım.

Bu senaryoya göre sadece alan adını aldığım yerdeki DNS panelinden konferans şeklinde bir A kaydı açmam ve bu kayda hedef olarak 1.2.3.4 IP adresini göstermem yeterli olacaktır. Sonrasında ise buradaki kurulum geçerli.

Yani ilgili kısımlar şu şekilde olmalı;

sudo hostnamectl set-hostname konferans

sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 konferans.muhammedyalcinkaya.com konferans/g' /etc/hosts 

Siz özel NS kısmından demişsiniz ama galiba yanlışlık orada :slight_smile: DNS ekleme kısmından yapmalısınız. Zaten mevcutta alan adı firmanız size DNS paneli vermiştir. NS1 & NS2 gibi olan yer değil.

Eğer yanlış anladıysam sorunuzda lütfen daha açıklayıcı olun elimden geldiğince yardımcı olurum :handshake:

1 Beğeni

Evet, direkt verdiğim konudaki işlemleri temiz bir sunucuda uygulayabilirsiniz. Farkı ise sadece Jitsi değil, kayıt ve kullanıcı yönetimi gibi kilit işlevlere sahip, Prosody de içeren Jicofo ve Jigasi’yi de kurmuş olacaksınız.

Şimdi anladım… biraz paneli kurcaladım ve DNS ayarlar kısmını buldum. Gerekli eklemeyi yaptım. 1 ile 4 saat arasında aktif olucağı bildirimini yaptı. :+1:

Ancak hosts kısmında sorun yaşamaya devam ediyorum. Paylaştığınız kodu defalarca yazmama rağmen hala bir değişiklik olmadı. Acaba sizdeki hosts dosyasını içini özel yerleri gizleyip paylaşabilir misiniz ben kendim manuel olarak değiştirmem gereken yerleri görüp değişiklik yapsam. veya önerebileceğiniz başka bir şeyler varsa onlarıda deneyebilirim. Ekran görüntümü ekliyorum. Sanırım bu aşamayıda atlatabilirsem. Kurulum işlemeni başarıyla gerçekleştiriceğimi düşünüyorum :slight_smile:

Harika! Ama bunun için host dosyası iletmeme gerek yok. Terminalinizden;

nano /etc/hosts

Komutunu girin host dosyanız açılacak zaten. Alttaki ekran görüntüsünde olduğu gibi alan adı kısımlarını manuel düzenleyin.

1 Beğeni

Muhammed hocam selamlar eline sağlık çok faydalı bi dokuman. Jitsiyi kurdum ad entegre olarak çalışıyor. Lets en. den sertifika yükledim orada da sorun yok fakat android de jitsi meet çalışmıyor.Ses ve görüntü gelmiyor fakat chat ve diğer özellikler çalışıyor. Loglara baktığıma herhangi bir hatada almıyorum sorun ne olabilir. Teşekkürler