Cách cài đặt Jitsi Video Conference Platform trên Debian 11

theanh

Administrator
Nhân viên
Jitsi là giải pháp mã nguồn mở miễn phí để xây dựng nền tảng hội nghị truyền hình an toàn. Jitsi dựa trên phần mềm mã nguồn mở như coturn, prosody, jitsi video bridge, jitsi meet, v.v. Các thành phần chính của Jitsi là Jitsi video bridge và Jitsi meet, cho phép người dùng bắt đầu hội nghị qua internet,

Jitsi tương thích với chuẩn mở WebRTC cho giao tiếp web. Jitsi tương thích với chuẩn mở WebRTC cho giao tiếp web và cung cấp chất lượng tốt hơn, độ trễ thấp và định tuyến video tiên tiến với ước tính băng thông và mã hóa video có thể mở rộng.

Về phía máy khách, Jitsi cung cấp các ứng dụng cho nhiều hệ thống khác nhau, bao gồm Jitsi Desktop cho người dùng máy tính và máy khách Android và iOS.

Điều kiện tiên quyết​

Bài viết này sẽ hướng dẫn cài đặt và cấu hình Hội nghị truyền hình Jitsi trên Debian 11 Bullseye mới nhất. Vào cuối hướng dẫn này, bạn sẽ có thể tạo một cuộc họp bằng cách sử dụng Hội nghị truyền hình Jitsi.

Trước khi bắt đầu, hãy đảm bảo bạn có đủ các yêu cầu sau:
  • Hệ điều hành: Debian 11 Bullseye
  • Quyền root
Bây giờ chúng ta hãy bắt đầu.

Cài đặt các gói phụ thuộc​

Bước đầu tiên là cài đặt một số gói phụ thuộc như gnupg2, nginx-full, sudo, apt-transport-https, curl và java OpenJDK.

1. Cập nhật kho lưu trữ Debian của bạn và cài đặt các gói đó lên trên cùng bằng lệnh sau.
Mã:
sudo apt install apt-transport-https gnupg2 nginx-full sudo curl -y
2. Jitsi yêu cầu Java OpenJDK phiên bản 1.8 hoặc 1.11; kho lưu trữ Debian mặc định cung cấp Java OpenJDK 1.11.

Bây giờ hãy thực hiện lệnh sau để cài đặt các gói Java OpenJDK.
Mã:
sudo apt install default-jdk -y
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Java OpenJDK bằng lệnh sau.
Mã:
java -version
Bạn sẽ thấy đầu ra tương tự như bên dưới.
Mã:
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)
Sau khi tất cả các gói đã được cài đặt, hãy chuyển sang thiết lập kho lưu trữ Jitsi và Prosody.

Thêm kho lưu trữ Jitsi và Prosody​

Jitsi có các thành phần thiết yếu như Jitsi Videbridge, Jicofo, Jigasi, Prosody (phần mềm bên ngoài), v.v.

Trước khi cài đặt Jitsi, bạn phải thêm kho lưu trữ Prosody và Jitsi vào hệ thống của mình. Để thực hiện việc này, hãy chạy các lệnh sau.

1. Thêm kho lưu trữ Prosody và khóa GPG bằng lệnh bên dưới.
Mã:
echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list
wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
2. Thêm kho lưu trữ Jitsi và khóa GPG bằng lệnh bên dưới.
Mã:
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
3. Tiếp theo, hãy cập nhật và làm mới kho lưu trữ Debian của bạn bằng lệnh bên dưới.
Mã:
sudo apt update

Thiết lập Tường lửa UFW và Giới hạn Systemd​

Vì lý do bảo mật, nên chạy Jitsi với tường lửa UFW. Ngoài ra, để có hiệu suất tốt hơn của Jitsi, bạn cần tăng giới hạn (tệp mở tối đa, quy trình tối đa) trên hệ thống Debian của mình.

1. Chạy lệnh sau để cài đặt các gói tường lửa UFW.
Mã:
sudo apt install ufw -y
2. Sau khi cài đặt UFW, hãy thực hiện lệnh 'ufw' bên dưới để mở một số cổng cho Jitsi.
Mã:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
Bây giờ hãy chạy lệnh bên dưới để bắt đầu và kích hoạt dịch vụ UFW.
Mã:
sudo ufw enable
Gõ 'y' để xác nhận và nhấn 'Enter' để kích hoạt, và bạn đã kích hoạt tường lửa UFW trên hệ thống Debian của bạn.

Cổng chi tiết cho Jitsi:
  • Cổng 80/tcp: Cổng HTTP sẽ tạo SSL Let'sencrypt.Cổng 443/tcp: Yêu cầu của máy khách sẽ được bảo mật thông qua giao thức HTTPS.
  • Cổng 10000/udp: Cổng giao tiếp âm thanh và video chung.
  • Cổng 22/tcp: Cổng SSH mặc định để quản lý máy chủ Jitsi.
  • Cổng 3478/udp: Đưa máy chủ STUN vào hàng đợi.
  • Cổng 5349/tcp: Cổng dự phòng cho giao tiếp âm thanh và video qua TCP (Nếu cổng UDP bị chặn, cổng này sẽ được sử dụng).
3. Để thiết lập giới hạn số lượng tệp mở tối đa, số lượng tiến trình tối đa và số lượng tác vụ tối đa, bạn cần chỉnh sửa cấu hình '/etc/systemd/system.conf' bằng trình soạn thảo nano.
Mã:
sudo nano /etc/systemd/system.conf
Đối với các ứng dụng Java, bạn nên thiết lập giới hạn tối đa là '65000'. Sao chép và dán cấu hình sau.
Mã:
DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000
lưu cấu hình và thoát.

4. Tiếp theo, khởi động lại máy chủ của bạn và đăng nhập lại, sau đó xác minh cấu hình giới hạn hệ thống bằng lệnh sau.
Mã:
systemctl show --property DefaultLimitNPROC
systemctl show --property DefaultLimitNOFILE
systemctl show --property DefaultTasksMax
Đảm bảo giá trị của 'DefaultLimitNPROC' (tối đa quy trình), 'DefaultLimitNOFILE' (tối đa tệp mở) và 'DefaultTasksMax' (giới hạn luồng tối đa) là '65000'.

Tạo SSL Letsencrypt bằng Certbot​

Trong bước này, bạn sẽ cài đặt công cụ certbot và tạo SSL letsencrypt để bảo mật Cài đặt Jitsi.

1. Chạy lệnh apt bên dưới để cài đặt công cụ certbot.
Mã:
sudo apt install certbot -y
2. Sau khi cài đặt certbot hoàn tất, hãy dừng dịch vụ Nginx và tạo SSL letsencrypt bằng lệnh certbot bên dưới. Hãy đảm bảo thay đổi địa chỉ email và tên miền.
Mã:
sudo systemctl stop nginx
sudo certbot certonly --standalone --agree-tos --no-eff-email --email [emailprotected] -d example.io
nếu tất cả các quy trình hoàn tất, bạn sẽ thấy chứng chỉ SSL của mình trong thư mục '/etc/letsencrypt/live/jitsi.example.io/'. Chứng chỉ công khai là 'fullchain.pem' và khóa riêng là 'privkey.pem'.

Cài đặt Jitsi Video Conference trên Debian 11​

Trong bước này, bạn sẽ cài đặt và cấu hình Jitsi video conference trên máy chủ Debian.

1. Cài đặt các gói Jitsi bằng lệnh apt bên dưới.
Mã:
sudo apt install jitsi-meet
Nhập 'y' để xác nhận cài đặt và nhấn 'Enter' để tiếp tục.

Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp một số cấu hình bên dưới.

Đối với tên miền, hãy nhập cài đặt tên miền Jitsi của bạn và chọn 'Ok'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22733%22%20height=%22232%22%3E%3C/svg%3E


Để cấu hình chứng chỉ SSL, hãy chọn 'Tôi muốn sử dụng chứng chỉ của riêng mình' và 'Ok'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E


Bây giờ hãy nhập đường dẫn đầy đủ đến khóa riêng SSL của bạn 'privkey.pem' và chọn 'Ok'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E


Bây giờ hãy nhập đường dẫn đầy đủ của khóa công khai SSL 'fullchain.pem' và chọn 'Ok'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22140%22%3E%3C/svg%3E


Bây giờ bạn đã hoàn tất cài đặt Jitsi Video Conference.

2. Tiếp theo, hãy xác minh tất cả các dịch vụ Jitsi bằng các lệnh sau.

Xác minh dịch vụ coturn và đảm bảo rằng nó đang hoạt động và chạy.
Mã:
sudo systemctl status coturn
Xác minh các dịch vụ jicofo và jitsi-videobridge và đảm bảo rằng cả hai đều đang hoạt động và chạy.
Mã:
sudo systemctl status jicofo
sudo systemctl status jitsi-videobridge2
Xác minh dịch vụ prosody và đảm bảo rằng đang hoạt động và chạy.
Mã:
sudo systemctl status prosody
Và cuối cùng, hãy khởi động và xác minh dịch vụ Nginx bằng lệnh sau.
Mã:
sudo systemctl start nginx
sudo systemctl status nginx
Nếu dịch vụ đã dừng, bạn có thể bắt đầu sử dụng lệnh systemctl.

Bây giờ hãy chuyển sang bước tiếp theo để thiết lập xác thực trên Jitsi Video Conference.

Bật xác thực trên Jitsi Video Conference​

Trong bước này, bạn sẽ bật xác thực trên Jitsi Video Conference. Với phương pháp này, chỉ người điều phối có xác thực phù hợp mới có thể bắt đầu họp với Jitsi.

1. Trước tiên, bạn phải bật xác thực trên dịch vụ Prosody và xác định tên miền khách.

Chỉnh sửa cấu hình Prosody cho cài đặt tên miền Jitsi. Trong ví dụ này, ví dụ tên miền là 'jitsi.example.io'.
Mã:
sudo nano /etc/prosody/conf.d/jitsi.example.io.cfg.lua
Thay đổi xác thực mặc định 'anonymous' thành 'internal_hashed' như bên dưới.
Mã:
VirtualHost "jitsi.example.io"
 -- enabled = false -- Remove this line to enable this host
 authentication = "internal_hashed"
Thêm máy chủ ảo mới cho khách có tên 'guest.jitsi.example.io' như bên dưới.
Mã:
VirtualHost "guest.jitsi.example.io"
 authentication = "anonymous"
 c2s_require_encryption = false
Lưu cấu hình và thoát.

2. Tiếp theo, bạn phải thêm miền khách/ẩn danh vào cấu hình Jitsi Meet.

Chỉnh sửa cấu hình Jitsi Meet 'jitsi.example.io-config.js' bằng trình soạn thảo nano.
Mã:
sudo nano /etc/jitsi/meet/jitsi.example.io-config.js
Thêm miền ẩn danh 'guest.jitsi.example.io' vào phần 'hosts' dưới dạng bên dưới.
Mã:
hosts: {
 // XMPP domain.
 domain: 'jitsi.example.io',

 // When using authentication, domain for guest users.
 // anonymousdomain: 'guest.example.com',

 anonymousdomain: 'guest.jitsi.example.io',
Lưu cấu hình và thoát.

3. Tạo cấu hình mới, 'sip-communicator.properties', trong thư mục cấu hình jicofo.
Mã:
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Sao chép và dán cấu hình sau. Điều này sẽ cho phép các yêu cầu từ miền đã xác thực 'jitsi.example.io' đến jicofo.
Mã:
org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.io
lưu cấu hình và thoát.

4. Khởi động lại tất cả các dịch vụ Jitsi bằng lệnh sau để áp dụng cấu hình mới.
Mã:
sudo systemctl restart prosody
sudo systemctl restart jicofo
sudo systemctl restart jitsi-videobridge2
sudo systemctl restart nginx
5. Cuối cùng, bạn phải tạo người dùng điều hành mới cho Hội nghị truyền hình Jitsi của mình bằng lệnh prosodyctl bên dưới. Đảm bảo thay đổi người dùng, tên miền và mật khẩu.
Mã:
sudo prosodyctl register johndoe jitsi.example.io SecretPasswd
Bây giờ bạn đã bật thành công xác thực trên Hội nghị truyền hình Jitsi. Và bạn đã sẵn sàng bắt đầu cuộc họp đầu tiên mới với Jitsi.

Tạo cuộc họp đầu tiên với Jitsi​

1. Mở trình duyệt web của bạn và nhập tên miền cài đặt Jitsi của bạn vào thanh địa chỉ.


2. Để tạo phòng họp đầu tiên, hãy nhập tên phòng họp của bạn và nhấp vào nút 'Bắt đầu cuộc họp'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22519%22%3E%3C/svg%3E


3. Bạn sẽ nhận được cửa sổ bật lên 'Đang chờ máy chủ ...'. Nhấp vào nút 'Tôi là người chủ trì' để bắt đầu cuộc họp.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22211%22%3E%3C/svg%3E


4. Bây giờ, nhập tên người dùng và mật khẩu của người điều hành Jitsi, sau đó nhấp vào nút 'Đăng nhập'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E


5. Và bạn sẽ thấy màn hình phòng họp Jitsi của mình.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22409%22%3E%3C/svg%3E


Bây giờ bạn đã tạo cuộc họp đầu tiên bằng Jitsi Video Conference.

Kết luận​

Xin chúc mừng! Bạn đã học được cách cài đặt cơ bản Jitsi Video Conference trên Debian 11 Bullseye. Ngoài ra, bạn đã học cách thiết lập tường lửa UFW, thiết lập giới hạn hệ thống và tạo SSL Letsencrypt bằng công cụ certbot.

Vào cuối hướng dẫn, bạn đã học cách bật xác thực trên Jitsi và bắt đầu cuộc họp đầu tiên với Hội nghị truyền hình Jitsi.
 
Back
Bên trên