Matrix là một hệ sinh thái mới cho giao tiếp phi tập trung theo thời gian thực cho các dịch vụ nhắn tin tức thời liên bang mở 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ủ trang chủ Matrix được tạo bởi một nhóm Matrix 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ủ trang chủ của 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 cách cài đặt và cấu hình Matrix Synapse trên Ubuntu 20.04. Chúng tôi sẽ thiết lập Matrix Synapse với Nginx làm proxy ngược và bảo mật cài đặt bằng SSL do Letsencrypt cung cấp.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt Matrix Synapse trên Ubuntu 20.04 mới nhất với 1Gb RAM, 25GB dung lượng đĩa trống và 2CPU. Ngoài ra, bạn phải có quyền truy cập vào máy chủ của mình với quyền root.
Chúng ta sẽ làm gì?
Trước khi thực hiện thêm, hãy cài đặt một số gói phụ thuộc bằng lệnh apt bên dưới.
Sau đó, thêm khóa GPG và kho lưu trữ của Matrix Synapse cho hệ thống dựa trên Debian/Ubuntu.
Bây giờ hãy cập nhật danh sách kho lưu trữ tất cả các gói và cài đặt các gói Matrix Synapse.
Bây giờ bạn sẽ được yêu cầu cấu hình tên miền.
Nhập tên miền của bạn để cài đặt Matrix Synapse và chọn 'OK' để tiếp tục.
Đối với 'Thống kê dữ liệu ẩn danh', hãy chọn 'Không'.
Và quá trình cài đặt Matrix Synapse đã hoàn tất.
Tiếp theo, hãy khởi động dịch vụ 'matrix-synapse' và thêm dịch vụ này vào hệ thống khởi động.
Matrix Synapse đã hoạt động, hãy kiểm tra sử dụng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, Matrix Synapse đang chạy với cổng TCP mặc định '8008' trên Ubuntu 20.04.
Trước khi tiến hành thêm, hãy tạo bí mật đăng ký Matrix Synapse bằng lệnh sau.
Bây giờ bạn sẽ nhận được khóa ngẫu nhiên, hãy sao chép khóa và lưu vào ghi chú của bạn.
Tiếp theo, hãy đến thư mục '/etc/matrix-synapse' và chỉnh sửa cấu hình 'homeserver.yaml' bằng trình soạn thảo vim.
Di chuyển đến phần 'listeners' và thay đổi giá trị 'bind-addresses' bằng địa chỉ IP cục bộ như bên dưới.
Bây giờ hãy tắt Matrix Synapse nếu bạn chỉ chạy nút cho riêng bạn.
Thay đổi 'registration_shared_secret' bằng cụm mật khẩu ngẫu nhiên được tạo ở trên cùng.
Lưu và đóng.
Tiếp theo, khởi động lại dịch vụ Matrix Synapse để áp dụng cấu hình mới.
Kiểm tra dịch vụ bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là dịch vụ Matrix Synapse đã hoạt động với cấu hình mới.
Cài đặt công cụ certbot bằng lệnh apt bên dưới.
Sau đó, tạo chứng chỉ SSL mới bằng lệnh certbot bên dưới và đảm bảo thay đổi địa chỉ email và tên miền bằng tên của riêng bạn.
Sau khi hoàn tất, chứng chỉ SSL của bạn sẽ có tại thư mục '/etc/letsencrypt/live/domain.com/'.
'fullchain.pem' là khóa công khai và 'privkey.pem' là khóa riêng tư.
Máy chủ web Nginx sẽ chạy trên 3 cổng, cổng HTTP mặc định '80', cổng HTTPS an toàn '443' và cổng TCP '8448' sẽ được sử dụng cho liên kết Matrix Synapse.
Cài đặt các gói Nginx bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy vào thư mục '/etc/nginx/sites-available' và tạo cấu hình máy chủ ảo mới có tên là 'matrix' bằng trình soạn thảo vim.
Thay đổi tên miền và đường dẫn của chứng chỉ SSL bằng tên miền của riêng bạn, sau đó dán cấu hình vào đó.
Lưu và đóng.
Tiếp theo, kích hoạt virtualhost 'matrix' và kiểm tra cấu hình Nginx. Ngoài ra, hãy đảm bảo không có lỗi nào.
Bây giờ hãy khởi động lại dịch vụ Nginx và thêm nó vào hệ thống khởi động.
Sau đó, hãy kiểm tra dịch vụ Nginx bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, dịch vụ Nginx đã hoạt động trên Ubuntu 20.04 với ba cổng khác nhau, cổng HTTP mặc định 80 sẽ tự động được chuyển hướng đến cổng HTTPS an toàn và cổng '8448' sẽ được sử dụng cho Matrix Synapse Liên bang.
Thêm ssh, http, https và cổng TCP '8448' vào tường lửa UFW bằng lệnh bên dưới.
Sau đó, chạy và bật tường lửa UFW.
Gõ 'y' để xác nhận và tường lửa UFW đã hoạt động, hãy kiểm tra tất cả các quy tắc khả dụng trên tường lửa UFW bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, UFW cấu hình tường lửa đã hoàn tất.
Để tạo người dùng ma trận mới, hãy chạy lệnh bên dưới.
Bây giờ hãy nhập tên người dùng và mật khẩu cho người dùng của bạn, để biến người dùng thành quản trị viên, hãy nhập 'yes'.
Kết quả là, người dùng Matrix mới đã được tạo.
https://federationtester.matrix.org/
Bây giờ hãy nhập tên miền Matrix Synapse của bạn và nhấp vào nút 'Go', bạn sẽ nhận được kết quả thành công như bên dưới.
Như có thể thấy, Matrix Synapse Federation đang hoạt động thông qua cổng '8448'.
https://riot.im/app/
Nhấp vào nút 'Sign In' và bạn có thể sử dụng Matrix Synapse tùy chỉnh của mình máy chủ.
Nhập tên miền của bạn và nhấp vào 'Tiếp theo'.
Bây giờ hãy nhập tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập'.
Bạn sẽ được yêu cầu cung cấp thêm các câu hỏi bảo mật.
Sau khi đăng nhập, bạn sẽ nhận được trang sau.
Kết quả là quá trình cài đặt Matrix Synapse với proxy ngược Nginx và Liên kết được bật trên Ubuntu 20.04 đã hoàn tất thành công.
Synapse là một triển khai của máy chủ trang chủ Matrix được tạo bởi một nhóm Matrix 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ủ trang chủ của 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 cách cài đặt và cấu hình Matrix Synapse trên Ubuntu 20.04. Chúng tôi sẽ thiết lập Matrix Synapse với Nginx làm proxy ngược và bảo mật cài đặt bằng SSL do Letsencrypt cung cấp.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt Matrix Synapse trên Ubuntu 20.04 mới nhất với 1Gb RAM, 25GB dung lượng đĩa trống và 2CPU. Ngoài ra, bạn phải có quyền truy cập vào máy chủ của mình với quyền root.
Chúng ta sẽ làm gì?
- Cài đặt Matrix Synapse
- Cấu hình Matrix Synapse
- Tạo SSL Letsencrypt
- Thiết lập Nginx làm Proxy ngược
- Thiết lập Tường lửa UFW
- Đăng ký Người dùng Mới
- Kiểm tra
Bước 1 - Cài đặt Matrix Synapse
Đầu tiên, chúng ta sẽ cài đặt Matrix Synapse vào Ubuntu mới nhất 20.04 Server. Để thực hiện điều đó, chúng ta cần thêm khóa GPG và kho lưu trữ chính thức của Matrix Synapse.Trước khi thực hiện thêm, hãy cài đặt một số gói phụ thuộc bằng lệnh apt bên dưới.
Mã:
sudo apt install -y lsb-release wget apt-transport-https
Mã:
sudo wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
sudo tee /etc/apt/sources.list.d/matrix-org.list
Bây giờ hãy cập nhật danh sách kho lưu trữ tất cả các gói và cài đặt các gói Matrix Synapse.
Mã:
sudo apt update
sudo apt install matrix-synapse-py3
Nhập tên miền của bạn để cài đặt Matrix Synapse và chọn 'OK' để tiếp tục.
Đối với 'Thống kê dữ liệu ẩn danh', hãy chọn 'Không'.
Và quá trình cài đặt Matrix Synapse đã hoàn tất.
Tiếp theo, hãy khởi động dịch vụ 'matrix-synapse' và thêm dịch vụ này vào hệ thống khởi động.
Mã:
systemctl start matrix-synapse
systemctl enable matrix-synapse
Mã:
systemctl status matrix-synapse
ss -plnt
Kết quả là, Matrix Synapse đang chạy với cổng TCP mặc định '8008' trên Ubuntu 20.04.
Bước 2 - Cấu hình Matrix Synapse
Trong bước này, chúng ta sẽ cấu hình 'bind-addresses' cho Matrix synapse, vô hiệu hóa đăng ký trên máy chủ của chúng ta và thiết lập bí mật chia sẻ đăng ký.Trước khi tiến hành thêm, hãy tạo bí mật đăng ký Matrix Synapse bằng lệnh sau.
Mã:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Mã:
GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f
Mã:
cd /etc/matrix-synapse/
vim homeserver.yaml
Mã:
listeners:
- cổng: 8008
tls: false
loại: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]
compress: false
Mã:
enable_registration: false
Mã:
registration_shared_secret: "GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f"
Tiếp theo, khởi động lại dịch vụ Matrix Synapse để áp dụng cấu hình mới.
Mã:
systemctl restart matrix-synapse
Mã:
ss -plnt
systemctl status matrix-synapse
Kết quả là dịch vụ Matrix Synapse đã hoạt động với cấu hình mới.
Bước 3 - Tạo SSL Letsencrypt
Trong bước này, chúng ta sẽ tạo SSL Letsencrypt bằng công cụ certbot. Matrix Synapse sẽ chạy dưới kết nối HTTPS an toàn bằng chứng chỉ SSL do Letsencrypt cung cấp.Cài đặt công cụ certbot bằng lệnh apt bên dưới.
Mã:
sudo apt install certbot -y
Mã:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d hakase-labs.io
Sau khi hoàn tất, chứng chỉ SSL của bạn sẽ có tại thư mục '/etc/letsencrypt/live/domain.com/'.
Mã:
ls -lah /etc/letsencrypt/live/domain.com/
Bước 4 - Thiết lập Nginx làm Proxy ngược
Đối với hướng dẫn này, chúng ta sẽ chạy Matrix Synapse dưới proxy ngược Nginx. Và đối với bước này, chúng ta sẽ cài đặt các gói Nginx và thiết lập nó như một Proxy ngược.Máy chủ web Nginx sẽ chạy trên 3 cổng, cổng HTTP mặc định '80', cổng HTTPS an toàn '443' và cổng TCP '8448' sẽ được sử dụng cho liên kết Matrix Synapse.
Cài đặt các gói Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
Mã:
cd /etc/nginx/sites-available/
vim matrix
Mã:
server {
listen 80;
server_name hakase-labs.io;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name hakase-labs.io;
ssl_certificate /etc/letsencrypt/live/hakase-labs.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hakase-labs.io/privkey.pem;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
# Theo mặc định, Nginx chỉ cho phép tải lên tệp có kích thước tối đa 1M
# Tăng client_max_body_size để phù hợp với max_upload_size được xác định trong homeserver.yaml
client_max_body_size 10M;
}
}
# Điều này được sử dụng cho Matrix Federation
# đang sử dụng cổng TCP mặc định '8448'
server {
listen 8448 ssl;
server_name hakase-labs.io;
ssl_certificate /etc/letsencrypt/live/hakase-labs.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hakase-labs.io/privkey.pem;
location / {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Tiếp theo, kích hoạt virtualhost 'matrix' và kiểm tra cấu hình Nginx. Ngoài ra, hãy đảm bảo không có lỗi nào.
Mã:
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
Mã:
systemctl restart nginx
systemctl enable nginx
Sau đó, hãy kiểm tra dịch vụ Nginx bằng lệnh bên dưới.
Mã:
ss -plnt
systemctl status nginx
Kết quả là, dịch vụ Nginx đã hoạt động trên Ubuntu 20.04 với ba cổng khác nhau, cổng HTTP mặc định 80 sẽ tự động được chuyển hướng đến cổng HTTPS an toàn và cổng '8448' sẽ được sử dụng cho Matrix Synapse Liên bang.
Bước 5 - Tường lửa UFW
Đối với hướng dẫn này, chúng tôi sẽ chạy Matrix Synapse trên Ubuntu 20.04 với tường lửa UFW được bật.Thêm ssh, http, https và cổng TCP '8448' vào tường lửa UFW bằng lệnh bên dưới.
Mã:
for svc in ssh http https 8448
do
ufw allow $svc
done
Mã:
ufw enable
Mã:
ufw status numbered
Kết quả là, UFW cấu hình tường lửa đã hoàn tất.
Bước 6 - Đăng ký người dùng
Ở giai đoạn này, quá trình cài đặt và cấu hình máy chủ Matrix Synapse Home đã 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 Matrix 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ã:
sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml [URL=http://localhost?utm_source=diendancongnghe.com]http://localhost:8008[/URL]
Mã:
Người dùng mới localpart [root]: changbin
Mật khẩu:
Xác nhận mật khẩu:
Tạo admin [no]:
Đang gửi yêu cầu đăng ký...
Thành công!
Bước 7 - Kiểm tra
Đối với bước này, chúng tôi sẽ kiểm tra cài đặt máy chủ Matrix Synapse của mình.- Kiểm tra Matrix Synapse Liên bang
Truy cập URL Matrix Synapse Federation Tester bên dưới.https://federationtester.matrix.org/
Bây giờ hãy nhập tên miền Matrix Synapse của bạn và nhấp vào nút 'Go', bạn sẽ nhận được kết quả thành công như bên dưới.
Như có thể thấy, Matrix Synapse Federation đang hoạt động thông qua cổng '8448'.
- Kiểm tra Matrix Login bằng Người dùng và Mật khẩu
Truy cập vào ứng dụng Matrix client dựa trên web có tên là 'riot.im' theo URL bên dưới.https://riot.im/app/
Nhấp vào nút 'Sign In' và bạn có thể sử dụng Matrix Synapse tùy chỉnh của mình máy chủ.
Nhập tên miền của bạn và nhấp vào 'Tiếp theo'.
Bây giờ hãy nhập tên người dùng và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập'.
Bạn sẽ được yêu cầu cung cấp thêm các câu hỏi bảo mật.
Sau khi đăng nhập, bạn sẽ nhận được trang sau.
Kết quả là quá trình cài đặt Matrix Synapse với proxy ngược Nginx và Liên kết được bật trên Ubuntu 20.04 đã hoàn tất thành công.