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

theanh

Administrator
Nhân viên
Matrix là một hệ sinh thái mới cho giao tiếp phi tập trung theo thời gian thực dành cho dịch vụ nhắn tin tức thời liên bang mở và dịch vụ VoIP. 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 bang 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.

Synapse là một triển khai của máy chủ gia đình Matrix do nhóm Matrix tạo ra và được viết bằng Python/Twisted. Với phần mềm này, chúng ta có thể triển khai theo cách Matrix cho giao tiếp phi tập trung, chúng ta có thể tạo máy chủ gia đình của riêng mình và lưu trữ tất cả thông tin cá nhân của người dùng, lịch sử trò chuyện, tạo phòng để sử dụng riêng, v.v.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình Matrix Synapse trên Ubuntu 18.04. Chúng tôi sẽ cấu hình Matrix Synapse trên địa chỉ IP cục bộ và cấu hình máy chủ web Nginx làm proxy ngược cho nó, đồng thời triển khai kết nối HTTPS giữa máy khách và máy chủ web Nginx phía trước.

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

  • Ubuntu 18.04
  • Quyền root
  • Tên miền Matrix hoặc tên miền phụ - matrix.hakase-labs.io

Chúng tôi sẽ làm gì?​

  1. Cập nhật và nâng cấp Ubuntu 18.04 Hệ thống
  2. Cài đặt Matrix Synapse
  3. Cấu hình Matrix Synapse
  4. Tạo SSL Letsencrypt
  5. Cài đặt và cấu hình Nginx làm proxy ngược cho Matrix Synapse
  6. Thiết lập tường lửa UFW
  7. Thiết lập người dùng Matrix mới
  8. Kiểm tra

Bước 1 - Cập nhật và nâng cấp hệ thống​

Đăng nhập vào máy chủ Ubuntu của bạn, cập nhật kho lưu trữ và nâng cấp tất cả các gói bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt upgrade
Và tất cả các gói ubuntu đã được nâng cấp.

Bước 2 - Cài đặt Matrix Synapse​

Trong bước này, chúng ta sẽ cài đặt phần mềm matrix synapse bằng các gói Debian từ kho lưu trữ matrix chính thức.

Thêm khóa matrix và kho lưu trữ bằng cách chạy tất cả các lệnh bên dưới.
Mã:
wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/
Lệnh này sẽ tự động cập nhật kho lưu trữ.



Bây giờ hãy cài đặt matrix synapse bằng lệnh apt như bên dưới.
Mã:
sudo apt install matrix-synapse -y
Trong quá trình cài đặt, nó sẽ hỏi bạn về tên máy chủ ma trận - hãy nhập tên miền ma trận 'matrix.hakase-labs.io'.



Và đối với báo cáo dữ liệu ẩn danh, hãy chọn 'Không'.



Khi quá trình cài đặt matrix synapse hoàn tất, hãy khởi động dịch vụ và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse
Hiện tại, matrix synapse đã hoạt động và sử dụng cấu hình mặc định trên cổng '8008' và '8448'. Kiểm tra bằng lệnh netstat.
Mã:
netstat -plntu

Bước 3 - Cấu hình Matrix Synapse​

Sau khi cài đặt matrix synapse, chúng ta sẽ cấu hình để chạy dưới địa chỉ IP cục bộ, vô hiệu hóa đăng ký matrix synapse và kích hoạt registration-shared-secret.

Trước khi chỉnh sửa cấu hình máy chủ tại nhà, chúng ta cần tạo khóa bí mật được chia sẻ.

Chạy lệnh bên dưới.
Mã:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Và bạn sẽ nhận được khóa đã tạo. Sao chép khóa kết quả.

Bây giờ chúng ta cần chỉnh sửa tệp cấu hình máy chủ gốc 'homeserver.yaml' trong thư mục '/etc/matrix-synapse/'. Thay đổi thư mục hiện tại thành '/etc/matrix-synapse' và chỉnh sửa tệp cấu hình bằng vim.
Mã:
cd /etc/matrix-synapse/
vim homeserver.yaml
Thay đổi cổng HTTP và HTTPS Listener '8008' và '8448' thành địa chỉ IP cục bộ '127.0.0.1'.
Mã:
port: 8448 bind_addresses: - '127.0.0.1' - port: 8008 bind_addresses: ['127.0.0.1']




Vô hiệu hóa đăng ký synapse ma trận, bỏ chú thích cho cấu hình 'registration_shared_secret' và dán khóa bí mật đã tạo.
Mã:
enable_registration: Falseregistration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"
Lưu và thoát.

Lưu ý:

registration_shared_secret: Nếu được đặt, cho phép bất kỳ ai cũng có bí mật được chia sẻ đăng ký, ngay cả khi việc đăng ký bị vô hiệu hóa.

Bây giờ hãy khởi động lại dịch vụ matrix synapse.
Mã:
sudo systemctl restart matrix-synapse


Kiểm tra dịch vụ máy chủ gia đình bằng lệnh bên dưới.
Mã:
netstat -plntu
Bạn sẽ thấy dịch vụ matrix synapse hiện nằm trên địa chỉ IP cục bộ.



Và chúng ta đã hoàn tất cài đặt và cấu hình matrix synapse.

Bước 4 - Tạo chứng chỉ SSL Letsencrypt​

Trong hướng dẫn này, chúng ta sẽ bật HTTPS cho proxy ngược Nginx và chúng ta sẽ tạo các tệp chứng chỉ SSL từ Letsencrypt.

Cài đặt công cụ letsencrypt bằng lệnh apt bên dưới.
Mã:
sudo apt install letsencrypt -y
Công cụ Letsencrypt đã được cài đặt trên hệ thống, bây giờ hãy tạo các tệp chứng chỉ SSL cho tên miền matrix 'matrix.hakase-labs.io' bằng lệnh certbot như hiển thị bên dưới.
Mã:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d matrix.hakase-labs.io
Công cụ Letsencrypt sẽ tạo các tệp chứng chỉ SSL bằng cách chạy máy chủ web tạm thời 'standalone' để xác minh.

Và khi hoàn tất, bạn sẽ nhận được kết quả như hiển thị bên dưới.



Các tệp chứng chỉ SSL cho tên miền synapse ma trận 'matrix.hakase-labs.io' được tạo bên trong thư mục '/etc/letsencrypt/live/'.

Bước 5 - Cài đặt và cấu hình Nginx làm Proxy ngược​

Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx và cấu hình nó làm proxy ngược cho máy chủ gia đình đang chạy trên cổng '8008'.

Cài đặt máy chủ web Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ và cho phép dịch vụ khởi chạy mọi lúc khi khởi động hệ thống
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
Tiếp theo, chúng ta sẽ tạo cấu hình máy chủ ảo mới cho tên miền ma trận 'matrix.hakase-labs.io'.

Đi tới thư mục cấu hình '/etc/nginx' và tạo tệp máy chủ ảo mới 'matrix'.
Mã:
cd /etc/nginx/
vim sites-available/matrix
Dán cấu hình sau vào đó.
Mã:
server { listen 80; server_name matrix.hakase-labs.io; trả về 301 https://$server_name$request_uri;}server { lắng nghe 443 ssl; lắng nghe [::]:443 ssl; server_name matrix.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/matrix.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/matrix.hakase-labs.io/privkey.pem; # Nếu bạn không muốn phục vụ một trang web, hãy bình luận điều này root /var/www/html; index index.html index.htm; location /_matrix { proxy_pass http://127.0.0.1:8008; proxy_set_header X-Forwarded-For $remote_addr; }}
Lưu và thoát.

Kích hoạt tệp máy chủ ảo và kiểm tra cấu hình.
Mã:
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
Đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Nginx.
Mã:
sudo systemctl restart nginx
Quá trình cài đặt và cấu hình Nginx làm proxy ngược cho máy chủ gia đình Matrix Synapse đã hoàn tất.


Bước 6 - Thiết lập Tường lửa UFW​

Trong hướng dẫn này, chúng tôi sẽ chỉ mở ba cổng cho các dịch vụ của mình. Chúng tôi sẽ chỉ cho phép kết nối SSH, HTTP và HTTPS trên cấu hình tường lửa UFW.

Thêm các dịch vụ SSH, HTTP và HTTPS vào cấu hình tường lửa UFW bằng cách chạy lệnh bên dưới.
Mã:
ufw allow ssh
ufw allow http
ufw allow https


Bây giờ hãy bật dịch vụ tường lửa UFW rồi kiểm tra trạng thái.
Mã:
ufw enable
ufw status
Và bạn sẽ nhận được kết quả như hiển thị bên dưới.



Và chúng tôi đã hoàn tất cấu hình tường lửa UFW.

Bước 7 - Tạo Người dùng Matrix mới​

Ở giai đoạn này, quá trình cài đặt và cấu hình máy chủ tại nhà Matrix Synapse đã hoàn tất. Và trong bước này, chúng tôi sẽ chỉ cho bạn cách thêm người dùng ma trận mới từ máy chủ dòng lệnh.

Để tạo người dùng ma trận mới, hãy chạy lệnh bên dưới.
Mã:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448
Bây giờ bạn cần nhập tên người dùng, mật khẩu và quyết định xem người dùng có quyền quản trị viên hay không.

Dưới đây là kết quả trên hệ thống của tôi.



Và chúng tôi đã tạo một người dùng ma trận mới có tên là 'hakase' với quyền quản trị viên.

Bước 8 - Kiểm tra​

Tải xuống ứng dụng Riot dành cho máy tính để bàn cho hệ điều hành của bạn và cài đặt.

Mở phần mềm Riot và bạn sẽ thấy trang đăng nhập Matrix như bên dưới.



Nhập tên người dùng và mật khẩu của Matrix, sau đó chọn tùy chọn 'Máy chủ tùy chỉnh' và nhập tên miền tùy chỉnh 'matrix.hakase-labs.io'.

Nhấp vào nút 'Đăng nhập'.

Và bây giờ bạn sẽ nhận được Riot Dashboard.



Máy chủ gốc Matrix Synapse đang hoạt động dưới kết nối HTTPS của proxy ngược Nginx và người dùng 'hakase' hiện đã đăng nhập vào máy chủ gốc Matrix bằng máy tính để bàn ứng dụng Riot.

Cấu hình người dùng Matrix.



Người dùng trò chuyện Matrix dưới dạng Nhóm.


Tham khảo​

 
Back
Bên trên