Panduan Penghostingan Sendiri Jitsi Meet

quiet Versi unspecified Last review: 2020

Dokumentasi ini belum diperbarui dalam waktu yang cukup lama. Beberapa informasi mungkin sudah tidak berlaku lagi. Anda dapat menemukan versi terbaru dari dokumentasi upstream di https://jitsi.github.io/handbook/docs/devops-guide/

Jitsi video conferencing stack memungkinkan pengguna untuk membuat pertemuan virtual, konferensi, dan sesi kolaborasi, serta berbagai kasus penggunaan lainnya yang menonjol. Jitsi video conferencing stack menyediakan:

  • Jitsi Meet (jitsi-meet): aplikasi klien berbasis web yang digunakan oleh peserta konferensi

  • Jitsi Videobridge (jitsi-videobridge): komponen server-side dari tumpukan Jitsi. Berfungsi sebagai pusat utama untuk konferensi video, di mana peserta dapat bergabung dengan mengakses URL konferensi yang dihasilkan secara unik dari server. Jitsi Videobridge melakukan negosiasi aliran audio dan video antara peserta konferensi dan juga menyediakan infrastruktur yang diperlukan untuk pengalaman yang lancar.

  • Konfigurasi server web (jitsi-meet-nginx) dan (jitsi-meet-apache): komponen yang membantu melayani klien web Jitsi Meet untuk menangani permintaan HTTPS yang masuk.

  • Konfigurasi untuk Prosody (jitsi-meet-prosody): komponen server-side yang menyediakan otentikasi dan pengelolaan pengguna, serta pengelolaan ruang rapat. Memastikan komunikasi yang aman dalam tumpukan konferensi video Jitsi.

  • Jicofo (jicofo): komponen server-side untuk pengelolaan konferensi, pengendalian peserta, dan pengalihan media.

Menginstal Jitsi

Petunjuk instalasi serupa dengan petunjuk resmi Debian/Ubuntu. Perbedaan yang menonjol adalah:

  • Lokasi file yang sedikit berbeda

  • Komponen Jicofo dan Jitsi Videobridge mencatat log ke syslog alih-alih ke berkas log mereka sendiri.

  • Komponen Jicofo dijalankan dari layanan, bukan dari skrip init.

Persyaratan
  • Server kecil yang dapat diakses melalui Internet

  • Nama domain dan sertifikat SSL untuk domain tersebut

Prosedur
  1. Aktifkan repositori jitsi:

    $ sudo dnf copr enable lcts/jitsi
  2. Instal paket meta jitsi untuk dapat mengonfigurasi server Jitsi:

    $ sudo dnf install jitsi

    Sebagai alternatif, Anda dapat menginstal paket lain dari repositori jitsi:

    • jitsi-meet - Aplikasi web Jitsi Meet

    • jitsi-meet-nginx - Konfigurasi Jitsi untuk NGinx

    • jitsi-meet-apache - Konfigurasi Jitsi untuk Apache

    • jitsi-meet-prosody - Konfigurasi Jitsi untuk Prosody

    • jitsi-videobridge - Komponen Jitsi Videobridge

    • jicofo - Komponen Fokus Konferensi Jitsi

Sumber daya tambahan
  • Setelah instalasi, Anda perlu mengonfigurasi semua paket sebelum menggunakannya. Untuk informasi lebih lanjut, lihat berkas /usr/share/doc/<package>/README-fedora.md.

  • Anda dapat melaporkan masalah dengan paket di antrian jitsi-rpm.

    Jika Anda mengalami masalah dengan perangkat lunak, hubungi pengembang hulu yang bersangkutan.

Konfigurasi Jitsi

Setelah instalasi, Anda perlu melakukan beberapa langkah konfigurasi tambahan. Langkah-langkah tersebut meliputi penggantian berbagai variabel placeholder dengan nilai Anda sendiri untuk memastikan Jitsi dikonfigurasi dengan benar agar dapat beroperasi di lingkungan deployment Anda. Variabel placeholder diidentifikasi dengan tanda underscore, misalnya __variableName__.

Di semua file, ganti __jitsiFQDN__ dengan nama domain lengkap (FQDN) instance Anda dan __<component>Secret__ dengan kata sandi acak yang kuat. Anda memerlukan tiga rahasia:

  • __focusSecret__

  • __focusUserSecret__

  • __jvbUserSecret__

Anda tidak perlu menghafal rahasia-rahasia tersebut. Mereka hanya digunakan oleh berbagai komponen Jitsi untuk berkomunikasi satu sama lain.

Konfigurasi Jitsi Prosody

Anda dapat menemukan konfigurasi Prosody untuk Jitsi di berkas /etc/prosody/conf.d/jitsi-meet.cfg.lua.

Prosedur
  1. Buat sertifikat SSL/TLS untuk domain Jitsi:

    $ prosodyctl cert generate __jitsiFQDN__

    Anda perlu mengganti __jitsiFQDN__ dengan nama domain sebenarnya dari instalasi Jitsi Anda. Sertifikat yang dihasilkan mengamankan antarmuka web Jitsi Meet dan memungkinkannya untuk melakukan komunikasi terenkripsi.

  2. Buat sertifikat SSL/TLS untuk subdomain otentikasi:

    $ prosodyctl cert generate auth.__jitsiFQDN__

    Subdomain auth biasanya digunakan untuk tujuan autentikasi di Jitsi Meet. Ganti __jitsiFQDN__ dengan nama domain Jitsi Anda untuk menghasilkan sertifikat untuk subdomain auth.

  3. Tambahkan sertifikat domain Jitsi sebagai anchor tepercaya untuk memastikan bahwa sertifikat tersebut diakui sebagai sertifikat yang valid oleh sistem:

    $ trust anchor /var/lib/prosody/__jitsiFQDN__

    Berkas sertifikat biasanya terletak di /var/lib/prosody/__jitsiFQDN__. Oleh karena itu, Anda perlu mengganti __jitsiFQDN__ dengan nama domain yang sebenarnya untuk menentukan jalur berkas yang benar.

  4. Tambahkan sertifikat subdomain otentikasi sebagai anchor tepercaya:

    $ trust anchor /var/lib/prosody/auth.__jitsiFQDN__

    Berkas sertifikat diharapkan berada di /var/lib/prosody/auth.__jitsiFQDN__. Ganti __jitsiFQDN__ dengan nama domain Jitsi Anda untuk mendapatkan jalur berkas yang akurat.

  5. Daftarkan pengguna dengan nama pengguna focus di server Prosody XMPP:

    $ prosodyctl register focus auth.__jitsiFQDN__ __focusUserSecret__

    Pengguna focus adalah pengguna khusus untuk pengelolaan dan koordinasi konferensi Jitsi Meet. Pengguna ini bertanggung jawab, misalnya, untuk membuat dan mengontrol konferensi. Bagian auth.__jitsiFQDN__ menentukan domain tempat pengguna terdaftar. + Ganti __jitsiFQDN__ dengan nama domain Jitsi Anda. __focusUserSecret__ adalah kata sandi atau rahasia yang terkait dengan pengguna focus. Ganti __focusUserSecret__ dengan kata sandi yang kuat dan aman.

  6. Daftarkan pengguna dengan nama pengguna jvb di server XMPP Prosody:

    $ prosodyctl register jvb auth.__jitsiFQDN__ __jvbUserSecret__

    Pengguna jvb digunakan oleh komponen Jitsi Videobridge untuk mengelola aliran video di Jitsi Meet. Bagian auth.__jitsiFQDN__ menentukan domain tempat pengguna terdaftar.

    Ganti __jitsiFQDN__ dengan nama domain Jitsi Anda. __jvbUserSecret__ adalah kata sandi atau rahasia yang terkait dengan pengguna jvb. Ganti __jvbUserSecret__ dengan kata sandi yang kuat dan aman.

  7. Aktifkan dan jalankan layanan prosodi:

    $ sudo systemctl enable --now prosody

Konfigurasi Jitsi Meet

Prosedur
  1. Temukan berkas konfigurasi /etc/jitsi-meet/config.js.

  2. Ganti variabel placeholder di config.js.

Konfigurasi Jitsi Webserver

Persyaratan
  • Konfigurasikan server HTTPS untuk __jitsiFQDN__.

Prosedur
  • Untuk Apache:

    • Ganti placeholder dalam berkas /etc/httpd/conf.d/jitsi-meet.conf.

    • Mulai ulang layanan httpd:

      $ sudo systemctl restart httpd
  • Untuk Nginx:

    • Ganti placeholder dalam berkas /etc/nginx/conf.d/jitsi-meet.conf.

    • Mulai ulang layanan nginx:

      $ sudo systemctl restart nginx

Konfigurasi Jicofo

Prosedur
  1. Ganti variabel tempat penampung __jitsiFQDN__ dan __focusSecret__ di berkas /etc/jicofo/config dan /etc/jicofo/sip-communicator.properties.

  2. Aktifkan dan jalankan jicofo.service:

    $ sudo systemctl enable --now jicofo.service

Konfigurasi Jitsi Videobridge

Persyaratan
  • Buka port 10000/udp jika Anda menggunakan Network Address Translation (NAT):

    1. Instal paket jitsi-videobridge-firewalld untuk mendapatkan definisi layanan untuk jitsi-videobridge.service

    2. Gunakan definisi layanan untuk mengonfigurasi firewalld agar membuka port 10000/udp untuk Jitsi Videobridge.

Prosedur
  1. Ganti placeholder __jitsiFQDN__ dan __jvbUserSecret__ dalam berkas /etc/jitsi-videobridge/jvb.conf.

  2. Aktifkan dan jalankan layanan jitsi-videobridge.service:

    $ sudo systemctl enable --now jitsi-videobridge.service
Sumber daya tambahan
  • /etc/sysconfig/jitsi-videobridge

Untuk informasi lebih lanjut, lihat jitsi