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
$ 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
$ 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
$ 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