Cách cài đặt Matrix Synapse Chat Server trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Matrix là giải pháp miễn phí, mã nguồn mở và dựa trên web được sử dụng cho dịch vụ nhắn tin và VoIP. Đây là giao thức VOIP chuẩn mở cho phép bạn giao tiếp với những người dùng khác trên một nhà cung cấp dịch vụ khác thông qua thoại qua IP và trò chuyện. Nó cung cấp API RESTful HTTP JSON để xây dựng các máy chủ trò chuyện phân tán và liên kết mà không có điểm kiểm soát và lỗi duy nhất và cung cấp tất cả các tham chiếu cho các API. Nó được viết bằng Python và cho phép bạn tạo máy chủ tại nhà và lưu trữ tất cả thông tin cá nhân của người dùng và lịch sử trò chuyện.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt Matrix Synapse trên Ubuntu 22.04.

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

  • Một máy chủ chạy Ubuntu 22.04.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Trước tiên, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản đã cập nhật. Bạn có thể thực hiện bằng lệnh sau:
Mã:
apt update -y
Sau khi tất cả các chỉ mục gói được cập nhật, hãy cài đặt các phụ thuộc bắt buộc khác bằng lệnh sau:
Mã:
apt install curl wget gnupg2 apt-transport-https -y
Sau khi tất cả các phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Matrix Synapse trên Ubuntu 22.04​

Theo mặc định, các gói Matrix Synapse không được bao gồm trong Ubuntu 22.04 kho lưu trữ mặc định. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức Matrix Synapse vào APT.

Đầu tiên, hãy tải xuống và thêm khóa GPG Matrix Synapse bằng lệnh sau:
Mã:
wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Tiếp theo, hãy thêm kho lưu trữ Matrix Synapse vào APT bằng lệnh sau:
Mã:
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/matrix-org.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt gói Matrix Synapse bằng lệnh sau:
Mã:
apt-get update -y
apt-get install matrix-synapse-py3 -y
Trong quá trình cài đặt, bạn sẽ được yêu cầu xác định tên miền của mình như hiển thị bên dưới:



Cung cấp tên miền của bạn và nhấn phím Enter. Bạn sẽ được yêu cầu báo cáo số liệu thống kê ẩn danh:



Chọn Có và nhấn phím Enter để tiếp tục.

Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Matrix và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh được cung cấp bên dưới:
Mã:
systemctl start matrix-synapse
systemctl enable matrix-synapse
Bạn cũng có thể kiểm tra trạng thái của Matrix Synapse bằng lệnh sau:
Mã:
systemctl status matrix-synapse
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? matrix-synapse.service - Máy chủ gia đình Synapse Matrix Đã tải: đã tải (/lib/systemd/system/matrix-synapse.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2022-06-04 08:01:22 UTC; 3 giây trước Tiến trình: 1916 ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.ya> PID chính: 1923 (python) Nhiệm vụ: 8 (giới hạn: 9460) Bộ nhớ: 78,6M CPU: 4,911 giây CGroup: /system.slice/matrix-synapse.service ??1923 /opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config>Jun 04 08:01:17 ubuntu2204 systemd[1]: Đang khởi động máy chủ Synapse Matrix...Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: Máy chủ này được cấu hình để sử dụng 'matrix.org' làm máy chủ khóa đáng tin cậy thông quaJun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: tùy chọn cấu hình 'trusted_key_servers'. 'matrix.org' là lựa chọn tốt cho khóaJun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: máy chủ vì nó tồn tại lâu dài, ổn định và đáng tin cậy. Tuy nhiên, một số quản trị viên có thểJun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: muốn sử dụng máy chủ khác cho mục đích này.Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: Để ẩn cảnh báo này và tiếp tục sử dụng 'matrix.org', quản trị viên nên đặtJun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: 'suppress_key_server_warning' thành 'true' trong homeserver.yaml.Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: --------------------------------------------------------------------------------Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: Cấu hình bị thiếu macaroon_secret_key
Tại thời điểm này, dịch vụ Matrix Synapse được khởi động và lắng nghe trên cổng 8008. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep python
Bạn sẽ nhận được kết quả sau:
Mã:
LISTEN 0 50 127.0.0.1:8008 0.0.0.0:* users:(("python",pid=1950,fd=12))LISTEN 0 50 [::1]:8008 [::]:* users:(("python",pid=1950,fd=11))

Cấu hình Matrix Synapse​

Sau khi cài đặt Matrix Synapse, bạn sẽ cần cấu hình nó. Trước tiên, tạo một secretes bằng lệnh sau:
Mã:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Bạn sẽ nhận được kết quả sau:
Mã:
R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s
Tiếp theo, chỉnh sửa tệp cấu hình mặc định của Matrix Synapse:
Mã:
nano /etc/matrix-synapse/homeserver.yaml
Xác định bind-address của bạn, vô hiệu hóa đăng ký và xác định secretes của bạn như được hiển thị bên dưới:
Mã:
bind_addresses: ['127.0.0.1'] enable_registration: false registration_shared_secret: "R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s"
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Matrix Synapse để áp dụng các thay đổi:
Mã:
systemctl restart matrix-synapse

Cấu hình Nginx làm Proxy ngược cho Matrix Synapse​

Bạn nên cấu hình Nginx làm proxy ngược cho Matix Synapse. Trước tiên, hãy cài đặt gói máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi Nginx được cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Mã:
nano /etc/nginx/conf.d/matrix.conf
Thêm cấu hình sau:
Mã:
server {listen 80;server_name matrix.linuxbuz.com;location / {proxy_pass http://localhost:8008;proxy_set_header X-Forwarded-For $remote_addr;}}
Lưu và đóng tệp để xác minh cấu hình Nginx bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ nhận được kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ thấy kết quả sau:
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Sat 2022-06-04 08:06:22 UTC; 26 giây trước Tài liệu: man:nginx(8) Tiến trình: 2433 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 2434 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 2436 (nginx) Nhiệm vụ: 5 (giới hạn: 9460) Bộ nhớ: 4,8M CPU: 58ms CGroup: /system.slice/nginx.service ??2436 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??2437 "nginx: tiến trình công nhân" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2438 "nginx: tiến trình công nhân" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2439 "nginx: tiến trình công nhân" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2440 "nginx: tiến trình công nhân" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""04/06 08:06:22 ubuntu2204 systemd[1]: Đang khởi động Máy chủ web hiệu suất cao và máy chủ proxy ngược...04/06 08:06:22 ubuntu2204 systemd[1]: Đang khởi động Máy chủ web hiệu suất cao và máy chủ proxy ngược.

Tạo Tài khoản Siêu người dùng​

Tiếp theo, bạn sẽ cần tạo tài khoản người dùng quản trị và đặt mật khẩu để truy cập Matrix Synapse.
Mã:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Cung cấp tài khoản người dùng quản trị của bạn và đặt mật khẩu như hiển thị bên dưới:
Mã:
Người dùng mới localpart [root]: matrixadminMật khẩu:Xác nhận mật khẩu:Tạo tài khoản quản trị [no]: yesĐang gửi yêu cầu đăng ký...Thành công!

Bảo mật Matrix Synapse bằng Let's Encrypt​

Bạn cũng nên bảo mật Matrix Synapse bằng Let's Encrypt SSL. Trước tiên, hãy cài đặt gói máy khách Certbot bằng lệnh sau:
Mã:
apt-get install certbot python3-certbot-nginx -y
Sau khi cài đặt gói Certbot, hãy chạy lệnh sau để cài đặt Let's Encrypt SSL:
Mã:
certbot
Bạn sẽ được yêu cầu cung cấp địa chỉ email và đồng ý với điều khoản dịch vụ:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' để hủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME. Bạn có đồng ý không?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)es/(K)o: C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có đồng ý, sau khi chứng chỉ đầu tiên của bạn được cấp thành công,chia sẻ địa chỉ email của bạn với Electronic Frontier Foundation, mộtđối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc mã hóa web,tin tức EFF, các chiến dịch và cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CTài khoản đã đăng ký.
Bạn sẽ được yêu cầu chọn trang web mà bạn muốn cài đặt SSL:
Mã:
Bạn muốn kích hoạt HTTPS cho những tên nào?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: matrix.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn các số thích hợp được phân cách bằng dấu phẩy và/hoặc dấu cách hoặc để trốngđể chọn tất cả các tùy chọn hiển thị (Nhập 'c' để hủy): 1
Nhập 1 và nhấn phím Enter để cài đặt Let's Encrypt SSL vào trang web của bạn.
Mã:
Yêu cầu cấp chứng chỉ cho matrix.linuxbuz.comĐã nhận được chứng chỉ thành công.Chứng chỉ được lưu tại: /etc/letsencrypt/live/matrix.linuxbuz.com/fullchain.pemKhóa được lưu tại: /etc/letsencrypt/live/matrix.linuxbuz.com/privkey.pemChứng chỉ này hết hạn vào ngày 2022-09-02.Các tệp này sẽ được cập nhật khi chứng chỉ được gia hạn.Certbot đã thiết lập một tác vụ theo lịch trình để tự động gia hạn chứng chỉ này ở chế độ nền.Đang triển khai chứng chỉĐã triển khai thành công chứng chỉ cho matrix.linuxbuz.com tới /etc/nginx/conf.d/matrix.confXin chúc mừng! Bạn đã bật HTTPS thành công trên https://matrix.linuxbuz.comChúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: * Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate * Quyên góp cho EFF: https://eff.org/donate-le- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Truy cập Matrix Synapse​

Bây giờ bạn có thể xác minh cài đặt Matrix Synapse bằng URL trên trình duyệt web của mình. Bạn sẽ thấy màn hình sau:



Bạn cũng có thể xác minh Matrix Synapse của mình bằng ứng dụng khách dựa trên web Riot . Bạn sẽ thấy màn hình sau:



Nhấp vào nút Chỉnh sửa. Bạn sẽ thấy màn hình sau:



Cung cấp URL máy chủ Matrix của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang đăng nhập Matrix:



Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nútĐăng nhập. Sau khi bạn đã kết nối với máy chủ Matrix Synapse. Bạn sẽ thấy màn hình sau:


Kết luận​

Trong bài đăng này, bạn đã tìm hiểu cách cài đặt Matrix Synapse với Nginx làm proxy ngược trên máy chủ Ubuntu 22.04. Bạn cũng xác minh Matrix Synapse bằng ứng dụng khách dựa trên web Riot. Bây giờ bạn có thể xây dựng máy chủ VOIP của riêng mình bằng cách sử dụng Matrix Synapse.
 
Back
Bên trên