Tuesday, November 22, 2022

Install Jitsi Self host Ubuntu 22.04 Server

Prerequire

  • Nginx + https
  • ในที่นี้ผู้เขียนมี  private_key และ public_key (certificate) ที่ใช้จริงๆ อยู่แล้ว
  • แก้คอนฟิกใน Nginx รีสตาร์ท ก็ใช้งาน https ได้เลย
  • เปลี่ยน hostname เราให้เป็นชื่อที่  เหมาะสม ด้วยคำสั่ง (ใช้ meet ขึ้นต้นความหมายจะได้สื่อชัดเจน)

$ sudo hostnamectl set-hostname meet.your_domain

  • เพิม static dns เครื่อง server เรา

$ sudo nano /etc/hosts

x.x.x.x meet.your_domain

  • ปิด firewall ไว้ก่อน

$ sudo ufw disable

ติดตั้ง Library ที่จำเป็น

$ sudo apt install apt-transport-https

$ sudo apt install gnupg2

$ sudo apt install openjdk-8-jdk

ติดตั้ง Jitsi Meet

  • download และ add key ของ repo สำหรับ jitsi

$ curl https://download.jitsi.org/jitsi-key.gpg.key -o jitsi-key.gpg.key

$ sudo gpg --output /usr/share/keyrings/jitsi-key.gpg --dearmor jitsi-key.gpg.key

  • เพิ่ม repo โดยสร้างไฟล์

$ sudo nano /etc/apt/sources.list.d/jitsi-stable.list

  • เพิ่มตามบรรทัดนี้เข้าไปในไฟล์ jitsi-stable.list และบันทึกให้เรียบร้อย

deb [signed-by=/usr/share/keyrings/jitsi-key.gpg] https://download.jitsi.org stable/

  • download และ add key ของ repo สำหรับ prosody

$ curl https://prosody.im/files/prosody-debian-packages.key -o prosody-debian-packages.key

$ sudo gpg --output /usr/share/keyrings/prosody-keyring.gpg --dearmor prosody-debian-packages.key

  • เพิ่ม repo สำหรับ prosody โดยสร้างไฟล์ prosody.list 

$ sudo nano /etc/apt/sources.list.d/prosody.list

  • เพิ่มตามบรรทัดนี้เข้าไปในไฟล์ prosody.list และบันทึกให้เรียบร้อย

deb [signed-by=/usr/share/keyrings/prosody-keyring.gpg] http://packages.prosody.im/debian jammy main

  • ลบ key ที่โหลดมาออกจากเครื่องเลย หรือ จะไม่ลบก็ได้เช่นกัน

$ rm jitsi-key.gpg.key prosody-debian-packages.key

  • อัพเดท repo

$ sudo apt update

$ sudo apt install jitsi-meet

  • มันจะถามให้เราใส่ your_domain ของเรา ให้เราใส่เป็น meet.your_domain
  • จากนั้นเค้าถามเรื่อง SSL ถ้าเราใช้อันที่มีอยู่แล้วก็เลือก i want to use my own certificate (เค้าก็จะให้ใส่  พาธ private_key และ พาธ public_key (certificate) ก็ใส่ให้เรียบร้อย
  • หรือ จะสร้าง ssl ปลอมขึ้นมาใช้ก่อนก็ได้ ทำตามขั้นตอนจากอ้างอิงได้เลย
  • เสร็จสิ้นการติดตั้ง Jitsi Meet ค่าพื้นฐานสามารถใช้งานได้แล้ว
  • ทดสอบ

https://meet.your_domain

คอนฟิกให้ผู้สร้างห้องต้องใส่ username และ password ก่อน

  • แก้ไขไฟล์ /etc/prosody/conf.avail/your_domain.cfg.lau

$ sudo nano /etc/prosody/conf.avail/your_domain.cfg.lau

  • มองหาประมาณ 

authentication = "anonymous" 

  • และ แก้ไขเป็น 

authentication = "internal_plain"

  • ยังอยู่ที่ไฟล์ /etc/prosody/conf.avail/your_domain.cfg.lau เพิ่ม section ด้านล่างนี้ลงไปต่อท้ายของไฟล์

VirtualHost "guest.meet.your_domain"

    authentication = "anonymous"

    c2s_require_encryption = false

    modules_enabled = {

            "bosh";

            "ping";

            "pubsub";

            "speakerstats";

            "turncredentials";

            "conference_duration";

    }

  • ต่อไปแก้ไขไฟล์ /etc/jitsi/meet/meet.your_domain-config.js

$ sudo nano /etc/jitsi/meet/meet.your_domain-config.js

  • มองหาประมาณนี้ 

// anonymousdomain: 'guest.example.com',

  • แล้ว uncomment มันและแกไขเป็นประมาณนี้ 

anonymousdomain: 'guest.meet.your_domain',

  • สร้างไฟล์ /etc/jitsi/jicofo/sip-communicator.properties

$ sudo nano /etc/jitsi/jicofo/sip-communicator.properties

  • เพิ่มบรรทัดล่างนี้เข้าไปในไฟล์ที่เราสร้าง

org.jitsi.jicofo.auth.URL=XMPP:meet.your_domain

  • เพิ่ม userและ pass สำหรับ ใช้สร้างห้อง

$ sudo prosodyctl register user meet.your_domain password

  • restart service ที่เกี่ยวข้อง

$ sudo systemctl restart prosody.service jicofo.service jitsi-videobridge2.service

เพิ่มเติม

  • การติดตั้ง Jitsi Meet เมื่อสำเร็จเราจะได้ไฟล์ คอนฟิกของ vhost 

/etc/nginx/sites-available/meet.your_domain.conf 

  • และมีการสร้างลิ้งใน

/etc/nginx/sites-enabled/

  • ทั้ง 2 อันนี้มันจะสร้างให้อัตโนมัตินะคับ
  • โดยที่เราไม่ต้องสร้าง vhost ไว้เอง
  • แต่ยังไม่ได้ลอง openjdk ที่เวอร์ชั่นใหม่กว่า 8

Ref

  • https://ifew.medium.com/%E0%B8%97%E0%B8%B3-video-conference-%E0%B8%9F%E0%B8%A3%E0%B8%B5%E0%B9%86-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-jitsi-meet-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%AA%E0%B8%B2%E0%B8%A1%E0%B8%B2%E0%B8%A3%E0%B8%96%E0%B9%81%E0%B8%97%E0%B8%9A%E0%B9%80%E0%B8%AB%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B8%99-google-meet-zoom-4b7bc8d007ef
  • https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-meet-on-ubuntu-22-04

No comments:

Post a Comment