Otentikasi Jitsi dengan FreeIPA¶
Proses¶
#!/bin/bash
set -eux
# variabels
LDAP_HOST="'host.sub.domain.tld'"
BIND_DN="'uid=jitsi,cn=sysaccounts,cn=etc,dc=sub,dc=domain,dc=tld'"
BASE_DN="'dc=sub,dc=domain,dc=tld'"
BIND_PASSWORD="'bindPassword'"
FILTER="'(&(objectClass=person)(memberOf=cn=service-group,cn=groups,cn=accounts,dc=sub,dc=domain,dc=tld))'"
USER_NAME_FIELD="'uid'"
NAME_FIELD="'cn'"
# Pastikan Jitsi Meet (berserta paket lainnya) sudah terinstall
# systemctl status jitsi-videobridge2 jicofo prosody
# Instal modul untuk Prosody
apt-get install -y prosody-modules lua-ldap
# Buat dan sunting `ldap.cfg.lua`
cat << EOF > /etc/prosody/conf.avail/ldap.cfg.lua
-- Authentication configuration --
-- https://modules.prosody.im/mod_lib_ldap.html
-- https://modules.prosody.im/mod_auth_ldap2.html
authentication = 'ldap2'
ldap = {
hostname = $LDAP_HOST,
--use_tls = true,
bind_dn = $BIND_DN,
bind_password = $BIND_PASSWORD,
user = {
basedn = $BASE_DN,
filter = $FILTER,
usernamefield = $USER_NAME_FIELD,
namefield = $NAME_FIELD,
},
}
EOF
# membuat alias tautan ke direktori konfigurasi yang akan dibaca
ln -sf /etc/prosody/conf.avail/ldap.cfg.lua /etc/prosody/conf.d
Otentikasi LDAP¶
Konfigurasi domain akan digunakan untuk $INSTANCE_FQDN. Sunting metode utama untuk otentikasi menggunakan LDAP, dan guest.$INSTANCE_FQDN menggunakan anonim
nano /etc/prosody/conf.avail/$INSTANCE_FQDN.cfg.lua
...
--authentication = "anonymous"
authentication = "ldap2"
...
...
VirtualHost "guest.$INSTANCE_FQDN"
authentication = "anonymous"
Sunting dan tambahkan parameter agar bosh dapat diakses dan dianggap aman
nano /etc/prosody/prosody.cfg.lua
-- Server-wide settings --
...
consider_bosh_secure = true
...
Mengabaikan permintaan sertifikat TLS saat terhubung ke LDAP
nano /etc/ldap/ldap.conf
TLS_REQCERT never
Memaksa tamu menentukan namanya, dan secara bawaan menonaktifkan video saat pertama kali gabung pada ruang konfrensi
nano /etc/jitsi/meet/central.proxsis.co.id-config.js
...
// When using authentication, domain for guest users.
// anonymousdomain: 'guest.example.com',
anonymousdomain: 'guest.$INSTANCE_FQDN',
...
...
// requireDisplayName: true,
// Memaksa tamu menentukan namanya
requireDisplayName: true,
...
...
// startAudioOnly: false,
// Secara bawaan menonaktifkan video saat pertama kali gabung pada ruang konfrensi
startAudioOnly: true,
Manambahkan domain utama pada konfigurasi jicofo
nano /etc/jitsi/jicofo/sip-communicator.properties
org.jitsi.jicofo.auth.URL=XMPP:$INSTANCE_FQDN
Memuat ulang layanan¶
systemctl restart prosody jicofo