Hızlı Özet – VPS Üzerinde Jitsi Meet
Jitsi Meet ile kendi toplantı sunucunuzu çalıştırabilirsiniz; kurulumun tamamlanması için web erişimi kadar medya bağlantısı ve oda yetkileri de doğrulanmalıdır. Ortam ve kaynak değerleri varsayımsal laboratuvar içindir, ölçülmüş kapasite değildir.
- Başlangıç ortamı — Temiz Ubuntu Server 24.04 LTS amd64 üzerinde 4 vCPU, 8 GiB RAM ve 40 GiB SSD, katılımcı garantisi vermeyen başlangıç varsayımıdır.
- Alan adı hazırlığı — Kontrol ettiğiniz alan adının A kaydını VPS'nin gerçek genel IPv4 adresine yönlendirin; IPv6 yapılandırılmadığı için AAAA kaydı yayımlamayın.
- Ağ erişimi — UFW ve sağlayıcı güvenlik duvarında TCP 80/443 ile UDP 10000 erişimini açın, SSH TCP 22 erişimini gerçek yönetim adresinizle sınırlandırın.
- Paket ve HTTPS — Jitsi'nin resmi stable APT deposunu kullanın, kurulu paket revizyonlarını kaydedin ve gerçek alan adınız için geçerli sertifika edinin.
- Toplantı yetkileri — Secure domain ile oda oluşturmayı doğrulanmış hesaplara ayırın; misafir katılımını, lobiyi ve toplantı parolasını ayrı kontroller olarak değerlendirin.
- İşletim doğrulaması — En az üç istemciyle medya yolunu sınayın, kaynak ve trafik kullanımını ölçün, sunucu dışı şifreli yedeğin geri yüklenmesini kontrol edin.
Toplantı sayfasının açılması, Jitsi sunucunuzun hazır olduğunu göstermez. VPS Jitsi Meet kurulumu; Ubuntu üzerinde resmi paketlerin kurulmasını, DNS ve HTTPS ayarlarını, medya için UDP 10000 erişimini ve oda oluşturma yetkilerinin sınırlandırılmasını gerektirir. 4 vCPU ve 8 GiB RAM başlangıç varsayımıdır; kullanılabilir kapasiteyi en az üç istemcili testler ve trafik ölçümleriyle doğrulamanız gerekir.
İçindekiler
- Önce kapasite beklentisini belirleyin
- DNS ve güvenlik duvarı kurulumdan önce hazır olmalı
- Resmi depodan Jitsi Meet paketlerini kurun
- Geçerli HTTPS yetmez: medya erişimini de doğrulayın
- Oda açmayı kimlik doğrulamayla sınırlandırın
- Üç istemciyle sınayın, kapasiteyi ölçerek büyütün
- Yedek ve güncelleme planını ilk toplantıdan önce tamamlayın
- İlk Toplantıdan Önce Kontrol Edin
- Sık Sorulan Sorular
- Kaynaklar
Önce kapasite beklentisini belirleyin
İki kişinin sorunsuz görüşmesi, yirmi kişinin kameralarını açtığı toplantının da rahat geçeceğini göstermez. Yük değişir. VPS Jitsi Meet kurulumu için katılımcı sayısını tek başına kapasite ölçüsü kabul etmeyin; eşzamanlı oda sayısını, hedef çözünürlüğü, açık kameraları ve sunucudan çıkan toplam medya trafiğini birlikte değerlendirin.
Jitsi Meet tarayıcıdaki toplantı arayüzünü sağlar; Nginx arayüzü HTTPS üzerinden sunar. Prosody, XMPP üzerinden kimlik doğrulama ve oturum sinyalleşmesini yürütür. Jicofo konferansı koordine eder ve medya köprüsünün seçimini yönetir. Jitsi Handbook’un secure domain belgesinde de erişim denetimi için Prosody ve Jicofo birlikte yapılandırılır – yalnızca web sunucusunu ayarlamak yeterli değildir.
Medya tarafında Jitsi Videobridge 2 çalışır. Bir SFU olarak istemcilerden aldığı akışları diğer katılımcılara seçerek iletir; görüntüleri tek bir birleşik videoya dönüştürmez. İki katılımcılı görüşmelerde, yapılandırma ve bağlantı koşulları uygunsa medya doğrudan istemciler arasında P2P akabilir. Daha kalabalık görüşmeler köprüyü kullanır; iki tarayıcıyla kontrol yapmak, köprünün toplantı yükünü göstermeyebilir.
Varsayımsal laboratuvarımız temiz Ubuntu Server 24.04 LTS amd64, systemd, dağıtımın Nginx 1.24.x paketi ve Jitsi’nin resmi stable APT deposundaki Jitsi Meet 2.0 paket ailesini kullanır. Jicofo, Jitsi Videobridge 2 ve Prosody bağımlılıkları bu paketlerle uyumludur. 4 vCPU, 8 GiB RAM ve 40 GiB SSD başlangıç varsayımıdır; belirli bir katılımcı kapasitesini garanti etmez. Tam paket revizyonları kurulum tarihinde kaydedilecek, sonraki adımlarda aynı paket kümesi esas alınacaktır.
Katılımcı sayısı potansiyel alıcıları, açık kamera sayısı video kaynaklarını artırır. Çözünürlük ve kare hızı akış başına bant genişliğini etkiler; alıcıların görüntü düzeni ve kalite uyarlaması iletilen katmanları değiştirir. Eşzamanlı odalar aynı CPU, bellek ve ağ bütçesini paylaşır. Aynı toplam katılımcı sayısının farklı oda dağılımlarında aynı yükü üretmesini beklemeyin.
Çıkış trafiğine özellikle bakın: köprü aynı görüntüyü birden fazla alıcıya iletebilir. VPS’nin doğrudan atanmış tek genel IPv4 adresi, sağlayıcı konsol erişimi ve en az 1 Gbit/s olarak sunulan bağlantısı bulunduğu varsayılır. Port hızı, sürdürülebilir aktarım garantisi değildir. Gerçek bant genişliğini, trafik kotasını ve aşım ücretini doğrulayın; kaynak takibini VPS’te Prometheus ve Grafana ile İzleme yaklaşımıyla planlayabilirsiniz.
Kayıt ve canlı yayın sağlayan Jibri bu kurulumun dışındadır. Bunlara ihtiyaç duyuyorsanız toplantı sunucusunun başlangıç bütçesine güvenmek yerine ayrı kaynak ayırın.
İpucu
4 vCPU, 8 GiB RAM ve 40 GiB SSD değerleri bu varsayımsal laboratuvarın başlangıç kaynaklarıdır; belirli bir katılımcı sayısını garanti etmez. 1 Gbit/s olarak sunulan bağlantının gerçek aktarım kapasitesini ve aylık trafik kotasını ayrıca kontrol edin. Kayıt ve canlı yayın için kullanılan Jibri bu kurulumun kapsamı dışındadır.
DNS ve güvenlik duvarı kurulumdan önce hazır olmalı
Toplantı sayfasının açılması, ses ve görüntünün taşınabildiğini göstermez. İkisini ayırın. VPS Jitsi Meet kurulumu öncesinde DNS ve erişim kurallarını hazırlayın. Varsayımsal laboratuvardaki temiz Ubuntu Server 24.04 LTS amd64 sunucunun tek genel IPv4 adresi doğrudan arayüzüne atanmıştır; NAT veya port yönlendirmesi gerekmeyecektir.
DNS panelinde meet.example.com için 203.0.113.10 adresine yönelen bir A kaydı planlayın. Bunlar ayrılmış belgeleme değerleridir; gerçek DNS veya Let’s Encrypt doğrulamasında kullanılamaz. Komutları uygulamadan önce alan adını kontrolünüzdeki alan adıyla, IP adresini gerçek genel IPv4 adresinizle değiştirin. Yönetim kaynağı 198.51.100.25/32 de değiştirilmelidir. IPv6 yapılandırılmayacağı için AAAA kaydı yayımlamayın; mevcutsa kaldırın. Aksi durumda istemciler çalışmayan IPv6 yolunu deneyebilir.
sudo apt-get update
sudo apt-get install dnsutils ufw
sudo hostnamectl set-hostname meet.example.com
hostnamectl --static
dig +short A meet.example.com
dig +short AAAA meet.example.com
hostnamectl --static seçtiğiniz sunucu adını, A sorgusu gerçek genel IPv4 adresinizi göstermelidir. AAAA yanıtı boş olmalıdır; boşluğu sorgu hatasıyla karıştırmayın. Gerekirse dig AAAA meet.example.com çıktısındaki durum bilgisini inceleyin. Sunucu adını değiştirmek DNS kaydı oluşturmaz. Eski yanıtların nedenleri için DNS Yayılması Nedir? Ne Kadar Sürer? açıklamasındaki önbellek ayrımına bakabilirsiniz.
SSH kuralını eklemeden önce sağlayıcı konsolunun açıldığını ve bağlantınızın gerçek çıkış IPv4 adresini doğrulayın. Yerel ağınızdaki özel IP kullanılmamalıdır. Mevcut SSH oturumunu açık tutun; komutları sudo yetkili normal kullanıcıyla çalıştırın. Örnek temiz sunucu içindir; mevcut kurallar varsa önce inceleyin.
sudo ufw status numbered
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow proto tcp from 198.51.100.25/32 to any port 22
sudo ufw allow proto tcp from 0.0.0.0/0 to any port 80
sudo ufw allow proto tcp from 0.0.0.0/0 to any port 443
sudo ufw allow proto udp from 0.0.0.0/0 to any port 10000
sudo ufw show added
Sağlayıcı güvenlik duvarında aynı erişim matrisini uygulayın: TCP 22 yalnızca yönetim adresine, TCP 80/443 ve UDP 10000 toplantı istemcilerine açık olmalıdır. Let’s Encrypt belgelerine göre HTTP-01 doğrulaması TCP 80 üzerinden yapılır; TCP 443 izni bunun yerine geçmez. UDP 10000, Videobridge medya trafiğini taşır. ufw show added ile hazırlanan kuralları inceleyin; etkinleştirmeden önce SSH kaynak adresini yeniden kontrol edin.
sudo ufw enable
sudo ufw status numbered
Beklenen çıktı Status: active ve hazırladığınız izinlerdir. Bu, dış erişimin kanıtı değildir; kurulum öncesinde toplantı portlarında servis dinlemeyebilir. İki güvenlik duvarı katmanı da trafiğe izin vermelidir. Yönetim adresinizden ikinci bir SSH oturumu açabildiğinizi doğrulamadan ilkini kapatmayın.
Dikkat
meet.example.com, 203.0.113.10 ve 198.51.100.25/32 yalnızca belgeleme değerleridir; gerçek DNS, sertifika veya yönetim erişimi ayarlarında kullanılmamalıdır. SSH kuralını gerçek yönetim adresinizle hazırlamadan ve sağlayıcı konsolunu doğrulamadan UFW'yi etkinleştirmeyin. Sağlayıcı güvenlik duvarındaki kuralları da aynı erişim planıyla karşılaştırın.
Resmi depodan Jitsi Meet paketlerini kurun
Kurulum ekranında yanlış alan adını onaylamak, sonradan birkaç yapılandırma dosyasını düzeltmenize neden olabilir. Önce doğrulayın. Varsayımsal laboratuvar temiz Ubuntu Server 24.04 LTS amd64 ve systemd kullanıyor; Nginx, Ubuntu deposundaki 1.24.x paketinden kurulacak. Jitsi Meet 2.0 ailesinin Jicofo, Jitsi Videobridge 2 ve Prosody bağımlılıklarını APT çözecek. Depo içeriği değişebildiğinden tam revizyonları kurulum tarihinde kaydedin.
Jitsi Handbook’un Debian/Ubuntu kurulum akışı resmi stable APT deposunu kullanır. Aşağıdaki komutlarda imza anahtarı ayrı keyring dosyasına yazılır; signed-by, bu depo için kullanılacak anahtarı belirtir. apt-key veya indirilen betiği doğrudan yetkili kabukta çalıştırma yöntemi kullanılmaz. Komutları sudo yetkili normal kullanıcıyla sırayla uygulayın; hata veren adımı düzeltmeden ilerlemeyin. Nginx’i önce kurmak, Jitsi paketlerinin mevcut web sunucusunu algılamasını sağlar.
sudo apt update
sudo apt install ca-certificates curl gnupg software-properties-common
sudo add-apt-repository -y universe
sudo apt update
sudo apt install nginx
sudo install -d -m 0755 /usr/share/keyrings
key_file=$(mktemp)
curl -fsSL https://download.jitsi.org/jitsi-key.gpg -o "$key_file"
sudo gpg --dearmor --yes --output /usr/share/keyrings/jitsi-keyring.gpg "$key_file"
rm -f "$key_file"
sudo chmod 0644 /usr/share/keyrings/jitsi-keyring.gpg
printf '%s\n' 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
sudo apt update
sudo install -d -m 0700 /var/backups/jitsi
apt-cache policy jitsi-meet jicofo jitsi-videobridge2 prosody nginx | sudo tee /var/backups/jitsi/package-candidates.txt
sudo apt install jitsi-meet
apt-cache policy çıktısındaki Candidate: satırı kurulacak adayı gösterir; jitsi-meet kaynağı resmi Jitsi deposu olmalıdır. (none) görürseniz durun. İmza hatasında denetimi kapatmak yerine depo satırını, anahtar dosyasının okunabilirliğini ve sistem saatini kontrol edin. Aday kaydı sürümleri belgeler, kilitlemez. Nginx ve Prosody’nin Ubuntu arşivinden gelmesi ise beklenen bir durumdur; bütün bağımlılıkların Jitsi deposundan gelmesi gerekmez.
Alan adı ekranındaki ortak örnek meet.example.com değeridir. Bu ad ve 203.0.113.10 belgeleme için ayrılmıştır; gerçek kurulumda kontrol ettiğiniz alan adını ve VPS’nin gerçek genel IPv4 adresini kullanın. Alan adı kutusuna URL şeması veya yol eklemeyin.
Sonraki HTTPS adımına hazırlık olarak sertifika ekranında kendinden imzalı sertifika üretme seçeneğini seçin; seçenek metni paket revizyonuyla değişebilir. Bu geçici sertifika tarayıcı güveni sağlamaz. Let’s Encrypt belgelerine göre sonraki HTTP-01 doğrulaması TCP 80 üzerinden yapılır; UFW ve sağlayıcı güvenlik duvarı erişime birlikte izin vermelidir. Ayrılmış örnek alan adıyla gerçek sertifika alınamaz.
sudo systemctl status nginx prosody jicofo jitsi-videobridge2 --no-pager
sudo journalctl -u nginx -u prosody -u jicofo -u jitsi-videobridge2 -b -n 100 --no-pager
dpkg-query -W -f='${binary:Package}\t${Version}\t${Architecture}\t${db:Status-Abbrev}\n' | sudo tee /var/backups/jitsi/package-versions.txt
Servislerde beklenen durum active (running) ifadesidir; toplantı trafiğinin çalıştığını kanıtlamaz. journalctl komutu mevcut açılışa ait ilgili servis günlüklerinin son 100 kaydını gösterir. Hata varsa yeniden başlatmadan önce kaydı inceleyin. Son komut sistemdeki paket envanterini sürüm, mimari ve durum bilgisiyle saklar; ii kurulu paketleri belirtir. Sonraki bölümlerde aynı paket kümesini esas almak için /var/backups/jitsi/package-versions.txt dosyasını koruyun.
Geçerli HTTPS yetmez: medya erişimini de doğrulayın
Toplantı sayfası açılırken ses ve görüntü gelmeyebilir. Kilit simgesi yetmez. HTTPS erişimi, Jitsi Videobridge 2 üzerinden medya akışını doğrulamaz. Bu varsayımsal Ubuntu Server 24.04 LTS laboratuvarında iki yolu ayrı değerlendirin. meet.example.com ve 203.0.113.10 ayrılmış belgeleme değerleridir; gerçek DNS veya sertifika doğrulamasında kullanılamaz. İşlemden önce bunları kontrolünüzdeki alan adı ve doğrudan atanmış genel IPv4 adresiyle değiştirin. IPv6 yapılandırmayın; AAAA kaydı yayımlamayın.
Let’s Encrypt’in doğrulama yöntemleri belgesine göre HTTP-01 doğrulaması TCP 80 üzerinden yapılır. Alan adının A kaydı sunucunuzu göstermeli; UFW ve sağlayıcı güvenlik duvarı doğrulama isteğine izin vermelidir. Yalnızca TCP 443 açılması yeterli değildir. Önce dağıtım paketinin sertifika betiğinin varlığını ve güncel kullanımını kontrol edin:
test -r /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh && \
less /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Dosya yoksa durun; internetten rastgele bir kopyasını indirmeyin. Kurulumda kaydedilen paket sürümleriyle eşleşen talimatlara dönün. Dosya varsa kullanım açıklamalarını, bağımlılıklarını ve etkileşimli sorularını okuyun. Kurulu sürüm bu çağrıyı destekliyorsa sertifika edinimini başlatın:
sudo bash /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Betik başarıyla tamamlandıktan sonra aşağıdaki isteme gerçek toplantı alan adını girin. grep, oluşturulan Nginx site dosyasını bulmaya yardımcı olur; birden fazla eşleşmede server_name satırlarını inceleyin. Dosyanın bulunması etkin olduğunu kanıtlamaz; nginx -T çıktısında aynı sunucu bloğunun yüklendiğini doğrulayın.
read -r -p 'Gerçek toplantı alan adınız: ' MEET_DOMAIN
sudo grep -RlF -- "$MEET_DOMAIN" /etc/nginx/sites-available/
sudo nginx -T
sudo nginx -t && sudo systemctl reload nginx
curl --head --show-error "https://${MEET_DOMAIN}/"
nginx -t için beklenen mesajlar syntax is ok ve test is successful ifadeleridir. curl, sertifika hatası olmadan HTTP başlıklarını döndürmelidir; yönlendirme varsa hedefini kontrol edin. -k kullanmayın. Bunlar yapılmış test sonuçları değil, beklenen davranışlardır.
sudo ss -lunp 'sport = :10000'
sudo less /etc/jitsi/videobridge/jvb.conf
sudo journalctl -u jitsi-videobridge2 -n 100 --no-pager
UDP 10000 soketinin görünmesi yalnızca yerel dinlemeyi gösterir. Toplantı istemcileri için TCP 80/443 ve UDP 10000 erişimini her iki güvenlik duvarında doğrulayın. Doğrudan genel IPv4 varsayımında gereksiz NAT eşlemesi eklemeyin. Yanlış medya adresi ilanı, arayüz açıldığı hâlde ses ve görüntünün gelmemesine yol açabilir. /etc/jitsi/videobridge/jvb.conf içindeki ICE ve adres eşleme seçeneklerini kurulu sürümün referansıyla karşılaştırın; eski yapılandırma anahtarlarını taşımayın. Kısıtlı istemci ağları TURN gerektirebilir; temel kurulum her ağda bağlantı garantisi vermez. HTTPS’ten bağımsız olarak tarayıcının WebRTC tanılama ekranında seçilen ICE aday çiftini ve bağlantı durumunu inceleyin.
Dikkat
Geçerli HTTPS sertifikası yalnızca web katmanını doğrular; ses ve görüntünün Videobridge'e ulaşabildiğini kanıtlamaz. Doğrudan genel IPv4 atanmış bu ortamda gereksiz NAT ayarları eklemeyin. UDP erişimini kısıtlayan istemci ağları için TURN gerekebilir; temel kurulum her ağdan bağlantı garantisi vermez.
Oda açmayı kimlik doğrulamayla sınırlandırın
HTTPS bağlantıyı korur; sunucunuzda kimin toplantı başlatabileceğine karar vermez. Jitsi Handbook’un secure domain düzeni, oda oluşturmayı doğrulanmış hesaplarla sınırlar; misafirler yetkili kullanıcının başlattığı toplantıya hesap açmadan katılabilir. Ayrım nettir. Oda oluşturma yetkisi, katılım onayı ve medya gizliliği farklı kontrollerdir.
Varsayımsal Ubuntu Server 24.04 LTS laboratuvarında, önceki bölümlerde kaydettiğiniz Jitsi Meet 2.0 paket kümesini koruyun. Önce aşağıdaki üç dosyayı yedekleyin. Örnekler tam dosya değildir; mevcut bileşenleri, servis hesaplarını ve diğer ayarları silmeden ilgili alanları düzenleyin. Paket revizyonları değişebildiğinden, mevcut yapılandırmayla resmî kılavuzu karşılaştırın.
Üç dosyada aynı alan adları
/etc/prosody/conf.avail/meet.example.com.cfg.lua dosyasındaki mevcut VirtualHost "meet.example.com" bloğunda kimlik doğrulama satırını değiştirin:
authentication = "internal_hashed"
Aynı dosyada misafir bloğu yoksa aşağıdaki ayrı bloğu ekleyin. Jitsi Handbook, misafirler için jitsi-anonymous yöntemini gösterir; aynı alanı ikinci kez tanımlamayın:
VirtualHost "guest.meet.example.com"
authentication = "jitsi-anonymous"
c2s_require_encryption = false
guest.meet.example.com burada mantıksal bir XMPP alanıdır; ayrıca DNS kaydı, Nginx sanal sunucusu veya sertifika gerektirmez. c2s_require_encryption satırı tarayıcının HTTPS bağlantısını kapatmaz. meet.example.com ayrılmış belgeleme değeridir; gerçek kurulumda dosya yolları dahil bütün eşleşmeleri kontrol ettiğiniz alan adıyla değiştirin.
/etc/jitsi/meet/meet.example.com-config.js dosyasında mevcut config nesnesinin tanımı tamamlandıktan sonra şu atamayı ekleyin. Var olan anonymousdomain ayarını da aynı değerle uyumlu tutun:
config.hosts.anonymousdomain = 'guest.meet.example.com';
/etc/jitsi/jicofo/jicofo.conf içindeki mevcut jicofo bloğuna aşağıdaki authentication bölümünü birleştirin; ikinci bir dış blok eklemeyin. Kılavuzdaki XMPP doğrulamasında login-url, hesapların bulunduğu ana alanı gösterir:
jicofo {
authentication {
enabled = true
type = XMPP
login-url = "meet.example.com"
}
}
Parolayı geçmişe yazmadan hesap oluşturun
Sudo yetkili normal kullanıcınızla çalıştıracağınız adduser, parolayı etkileşimli ister; parola komut argümanına veya kabuk geçmişine girmez. Ardından Prosody yapılandırmasını denetleyin:
sudo prosodyctl adduser moderator@meet.example.com
sudo prosodyctl check config
Denetimde bildirilen hataları giderin; Jicofo ve JavaScript dosyalarının bu komutla doğrulanmadığını dikkate alın. Yapılandırmalar hazır olduğunda servisleri yeniden başlatın; işlem mevcut toplantıları etkileyebilir:
sudo systemctl restart prosody jicofo &&
sudo systemctl is-active prosody jicofo
İki active satırı beklenir; bu, yetkilendirmenin doğrulandığı anlamına gelmez. Lobi katılım onayı, toplantı parolası ortak giriş sırrı, uçtan uca şifreleme medya gizliliği sağlar. Hiçbiri oda oluşturma yetkisinin yerine geçmez. Oturumsuz tarayıcı yeni toplantıyı başlatamamalı; doğrulanmış kullanıcı başlattıktan sonra misafir aynı bağlantıyla katılabilmelidir.
Üç istemciyle sınayın, kapasiteyi ölçerek büyütün
İki kişinin birbirini duyması, Videobridge yolunun sağlıklı olduğunu kanıtlamaz. P2P etkinse medya doğrudan istemciler arasında akabilir; köprüdeki erişim sorunu gizlenir. Üçüncüyü ekleyin. VPS Jitsi Meet kurulumu için kabul sınamasını en az üç ayrı cihazla, ev interneti, mobil bağlantı ve başka bir sabit ağ üzerinden yürütün.
Varsayımsal laboratuvardaki Ubuntu Server 24.04 LTS amd64 ve kaydedilmiş Jitsi Meet 2.0 paket kümesi değişmez. Başlangıçtaki 4 vCPU, 8 GiB RAM ve 40 GiB SSD kapasite garantisi değildir. Üç istemciyle işlevleri doğrularsınız; katılımcı sınırını belirlemezsiniz.
Yetkili kullanıcıyla oda açıp iki misafiri ekleyin. Jitsi Handbook’un secure domain belgesi, oda oluşturmayı kimlik doğrulamayla sınırlandırırken misafirlerin mevcut toplantıya katılabilmesini tarif eder. Özel tarayıcı oturumunda misafirin yeni oda başlatamadığını doğrulayın. Her cihazda kamera, mikrofon ve sırayla ekran paylaşımını sınayın; birinin ağını kısa süre kesip yeniden bağlantısını gözleyin. Paylaşılan ekranda kişisel veri bulunmasın.
sudo ss -lunp 'sport = :10000'
sudo journalctl -u jitsi-videobridge2 -u jicofo --since '10 minutes ago' --no-pager
vmstat 1 5
free -h
iface=$(ip -4 route show default | awk '{print $5; exit}')
if [ -n "$iface" ]; then
date -Is
ip -s link show dev "$iface"
sleep 10
date -Is
ip -s link show dev "$iface"
fi
ss çıktısında UDP 10000 soketi ve süreç bilgisi beklenir; bu, dış erişimin kanıtı değildir. Medya akmıyorsa UFW ve sağlayıcı güvenlik duvarını birlikte inceleyin. journalctl ile köprü bağlantısı ve oturum hatalarını arayın. vmstat ilk veri satırındaki CPU değerleri açılıştan itibaren ortalamadır; sonraki örneklerde CPU kullanımını, st değerini ve swap hareketini değerlendirin. free çıktısında available belleği izleyin.
İki TX bayt sayacı arasındaki farkı geçen saniyeye bölüp 8 ile çarparak ortalama bit/s hesaplayın; sayaç bütün arayüz trafiğini kapsar. Chromium’da chrome://webrtc-internals, Firefox’ta about:webrtc üzerinden bağlantı çiftini, paket kaybını ve RTT’yi aynı zaman aralığında kaydedin. RTT gidiş-dönüş süresidir, tek yönlü gecikme değildir.
Aşağıdaki boş şablon ölçülmüş sonuç içermez. Her yük basamağını aynı süreyle çalıştırın; çözünürlük, kamera ve ekran paylaşımı koşullarını kayda geçirin.
| Zaman / süre | İstemci sayısı / ağ / senaryo | Çözünürlük / kamera / paylaşım | CPU / available RAM | TX bit/s | Paket kaybı / RTT | Gözlem |
|---|---|---|---|---|---|---|
Uzun süreli karşılaştırmalar için VPS’te Prometheus ve Grafana ile İzleme yaklaşımından yararlanabilirsiniz. Sürekli CPU baskısı veya bellek sıkışması kaynak artışını; köprü başına yükü dağıtma ihtiyacı ek Videobridge planını destekler. İstemci ağındaki kayıp, tek başına sunucu büyütme gerekçesi değildir. Çıkış doygunsa RAM eklemek yerine en az 1 Gbit/s olarak sunulan bağlantının gerçek kullanılabilir bant genişliğini ve trafik kotasını doğrulayın.
Sahadan not
Varsayımsal laboratuvar notu – gerçekleştirilmiş bir test veya saha olayı değildir: İki istemci P2P üzerinden görüşebilirken UDP 10000 engeli, üçüncü istemciyle Videobridge devreye girdiğinde görünür hale gelebilir. Bu senaryoda ss -lunp çıktısındaki yerel dinleme bilgisini, jitsi-videobridge2 servis günlüklerini ve tarayıcı WebRTC istatistiklerini birlikte inceleyin; dinleyen bir soket dışarıdan erişilebilirlik kanıtı değildir.
Yedek ve güncelleme planını ilk toplantıdan önce tamamlayın
Toplantının açılması, sunucunun geri getirilebildiğini göstermez. Yedek beklemez. Varsayımsal Ubuntu Server 24.04 LTS amd64 laboratuvarında ilk davetten önce sertifika yenilemesini, sunucu dışı kopyayı ve geri yüklemeyi planlayın. Yerel /var/backups/jitsi/ yalnızca hazırlık alanıdır; aynı VPS üzerindeki kopya sunucu kaybına karşı koruma sağlamaz.
Sertifika istemcisini ve kurulumun oluşturduğu görevi bulun: systemctl list-timers --all, servis tanımları, /etc/crontab, /etc/cron.d/, periyodik cron dizinleri ve ilgili kullanıcının crontab kaydını inceleyin. Zamanlayıcı adı varsaymayın. Son çalışma günlüğünü, sertifikanın bitiş tarihini ve istemcinin desteklediği deneme yenilemesini denetleyin. Let’s Encrypt belgelerine göre HTTP-01 doğrulaması TCP 80 kullanır; UFW ve sağlayıcı güvenlik duvarı bu erişimi yenileme sırasında da sağlamalıdır.
Jitsi Handbook’un secure domain belgesi, Prosody üzerinden kimlik doğrulama yapılandırmasını açıklar. Bu nedenle yapılandırmalarla hesap verilerini birlikte koruyun: /etc/jitsi/, /etc/prosody/, /var/lib/prosody/, /etc/nginx/ ve sertifika istemcisinin durum dizini yedeğe girmelidir. Harici Prosody depolaması kullanılıyorsa ayrıca tutarlı veritabanı yedeği gerekir.
Aşağıdaki varsayımsal örnek BorgBackup 1.x, başlangıçta çalışan dört servis ve sudo bağlamında doğrulanmış SSH erişimi gerektirir. Yeni, ayrı sunucudaki depo adresini ve gerçek sertifika durum dizinini sorar. Mevcut depoda borg init satırını kaldırın. Bakım penceresinde yapılandırma değişikliklerini dondurun, belirlediğiniz yenileme görevini duraklatın ve çalışan yenilemenin bitmesini bekleyin. Komutlar hizmet kesintisi oluşturur.
sudo bash <<'BASH'
set -euo pipefail
umask 077
read -r -p 'Yeni SSH Borg deposunun adresi: ' BORG_REPO < /dev/tty
read -r -p 'Sertifika istemcisinin mutlak durum dizini: ' CERT_STATE < /dev/tty
[[ "$BORG_REPO" == ssh://* ]]
[[ "$CERT_STATE" == /* && -d "$CERT_STATE" ]]
export BORG_REPO
install -d -m 700 /var/backups/jitsi
dpkg-query -W -f='${binary:Package}\t${Version}\n' > /var/backups/jitsi/packages.tsv
apt-cache policy jitsi-meet jicofo jitsi-videobridge2 prosody nginx > /var/backups/jitsi/apt-policy.txt
borg init --encryption=repokey-blake2
trap 'systemctl start prosody jicofo jitsi-videobridge2 nginx' EXIT
systemctl stop nginx jicofo jitsi-videobridge2 prosody
borg create --stats "::jitsi-$(date -u +%Y%m%dT%H%M%SZ)" \
/etc/jitsi /etc/prosody /var/lib/prosody /etc/nginx \
"$CERT_STATE" /var/backups/jitsi
BASH
Borg şifreleme parolası ister; başarılı oluşturma arşiv istatistiklerini gösterir. Uyarıları ve çıkış kodunu inceleyin, servislerin durumunu doğrulayın; yenileme görevini yeniden etkinleştirin. Parolayı ve borg key export ile alınan anahtar yedeğini depodan ayrı koruyun. Şu kontrolü yalnızca ağ erişimi sınırlandırılmış geri yükleme VM’inde çalıştırın:
sudo bash <<'BASH'
set -euo pipefail
umask 077
read -r -p 'SSH Borg deposunun adresi: ' BORG_REPO < /dev/tty
[[ "$BORG_REPO" == ssh://* ]]
export BORG_REPO
borg check --verify-data
borg list
read -r -p 'Geri yüklenecek arşivin adı: ' ARSIV < /dev/tty
[[ -n "$ARSIV" ]]
RESTORE_DIR=$(mktemp -d /var/tmp/jitsi-restore.XXXXXX)
cd "$RESTORE_DIR"
borg extract "::$ARSIV"
printf 'Dosyaların çıkarıldığı dizin: %s\n' "$RESTORE_DIR"
BASH
borg list arşiv adlarını gösterir; çıkarma genellikle sessizdir. Sahiplikleri, özel anahtar izinlerini ve Prosody hesaplarını inceleyin; dosyaları çıkarmak hizmetin kurtarıldığını kanıtlamaz. Güncellemeleri önce izole laboratuvar kopyasında doğrulayın. Jitsi Meet 2.0 ailesinin tam revizyonlarını manifestte saklayın; önceki paketleri veya geri dönüş imajını hazır tutun. Otomatik güncellemeleri bakım planıyla uyumlandırın. Bakım sonrası üç istemciyle yetkili oda açmayı, yetkisiz oluşturmanın engellenmesini ve çift yönlü ses/görüntüyü doğrulamadan toplantı kabul etmeyin.
İlk Toplantıdan Önce Kontrol Edin
- Temiz Ubuntu 24.04 LTS amd64 ortamını, kaynakları, trafik kotasını ve sağlayıcı konsoluna erişiminizi doğrulayın.
- Örnek alan adı ve IP adreslerini gerçek değerlerinizle değiştirin; A kaydını kontrol edin ve kullanılmayan AAAA kaydını kaldırın.
- SSH erişimini gerçek yönetim adresinizle sınırlandırın; TCP 80/443 ve UDP 10000 kurallarını hem UFW'de hem sağlayıcı tarafında doğrulayın.
- Resmi depo anahtarını ayrı keyring ve signed-by tanımıyla kullanın; paket adaylarını ve kurulu sürümleri kaydedin.
- HTTPS sertifikasını, nginx -t denetimini ve kurulumun gerçekten oluşturduğu sertifika yenileme mekanizmasını kontrol edin.
- Yetkisiz oda oluşturmanın engellendiğini ve misafir katılımının çalıştığını farklı ağlardaki en az üç istemciyle sınayın.
- Yapılandırmaları, Prosody durum verilerini ve sertifika istemcisi durumunu sunucu dışında şifreli yedekleyin; izole ortamda geri yüklemeyi doğrulayın.
VPS seçmeden önce eşzamanlı oda sayınızı, beklenen açık kamera sayısını ve trafik kotanızı not edin. İlk gerçek toplantıyı planlamadan farklı ağlardaki üç istemciyle medya erişimini ve yetkisiz oda oluşturmanın engellendiğini doğrulayın.
Sık Sorulan Sorular
Jitsi Meet için kaç GB RAM ve kaç vCPU gerekir?
Bu varsayımsal kurulumda başlangıç noktası 4 vCPU, 8 GiB RAM ve 40 GiB SSD'dir; bunlar asgari gereksinim veya katılımcı kapasitesi garantisi değildir. Eşzamanlı oda sayısı, açık kameralar, çözünürlük ve çıkış trafiği ihtiyacı değiştirir. Kaynak seçimini gerçek toplantı koşullarında CPU, bellek ve ağ ölçümleriyle doğrulayın; Jibri kayıt yükünü bu hesaba dahil etmeyin.
Jitsi Meet kurulumu için hangi portlar açılmalı?
Bu ortamda web erişimi için TCP 80 ve 443, Videobridge medyası için UDP 10000 açılır. SSH TCP 22 yalnızca gerçek yönetim kaynak adresinizden erişilebilir olmalıdır. Kuralları hem UFW hem sağlayıcı güvenlik duvarında uygulayın. TURN eklenecekse kullanılan taşıma protokolü ve relay port aralığı için ayrıca erişim planı hazırlayın.
Jitsi Meet için alan adı ve SSL sertifikası şart mı?
Bu kurulum, kontrol ettiğiniz bir alan adı ve tarayıcının güvendiği HTTPS sertifikasını esas alır. Tarayıcıların kamera ve mikrofon erişimi güvenli bağlam gerektirir; yalnızca IP üzerinden veya güvenilmeyen sertifikayla kullanım uygun bir işletim hedefi değildir. Let's Encrypt HTTP-01 doğrulaması TCP 80 erişimi ister. meet.example.com ve 203.0.113.10 ayrılmış örneklerdir, gerçek doğrulamada kullanılamaz.
Jitsi Meet'te herkesin yeni toplantı açması nasıl engellenir?
Secure domain düzeniyle oda oluşturmayı doğrulanmış kullanıcılara ayırabilirsiniz; misafirler mevcut toplantılara katılabilir. Prosody, Jicofo ve Jitsi Meet istemci yapılandırmalarının kurulu paket sürümleriyle uyumlu olması gerekir. Bu düzende guest.meet.example.com mantıksal XMPP alanıdır. Lobi ve toplantı parolası katılım kontrolleridir; oda oluşturma yetkisinin veya uçtan uca şifrelemenin yerine geçmez.
İki kişi görüşebiliyor ama üçüncü kişi gelince neden ses kesiliyor?
İki kişilik toplantı P2P üzerinden çalışarak Videobridge erişim sorununu gizleyebilir. Üçüncü katılımcıyla medya yolu değiştiğinde UDP 10000 engeli veya yanlış ilan edilen medya adresi belirginleşebilir; ancak tek olası neden bunlar değildir. Videobridge günlüklerini, güvenlik duvarlarını ve WebRTC istatistiklerini karşılaştırın. Doğrudan genel IPv4 kullanan sunucuya teşhis koymadan NAT ayarları eklemeyin.
Jitsi Meet sunucusunda hangi dosyalar yedeklenmeli?
Yedek planı /etc/jitsi/, /etc/prosody/, /var/lib/prosody/, /etc/nginx/ ve kullanılan sertifika istemcisinin durum dizinini kapsamalıdır. Kimlik bilgilerini ve özel anahtarları koruyun; çalışan servislerin durum verileri için tutarlı kopya yöntemini belirleyin. Yerel /var/backups/jitsi/ dizini tek başına yeterli değildir. Sunucu dışı şifreli kopyayı izole ortamda geri yükleyerek hesapları, yapılandırmayı ve toplantı işlevlerini doğrulayın.
Kaynaklar
- Jitsi Handbook – Debian ve Ubuntu için resmi kurulum adımları — github.com
- Jitsi Handbook – Secure domain ile oda oluşturmayı sınırlandırma — github.com
- Let's Encrypt – HTTP-01 dahil alan adı doğrulama yöntemleri — letsencrypt.org