Cách cài đặt Jitsi Meet trên Ubuntu 18.04
Jitsi Meet là một ứng dụng hội nghị truyền hình open-souce dựa trên WebRTC . Server Jitsi Meet cung cấp các phòng hội nghị video nhiều người mà bạn có thể truy cập bằng trình duyệt của bạn và cung cấp chức năng tương đương với cuộc gọi hội nghị Zoom hoặc Skype. Lợi ích của hội nghị Jitsi là tất cả dữ liệu chỉ đi qua server của bạn và mã hóa TLS end-to-end đảm bảo không ai có thể rình mò cuộc gọi. Với Jitsi, bạn có thể chắc chắn rằng thông tin cá nhân của bạn vẫn như vậy.Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình server Jitsi Meet trên Ubuntu 18.04. Cấu hình mặc định cho phép mọi người tạo một phòng họp mới. Điều này không lý tưởng cho một server công khai trên internet vì vậy bạn cũng sẽ cấu hình Jitsi Meet để chỉ những user đã đăng ký mới có thể tạo phòng hội nghị mới. Sau khi bạn đã tạo phòng họp, mọi user cũng có thể tham gia, miễn là họ có địa chỉ duy nhất và password tùy chọn.
Yêu cầu
Trước khi bắt đầu hướng dẫn này, bạn cần những thứ sau:
- Một server Ubuntu 18.04 được cài đặt theo hướng dẫn Cài đặt server ban đầu với Ubuntu 18.04 , bao gồm cả user không hỗ trợ sudo root. Kích thước của server bạn cần chủ yếu phụ thuộc vào băng thông khả dụng và số lượng người tham gia mà bạn mong đợi sẽ sử dụng server . Bảng sau đây sẽ cung cấp cho bạn một số ý tưởng về những gì cần thiết.
-  Tên domain  được  cấu hình  để trỏ đến  server  của bạn. Bạn có thể tìm hiểu cách trỏ domain  và tên  server  tới DigitalOcean Server bằng cách tham khảo hướng dẫn Miền và DNS . Trong suốt hướng dẫn này, domain  jitsi.example.comđược sử dụng.
Khi bạn đang chọn một server để chạy version Jitsi Meet của bạn , bạn cần xem xét các tài nguyên hệ thống cần thiết để tổ chức các phòng hội nghị. Thông tin điểm chuẩn sau được thu thập từ một máy ảo lõi đơn bằng cách sử dụng cài đặt video chất lượng cao:
| CPU | Băng thông server | |
|---|---|---|
| Hai người tham gia | 3% | Tăng 30Kb / giây, Giảm 100Kb / giây | 
| Ba người tham gia | 15% | Tăng 7Mbps, Giảm 6.5Mbps | 
Sự tăng vọt trong việc sử dụng tài nguyên giữa hai và ba người tham gia là do Jitsi sẽ định tuyến dữ liệu cuộc gọi trực tiếp giữa các client khi có hai trong số họ. Khi có nhiều hơn hai client thì dữ liệu cuộc gọi được định tuyến thông qua server Jitsi Meet.
Bước 1 - Đặt tên server hệ thống
 Trong bước này, bạn sẽ thay đổi tên  server  của hệ thống để  trùng với  domain  mà bạn định sử dụng cho version  Jitsi Meet  của bạn  và chuyển tên  server  đó thành IP localhost, 127.0.0.1 . Jitsi Meet sử dụng cả hai cài đặt này khi cài đặt và tạo file  cấu hình.
 Đầu tiên, đặt tên  server  của hệ thống thành domain  mà bạn sẽ sử dụng cho version  Jitsi  của bạn . Lệnh sau sẽ đặt tên  server  hiện tại và sửa đổi /etc/hostname giữ tên  server  của hệ thống giữa các lần khởi động lại:
- sudo hostnamectl set-hostname jitsi.your-domain 
Lệnh bạn chạy được chia nhỏ như sau:
-  hostnamectllà một tiện ích từ bộ công cụ systemd để quản lý tên server hệ thống.
-  set-hostnameđặt tên server hệ thống.
Kiểm tra xem việc này có thành công hay không bằng cách chạy như sau:
- hostname 
Thao tác này sẽ trả về tên  server  mà bạn đã đặt bằng lệnh hostnamectl :
Outputjitsi.your-domain Tiếp theo, bạn sẽ  cài đặt  ánh xạ local  tên  server  của  server  thành địa chỉ IP lặp lại, 127.0.0.1 . Thực hiện việc này bằng cách mở file  /etc/hosts bằng editor :
- sudo nano /etc/hosts 
Sau đó, thêm dòng sau:
127.0.0.1 jitsi.your-domain Việc ánh xạ domain  của  server  Jitsi Meet của bạn thành 127.0.0.1 cho phép  server  Jitsi Meet của bạn sử dụng một số quy trình được nối mạng chấp nhận các kết nối local  của nhau trên địa chỉ IP 127.0.0.1 . Các kết nối này được xác thực và mã hóa bằng certificate  TLS, được đăng ký với domain  của bạn. Ánh xạ local  domain  tới 127.0.0.1 giúp bạn có thể sử dụng certificate  TLS cho các kết nối mạng local  này.
Lưu và thoát khỏi file của bạn.
Server của bạn bây giờ có tên server mà Jitsi yêu cầu để cài đặt. Trong bước tiếp theo, bạn sẽ mở các cổng firewall mà Jitsi và trình cài đặt certificate TLS cần.
Bước 2 - Cấu hình firewall
Khi bạn làm theo hướng dẫn Cài đặt server ban đầu với Ubuntu 18.04, bạn đã bật firewall UFW và mở cổng SSH. Server Jitsi cần một số cổng được mở để có thể giao tiếp với các client cuộc gọi. Ngoài ra, quá trình cài đặt TLS cần phải mở một cổng để nó có thể xác thực certificate request .
Các cổng mà bạn sẽ mở như sau:
-  80/tcpđược sử dụng trong certificate request TLS.
-  443/tcpđược sử dụng cho trang web tạo phòng họp.
-  4443/tcp,10000/udpđược sử dụng để truyền và nhận lưu lượng cuộc gọi được mã hóa.
 Chạy các lệnh ufw sau để mở các cổng này:
- sudo ufw allow 80/tcp 
- sudo ufw allow 443/tcp 
- sudo ufw allow 4443/tcp 
- sudo ufw allow 10000/udp 
Kiểm tra xem tất cả chúng đã được thêm vào bằng lệnh ufw status :
- sudo ufw status 
Bạn sẽ thấy kết quả sau nếu các cổng này đang mở:
OutputStatus: active  To                         Action      From --                         ------      ---- OpenSSH                    ALLOW       Anywhere 80/tcp                     ALLOW       Anywhere 443/tcp                    ALLOW       Anywhere 4443/tcp                   ALLOW       Anywhere 10000/udp                  ALLOW       Anywhere OpenSSH (v6)               ALLOW       Anywhere (v6) 80/tcp (v6)                ALLOW       Anywhere (v6) 443/tcp (v6)               ALLOW       Anywhere (v6) 4443/tcp (v6)              ALLOW       Anywhere (v6) 10000/udp (v6)             ALLOW       Anywhere (v6) Server hiện đã sẵn sàng để cài đặt Jitsi, bạn sẽ hoàn thành bước này trong bước tiếp theo.
Bước 3 - Cài đặt Jitsi Meet
Trong bước này, bạn sẽ thêm repository ổn định Jitsi vào server của bạn và sau đó cài đặt gói Jitsi Meet từ repository đó. Điều này sẽ đảm bảo bạn luôn chạy gói Jitsi Meet ổn định mới nhất.
 Đầu tiên,  download  khóa Jitsi GPG bằng tiện ích  download  wget :
- wget https://download.jitsi.org/jitsi-key.gpg.key 
Trình quản lý gói apt sẽ sử dụng khóa GPG này để xác thực các gói mà bạn sẽ  download  từ repository  Jitsi.
 Tiếp theo, thêm khóa GPG bạn đã tải về để apt 's keyring sử dụng apt-key tiện ích:
- sudo apt-key add jitsi-key.gpg.key 
Đến đây bạn có thể xóa file khóa GPG vì nó không còn cần thiết nữa:
- rm jitsi-key.gpg.key 
Bây giờ, bạn sẽ thêm repository Jitsi vào server của bạn bằng cách tạo một file nguồn mới chứa repository Jitsi. Mở và tạo file mới bằng editor :
- sudo nano /etc/apt/sources.list.d/jitsi-stable.list 
Thêm dòng này vào file cho repository Jitsi:
deb https://download.jitsi.org stable/ Lưu và thoát khỏi editor .
 Cuối cùng, thực hiện cập nhật hệ thống để thu thập danh sách gói từ repository  Jitsi và sau đó cài đặt gói jitsi-meet :
- sudo apt update 
- sudo apt install jitsi-meet 
Trong quá trình cài đặt jitsi-meet bạn sẽ  được yêu cầu  nhập domain  (ví dụ: jitsi.your-domain ) mà bạn muốn sử dụng cho version  Jitsi Meet  của bạn . 
 Lưu ý: Bạn di chuyển con trỏ từ trường tên  server  để tô sáng nút <OK> bằng TAB . Nhấn ENTER khi <OK> được đánh dấu để gửi tên  server .
Sau đó, bạn sẽ được hiển thị một hộp thoại mới hỏi bạn có muốn Jitsi tạo và sử dụng certificate TLS tự ký hay sử dụng certificate hiện có mà bạn đã có:
Nếu bạn không có certificate TLS cho domain Jitsi của bạn , hãy chọn tùy chọn đầu tiên, Tạo certificate tự ký mới .
Phiên bản Jitsi Meet của bạn hiện đã được cài đặt bằng certificate TLS tự ký. Điều này sẽ gây ra cảnh báo trình duyệt, vì vậy bạn sẽ nhận được certificate TLS đã ký trong bước tiếp theo.
Bước 4 - Lấy certificate TLS đã ký
Jitsi Meet sử dụng certificate TLS để mã hóa lưu lượng cuộc gọi để không ai có thể nghe cuộc gọi của bạn khi cuộc gọi di chuyển qua internet. Chứng chỉ TLS là certificate giống nhau được các trang web sử dụng để kích hoạt URL HTTPS.
Jitsi Meet cung cấp một chương trình để tự động download certificate TLS cho domain của bạn có sử dụng trình Certbot . Bạn cần cài đặt chương trình này trước khi chạy lệnh cài đặt certificate .
Đầu tiên, thêm repository Certbot vào hệ thống của bạn đảm bảo rằng bạn có version Certbot mới nhất. Chạy lệnh sau để thêm repository mới và cập nhật hệ thống của bạn:
- sudo add-apt-repository ppa:certbot/certbot 
Tiếp theo, cài đặt gói certbot :
- sudo apt install certbot 
Server của bạn hiện đã sẵn sàng để chạy chương trình cài đặt certificate TLS do Jitsi Meet cung cấp:
- sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh 
Khi bạn chạy tập lệnh, bạn sẽ được hiển thị dấu nhắc sau cho một địa chỉ email:
Output------------------------------------------------------------------------- This script will: - Need a working DNS record pointing to this machine(for domain jitsi.example.com) - Download certbot-auto from https://dl.eff.org to /usr/local/sbin - Install additional dependencies in order to request Let’s Encrypt certificate - If running with jetty serving web content, will stop Jitsi Videobridge - Configure and reload nginx or apache2, whichever is used - Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks - Add command in weekly cron job to renew certificates regularly  You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) by providing an email address for important account notifications Enter your email and press [ENTER]: Địa chỉ email này sẽ được gửi cho tổ chức phát hành certificate  https://letsencrypt.org và sẽ được sử dụng để thông báo cho bạn về bảo mật và các vấn đề khác liên quan đến certificate  TLS. Bạn phải nhập địa chỉ email vào đây để tiến hành cài đặt. Quá trình cài đặt sẽ hoàn tất mà không cần thêm bất kỳ  dấu nhắc  nào.
 Khi quá trình kết thúc, version  Jitsi Meet của bạn sẽ được  cấu hình  để sử dụng certificate  TLS đã ký cho domain  của bạn. Việc gia hạn certificate  cũng sẽ tự động diễn ra vì trình cài đặt đã đặt một tập lệnh gia hạn tại /etc/cron.weekly/letsencrypt-renew sẽ chạy mỗi tuần.
 Trình cài đặt TLS đã sử dụng cổng 80 để  xác minh  bạn có quyền kiểm soát domain   của bạn .  Đến đây bạn  đã có được certificate   server  của bạn không còn cần phải có cổng 80 mở vì cổng 80 được sử dụng cho thường không được mã hóa HTTP giao thông,. Jitsi Meet chỉ phục vụ trang web  của bạn  qua HTTPS trên cổng 443 .
 Đóng cổng này trong firewall  của bạn bằng lệnh ufw sau:
- sudo ufw delete allow 80/tcp 
Server Jitsi Meet của bạn hiện đã hoạt động và sẵn sàng để thử nghiệm. Mở trình duyệt và trỏ nó đến domain của bạn. Bạn có thể tạo một phòng họp mới và mời những người khác tham gia cùng bạn.
Cấu hình mặc định cho Jitsi Meet là bất kỳ ai truy cập trang chủ server Jitsi Meet của bạn đều có thể tạo phòng hội thảo mới. Điều này sẽ sử dụng tài nguyên hệ thống của server của bạn để chạy phòng hội nghị và không mong muốn cho những user lạ . Trong bước tiếp theo, bạn sẽ cấu hình version Jitsi Meet của bạn để chỉ cho phép những user đã đăng ký tạo phòng hội nghị.
Bước 5 - Khóa tạo hội nghị
Trong bước này, bạn sẽ cấu hình server Jitsi Meet của bạn để chỉ cho phép user đã đăng ký tạo phòng hội nghị. Các file mà bạn sẽ chỉnh sửa được tạo bởi trình cài đặt và được cấu hình với domain của bạn.
 Biến your_domain sẽ được sử dụng thay cho domain  trong các ví dụ sau.
 Đầu tiên, mở sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua bằng editor :
- sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua 
Chỉnh sửa dòng này:
...         authentication = "anonymous" ... Theo sau:
...         authentication = "internal_plain" ... Cấu hình này yêu cầu Jitsi Meet buộc xác thực tên user và password trước khi cho phép khách mới tạo phòng họp.
Sau đó, trong cùng một file , hãy thêm phần sau vào cuối file :
... VirtualHost "guest.your_domain"     authentication = "anonymous"     c2s_require_encryption = false Cấu hình này cho phép user ẩn danh tham gia các phòng hội nghị được tạo bởi user đã xác thực. Tuy nhiên, khách phải có một địa chỉ duy nhất và một password tùy chọn để vào phòng.
 Ở đây, bạn đã thêm guest. ở phía trước domain  của bạn. Ví dụ: đối với jitsi.your-domain bạn sẽ đặt guest.jitsi.your-domain . Vị guest. tên  server  chỉ được sử dụng trong nội bộ Jitsi Meet. Bạn sẽ không bao giờ nhập nó vào trình duyệt hoặc cần tạo bản ghi DNS cho nó.
 Mở file  cấu hình khác tại /etc/jitsi/meet/your_domain-config.js bằng  editor  văn bản:
- sudo nano /etc/jitsi/meet/your_domain-config.js 
Chỉnh sửa dòng này:
...         // anonymousdomain: 'guest.example.com', ... Theo sau:
...         anonymousdomain: 'guest.your_domain', ...   , bằng cách sử dụng guest. your_domain hostname mà bạn đã sử dụng trước đó, cấu hình này cho Jitsi Meet biết tên  server  nội bộ nào sẽ sử dụng cho khách chưa được xác thực.
 Tiếp theo, mở /etc/jitsi/jicofo/sip-communicator.properties :
- sudo nano /etc/jitsi/jicofo/sip-communicator.properties 
Và thêm dòng sau để hoàn tất các thay đổi cấu hình:
org.jitsi.jicofo.auth.URL=XMPP:your_domain Cấu hình này trỏ một trong các quy trình Jitsi Meet tới server local thực hiện xác thực user hiện được yêu cầu.
Phiên bản Jitsi Meet của bạn hiện đã được cấu hình để chỉ những user đã đăng ký mới có thể tạo phòng hội nghị. Sau khi một phòng hội thảo được tạo, bất kỳ ai cũng có thể tham gia mà không cần phải là user đã đăng ký. Tất cả những gì họ cần là địa chỉ phòng họp duy nhất và một password tùy chọn do người tạo phòng đặt.
 Bây giờ Jitsi Meet được  cấu hình  để yêu cầu  user  xác thực để tạo phòng, bạn cần đăng ký những  user  này và password  của họ. Bạn sẽ  sử dụng trình  prosodyctl để thực hiện việc này.
Chạy lệnh sau để thêm user vào server của bạn:
- sudo prosodyctl register user your_domain password 
User mà bạn thêm vào đây không phải là user hệ thống. Họ sẽ chỉ có thể tạo phòng hội nghị và không thể đăng nhập vào server của bạn qua SSH.
Cuối cùng, khởi động lại các quy trình Jitsi Meet để tải cấu hình mới:
- sudo systemctl restart prosody.service 
- sudo systemctl restart jicofo.service 
- sudo systemctl restart jitsi-videobridge2.service 
Phiên bản Jitsi Meet bây giờ sẽ yêu cầu tên user và password với hộp thoại khi một phòng hội nghị được tạo.
Server Jitsi Meet của bạn hiện đã được cài đặt và cấu hình an toàn.
Kết luận
Trong bài viết này, bạn đã triển khai server Jitsi Meet mà bạn có thể sử dụng để tổ chức các phòng hội nghị video riêng tư và an toàn. Bạn có thể mở rộng version Jitsi Meet của bạn bằng các hướng dẫn từ Jitsi Meet Wiki .
Các tin liên quan
Cách cài đặt và bảo mật Grafana trên Ubuntu 20.042020-05-28
Cách lấy chứng chỉ Let's Encrypt sử dụng xác thực DNS với acme-dns-certbot trên Ubuntu 18.04
2020-05-28
Cách cài đặt và cấu hình Postfix trên Ubuntu 20.04
2020-05-21
Cách cài đặt R trên Ubuntu 20.04 [Khởi động nhanh]
2020-05-19
Cách cài đặt Composer trên Ubuntu 20.04 [Quickstart]
2020-05-19
Cách cài đặt và cấu hình Nextcloud trên Ubuntu 20.04
2020-05-18
Cách cài đặt và cấu hình Ansible trên Ubuntu 20.04
2020-05-15
Cách cài đặt R trên Ubuntu 18.04
2020-05-14
Cách cài đặt R trên Ubuntu 18.04 [Khởi động nhanh]
2020-05-14
Cách thiết lập NFS Mount trên Ubuntu 20.04
2020-05-14
 

