Ejabberd: Revizyonlar arasındaki fark

h/m wiki sitesinden
 
(Aynı kullanıcının aradaki diğer 17 değişikliği gösterilmiyor)
1. satır: 1. satır:
[https://www.ejabberd.im/ Ejabberd] alternatifleri arasında gelişmiş bir özgür XMPP sunucusudur.
[https://www.ejabberd.im/ Ejabberd] alternatifleri arasında gelişmiş bir özgür XMPP ve MQTT sunucusudur.<br>
''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ı.
''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.''

=='''Yapılandırma'''==
Ejabberd'ın yapılandırma dosyasına <code>sudo nano /etc/ejabberd/ejabberd.yml</code> ile ulaşabilirsiniz.

Plinth uygulama sayfasında belirtildiği üzere, aşağıdaki portların routerınızdan FBX'a yönlendirilmiş olması gerekir.
{| class="wikitable"
{| class="wikitable"
!Hizmet Adı
!Hizmet Adı
23. satır: 19. satır:
|5269
|5269
|}
|}

=='''Yapılandırma'''==
Ejabberd'ın yapılandırma dosyasına <code>sudo nano /etc/ejabberd/ejabberd.yml</code> ile ulaşabilirsiniz.


===Dosya Paylaşımı===
===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.
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 <code>5443 TCP</code> 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ı <code>sudo systemctl restart firewalld</code> ile yeniden başlatmayı unutmayın.
*FBX güvenlik duvarınızda <code>5443 TCP</code> 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ı <code>sudo systemctl restart firewalld</code> 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.
*FBX'ınız bir routera bağlıysa, routerınızın 5443 portunu FBX’ınıza yönlendirin.
{| class="wikitable"
{| class="wikitable"
!Hizmet Adı
!Hizmet Adı
40. satır: 39. satır:
|5443
|5443
|}
|}
* FBX’ınıza terminal üzerinden bağlanıp, aşağıdaki klasörü oluşturun ve sahipliğini ejabbard'a atayın.
*FBX’ınıza terminal üzerinden bağlanıp, aşağıdaki klasörü oluşturun ve sahipliğini ejabbard'a atayın.
<pre>
<pre>
sudo mkdir /var/www/upload
sudo mkdir /var/www/upload
46. satır: 45. satır:
sudo chmod -R 775 /var/www/upload
sudo chmod -R 775 /var/www/upload
</pre>
</pre>
* FBX yaplandırma dosyanızda (<code>ejabberd.yml</code>) aşağıdaki değişiklikleri uygulayın
*FBX yaplandırma dosyanızda (<code>ejabberd.yml</code>) aşağıdaki değişiklikleri uygulayın
<pre>
<pre>
port: 5443
port: 5443
72. satır: 71. satır:
mod_last: {}
mod_last: {}
</pre>
</pre>
* <code>sudo systemctl restart ejabberd</code> ile hizmeti yeniden başlatın.
*<code>sudo systemctl restart ejabberd</code> 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 (bu bilgi kesin değildir).
''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.<!-- Bu bilgi kesin değildir. -->''<pre>
<pre>
conference 10800 IN CNAME alan_adiniz.com
conference 10800 IN CNAME alan_adiniz.com
</pre>
</pre>
84. satır: 82. satır:
''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.''
''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.
*Yüklüyse, Coturn uygulamasını kaldırın.
*Plinth ejabberd yapılandırma sayfasında <code>Automatically manage audio/video call setup</code> ayarını işaretleyin.
*Plinth ejabberd yapılandırma sayfasında <code>Automatically manage audio/video call setup</code> ayarı işaretliyse kaldırın
*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, Cockpit'te '''coturn-freedombox''' olarak önceden tanımlıdır.
*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:
*Router'ınızdan aşağıdaki portları FBX’ınıza yönendirin
{| class="wikitable"
{| class="wikitable"
|+
!Hizmet Adı
!Hizmet Adı
!Protokol
!Protokol
!WAN Portu
!WAN Portu
!FBX Portu
!FBX Portu
|-
|xmpp-client
|
|
|
|-
|xmpp-server
|
|
|
|-
|-
|ejabberd-stun
|ejabberd-stun
|
|UDP
|3478
|
|3478
|
|-
|-
|ejabberd-stun
|ejabberd-stun
|
|TCP
|5349
|
|5349
|
|}
|}
*Alan adı (DNS) sağlayıcınızda aşağıdaki SRV kayıtlarını ekleyin
<pre>
_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.
</pre>
''alan_adiniz.com. uygun şekilde değiştirilerek ve '''en sondaki nokta''' unutulmadan''
*Yapılandırma dosyasında (<code>ejabberd.yml</code>) aşağıdaki düzenlemeyi yapın
<pre>
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
...
</pre>
*Son olarak, <code>sudo systemctl restart ejabberd</code> ile hizmeti yeniden başlatın.


===Çoklu İstemci Senkronizasyonu===
===Çoklu İstemci Senkronizasyonu===
XMPP hesabınızı aynı anda birçok istemci ile kullanabilirsiniz. Bu istemcilerin hepsinin aynı anda "online" olması mümkün olmayabilir. Yazışmalarınızın tüm istemcilerde senkron olmaması durumunda, <code>ejabberd.yml</code> yapılandırma dosyanızda mod_mam modülünü <code>default: always</code> değerine getirin.
<pre>
mod_mam:
db_type: mnesia
default: always
request_activates_archiving: false
assume_mam_usage: false
cache_size: 1000
cache_life_time: 3600
</pre><code>sudo systemctl restart ejabberd</code> ile hizmeti yeniden başlatın.

===MQTT Yapılandırması===
Bu kısım ayrıca derlenecektir.


[[category:Freedombox Uygulamaları]]
[[category:Freedombox Uygulamaları]]

12.14, 8 Ekim 2023 itibarı ile sayfanın şu anki hâli

Ejabberd alternatifleri arasında gelişmiş bir özgür XMPP ve MQTT 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, Coturn uygulamasını kaldırın.
  • Plinth ejabberd yapılandırma sayfasında Automatically manage audio/video call setup ayarı işaretliyse kaldırın
  • 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önendirin
Hizmet Adı Protokol WAN Portu FBX Portu
ejabberd-stun UDP 3478 3478
ejabberd-stun TCP 5349 5349
  • Alan adı (DNS) sağlayıcınızda 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.

Çoklu İstemci Senkronizasyonu

XMPP hesabınızı aynı anda birçok istemci ile kullanabilirsiniz. Bu istemcilerin hepsinin aynı anda "online" olması mümkün olmayabilir. Yazışmalarınızın tüm istemcilerde senkron olmaması durumunda, ejabberd.yml yapılandırma dosyanızda mod_mam modülünü default: always değerine getirin.

mod_mam:
    db_type: mnesia
    default: always
    request_activates_archiving: false
    assume_mam_usage: false
    cache_size: 1000
    cache_life_time: 3600

sudo systemctl restart ejabberd ile hizmeti yeniden başlatın.

MQTT Yapılandırması

Bu kısım ayrıca derlenecektir.