如何在Ubuntu 18.04 LTS上安装Matrix Synapse Chat
Matrix是一种用于开放式联合即时消息和VoIP服务的实时分散通信的新生态系统。 它提供RESTful HTTP JSON API,用于构建分布式和联合聊天服务器,没有单点控制和故障,并提供API的所有引用。
Synapse是矩阵管理服务器的一个实现,由矩阵团队创建并用Python / Twisted编写。 有了这个软件,我们可以实现分散通信的矩阵方式,我们可以创建自己的家庭服务器并存储所有用户个人信息,聊天记录,创建自己使用的房间等。
在本教程中,我们将逐步介绍如何在Ubuntu 18.04上安装和配置Matrix Synapse。 我们将在本地IP地址上配置Matrix Synapse,并将Nginx Web服务器配置为它的反向代理,并在客户端和前端Nginx Web服务器之间实现HTTPS连接。
先决条件
- Ubuntu 18.04
- Root权限
- Matrix域名或子域 - matrix.hakase-labs.io
我们将要做什么?
- 更新和升级Ubuntu 18.04系统
- 安装Matrix Synapse
- 配置Matrix Synapse
- 生成SSL Letsencrypt
- 安装和配置Nginx作为Matrix Synapse的反向代理
- 设置UFW防火墙
- 设置新矩阵用户
- 测试
第1步 - 更新和升级系统
登录到您的Ubuntu服务器,使用下面的apt命令更新存储库并升级所有软件包。
sudo apt update
sudo apt upgrade
并且所有ubuntu软件包都已升级。
第2步 - 安装Matrix Synapse
在这一步中,我们将使用官方矩阵存储库中的Debian软件包安装矩阵式synapse软件。
通过运行以下所有命令添加矩阵键和存储库。
wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/
该命令将自动更新存储库。
现在使用apt命令安装矩阵突触,如下所示。
sudo apt install matrix-synapse -y
在安装过程中,它会询问矩阵服务器名称 - 键入矩阵域名'matrix.hakase-labs.io'。
对于匿名数据报告,请选择“否”。
矩阵突触安装完成后,启动该服务并使其在系统引导时每次启动。
sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse
矩阵突触现在使用端口'8008'和'8448'上的默认配置启动并运行。 使用netstat命令检查。
netstat -plntu
第3步 - 配置Matrix Synapse
在矩阵突触安装之后,我们将其配置为在本地IP地址下运行,禁用矩阵突触注册,并启用registration-shared-secret。
在编辑主服务器配置之前,我们需要生成共享密钥。
运行以下命令。
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
你将获得生成的密钥。 复制结果键。
现在我们需要编辑'/ etc / matrix-synapse /'目录下的主服务器配置文件'homeserver.yaml'。 将当前目录更改为“/ etc / matrix-synapse”并使用vim编辑配置文件。
cd /etc/matrix-synapse/
vim homeserver.yaml
将HTTP和HTTPS监听器端口“8008”和“8448”更改为本地IP地址“127.0.0.1”。
port: 8448 bind_addresses: - '127.0.0.1' - port: 8008 bind_addresses: ['127.0.0.1']
禁用矩阵突触注册,取消注释'registration_shared_secret'配置并粘贴生成的密钥。
enable_registration: False registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"
保存并退出。
注意:
registration_shared_secret:如果设置允许任何拥有共享密钥的人注册,即使注册被禁用。
现在重启矩阵突触服务。
sudo systemctl restart matrix-synapse
使用以下命令检查homeserver服务。
netstat -plntu
您将获得矩阵突触服务现在在本地IP地址上。
我们已完成矩阵突触安装和配置。
第4步 - 生成SSL Letsencrypt证书
在本教程中,我们将为Nginx反向代理启用HTTPS,我们将从Letsencrypt生成SSL证书文件。
使用下面的apt命令安装letsencrypt工具。
sudo apt install letsencrypt -y
Letsencrypt工具安装在系统上,现在使用certbot命令生成矩阵域名“matrix.hakase-labs.io”的SSL证书文件,如下所示。
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email hakaselabs@gmail.com -d matrix.hakase-labs.io
Letsencrypt工具将通过运行“独立”临时Web服务器进行验证来生成SSL证书文件。
完成后,您将得到如下所示的结果。
矩阵突触域名'matrix.hakase-labs.io'的SSL证书文件在'/ etc / letsencrypt / live /'目录中生成。
第5步 - 安装和配置Nginx作为反向代理
在此步骤中,我们将安装Nginx Web服务器并将其配置为在端口“8008”上运行的主服务器的反向代理。
使用下面的apt命令安装Nginx Web服务器。
sudo apt install nginx -y
安装完成后,启动该服务并使其在系统引导时每次启动
sudo systemctl start nginx
sudo systemctl enable nginx
接下来,我们将为矩阵域名“matrix.hakase-labs.io”创建一个新的虚拟主机配置。
转到'/ etc / nginx'配置目录并创建一个新的虚拟主机文件'matrix'。
cd /etc/nginx/
vim sites-available/matrix
在那里粘贴以下配置。
server { listen 80; server_name matrix.hakase-labs.io; return 301 https://$server_name$request_uri; } server { listen 443 ssl; listen [::]: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; # If you don't wanna serve a site, comment this out 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; } }
保存并退出。
激活虚拟主机文件并测试配置。
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
确保没有错误,然后重新启动Nginx服务。
sudo systemctl restart nginx
Nginx安装和配置作为Matrix Synapse主服务器的反向代理已经完成。
第6步 - 设置UFW防火墙
在本教程中,我们只为我们的服务打开三个端口。 我们只允许在UFW防火墙配置上使用SSH,HTTP和HTTPS连接。
通过运行以下命令,将SSH,HTTP和HTTPS服务添加到UFW防火墙配置中。
ufw allow ssh
ufw allow http
ufw allow https
现在启用UFW防火墙服务,然后检查状态。
ufw enable
ufw status
您将得到如下所示的结果。
我们已经完成了UFW防火墙配置。
第7步 - 创建一个新的Matrix用户
在此阶段,矩阵synapse homeserver安装和配置完成。 在此步骤中,我们将向您展示如何从命令行服务器添加新的矩阵用户。
要创建新的矩阵用户,请运行以下命令。
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448
现在,您需要输入用户名,密码,并确定用户是否具有管理员权限。
以下是我系统的结果。
我们创建了一个名为'hakase'的新矩阵用户,具有管理员权限。
第8步 - 测试
下载适用于您的操作系统的Riot桌面应用程序并进行安装。
打开Riot软件,您将获得Matrix登录页面,如下所示。
键入矩阵用户名和密码,然后选择“自定义服务器”选项并键入自定义域名“matrix.hakase-labs.io”。
单击“登录”按钮。
现在你将获得Riot Dashboard。
Matrix Synapse主服务器在Nginx反向代理HTTPS连接下启动并运行,“hakase”用户现在使用Riot应用程序桌面登录到矩阵主页服务器。
Matrix用户配置。
矩阵聊天用户作为一个组。