Ejabberd
Ejabberd alternatifleri arasında gelişmiş bir özgür XMPP sunucusudur.
Aşağıda paylaşılan yapılandırma ve ayarlar, kendi alan adınız ve Statik IP'niz olduğu varsayımıyla düzenlenmiştir.
Plinth'in uygulama yapılandırma sayfasında belirtildiği üzere, aşağıdaki portlar routerınızdan FBX'a önceden yönlendirilmiş olmalı.
Hizmet Adı | Protokol | WAN Portu | FBX Portu |
---|---|---|---|
xmpp-client | TCP | 5222 | 5222 |
xmpp-server | TCP | 5269 | 5269 |
Yapılandırma
Ejabberd'ın yapılandırma dosyasına sudo nano /etc/ejabberd/ejabberd.yml
ile ulaşabilirsiniz.
Dosya Paylaşımı=
Freedombox (FBX) varsayılan yapılandırmasında, kullanıcılar (veya istemciler) arasında dosya paylaşımını gerçekleşmiyorsa, aşağıdaki adımları izleyebilirsiniz.
- FBX güvenlik duvarınızda
5443 TCP
portunu açın. Bu işlemi terminal üzerinden yapmak istemezseniz, FBX Cockpit uygulamasından Networking > Firewall > Edit Rules and Zones sekmelerinden 5443 TCP portunu ekleyebilirsiniz (hizmet adını xmpp-upload koyabilirsiniz). Ekleme sonrası güvenlik duvarınızısudo systemctl restart firewalld
ile yeniden başlatmayı unutmayın. - FBX'ınız bir routera bağlıysa, routerınızın 5443 portunu FBX’ınıza yönlendirin.
Hizmet Adı | Protokol | WAN Portu | FBX Portu |
---|---|---|---|
xmpp-upload | TCP | 5443 | 5443 |
- FBX’ınıza terminal üzerinden bağlanıp, aşağıdaki klasörü oluşturun ve sahipliğini ejabbard'a atayın.
sudo mkdir /var/www/upload sudo chown -R ejabberd:ejabberd /var/www/upload sudo chmod -R 775 /var/www/upload
- FBX yaplandırma dosyanızda (
ejabberd.yml
) aşağıdaki değişiklikleri uygulayın
port: 5443 ip: “::” module: ejabberd_http tls: true protocol_options: ‘TLS_OPTIONS’ request_handlers: /api: mod_http_api /bosh: mod_bosh ## /captcha: ejabberd_captcha /upload: mod_http_upload /ws: ejabberd_http_ws`
ve
mod_http_api: {} mod_http_upload: put_url: https://@HOST@:5443/upload docroot: /var/www/upload custom_headers: “Access-Control-Allow-Origin”: “https://@HOST@” “Access-Control-Allow-Methods”: “GET,HEAD,PUT,OPTIONS” “Access-Control-Allow-Headers”: “Content-Type” mod_last: {}
sudo systemctl restart ejabberd
ile hizmeti yeniden başlatın.
Not: Tedbir olması için DNS sağlayıcınızda “conference” subdomaini için ana alan adınıza işaret eden bir CNAME değeri de yaratabilirsiniz.
conference 10800 IN CNAME alan_adiniz.com
Video Konferans
FBX, görüntülü ve seli görüşmeler için Coturn uygulamasıyla gelir. Ancak bir yandan, ejabberd'ın da ayrı bir STUN ve TURN sunucusu bulunur. Coturn kullanmayı tercih etmeyip, ejabbard sunucusu üzerinden sesli ve görüntülü görüşme gerçekleştirmek isterseniz, aşağıdaki yapılandırmalara gidebilirsiniz.
Not: ejabberd STUN ve TURN sunucuları kullanılması istenirse, Coturn'ün sunucudan kaldırılması gerekir. Bu durumdan Matrix, Janus, JSXC gibi uygulamaların varsayılan yapılandırmaları etkilenir.
- Yüklüyse, Cotun uygulamasını kaldırın.
- Plinth ejabberd yapılandırma sayfasında
Automatically manage audio/video call setup
ayarını işaretleyin. - FBX güvenlik duvarında 3478, 3479, 5349, 5350, 49152-50175 portlarını (Cockpit uygulamasının Networking > Firewall > Edit Rules and Zones sekmesinden) açın. Bu portların bir kısmı Cockpit'te coturn-freedombox olarak önceden tanımlıdır, 3478 ve 3479 ayrıca eklenmeli.
- Router'ınızdan aşağıdaki portlar FBX’ınıza yönen:
Hizmet Adı | Protokol | WAN Portu | FBX Portu |
---|---|---|---|
ejabberd-stun | UDP | 3478 | 3478 |
ejabberd-stun | TCP | 5349 | 5349 |
- Alan adı (DNS) sağlayıcınızın web arayüzüne aşağıdaki SRV kayıtlarını ekleyin
_stun._tcp 300 IN SRV 0 0 3478 alan_adiniz.com. _stun._udp 300 IN SRV 0 0 3478 alan_adiniz.com. _stuns._tcp 300 IN SRV 0 0 5349 alan_adiniz.com. _turn._tcp 300 IN SRV 0 0 3478 alan_adiniz.com. _turn._udp 300 IN SRV 0 0 3478 alan_adiniz.com. _turns._tcp 300 IN SRV 0 0 5349 alan_adiniz.com.
alan_adiniz.com. uygun şekilde değiştirilerek ve en sondaki nokta unutulmadan
- Yapılandırma dosyasında (
ejabberd.yml
) aşağıdaki düzenlemeyi yapın
listen: ... - port: 3478 transport: udp module: ejabberd_stun use_turn: true turn_min_port: 49152 turn_max_port: 50175 turn_ip: statik_ipniz auth_type: user - port: 5349 transport: tcp module: ejabberd_stun use_turn: true tls: true turn_min_port: 49152 turn_max_port: 50175 ip: "::" turn_ip: statik_ipniz ... modules: mod_disco: {} ... mod_stun_disco: credentials_lifetime: 1000d secret: <burada_bulunan_sifreyi_degistirmeyin> services: - host: alan_adiniz.com port: 3478 type: stun transport: tcp restricted: false - host: alan_adiniz.com port: 3478 type: stun transport: udp restricted: false - host: alan_adiniz.com port: 3478 type: turn transport: tcp restricted: false - host: alan_adiniz.com port: 3478 type: turn transport: udp restricted: false ...
- Son olarak,
sudo systemctl restart ejabberd
ile hizmeti yeniden başlatın.