如何在Ubuntu 18.04 LTS上安装Matrix Synapse Chat

在本教程中,我们将逐步介绍如何在Ubuntu 18.04 LTS上安装和配置Matrix Synapse。 Matrix是一个新的decentr生态系统...

如何在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

我们将要做什么?

  1. 更新和升级Ubuntu 18.04系统
  2. 安装Matrix Synapse
  3. 配置Matrix Synapse
  4. 生成SSL Letsencrypt
  5. 安装和配置Nginx作为Matrix Synapse的反向代理
  6. 设置UFW防火墙
  7. 设置新矩阵用户
  8. 测试

第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/

该命令将自动更新存储库。

安装Matrix Synapse

现在使用apt命令安装矩阵突触,如下所示。

sudo apt install matrix-synapse -y

在安装过程中,它会询问矩阵服务器名称 - 键入矩阵域名'matrix.hakase-labs.io'。

Matrix synapse apt installer  - 第1部分

对于匿名数据报告,请选择“否”。

Matrix synapse apt installer  - 第1部分

矩阵突触安装完成后,启动该服务并使其在系统引导时每次启动。

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']

Matrix Synapse配置

Matrix Synapse端口配置

禁用矩阵突触注册,取消注释'registration_shared_secret'配置并粘贴生成的密钥。

enable_registration: False
registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"

保存并退出。

注意:

registration_shared_secret:如果设置允许任何拥有共享密钥的人注册,即使注册被禁用。

现在重启矩阵突触服务。

sudo systemctl restart matrix-synapse

重启矩阵 - 突触

使用以下命令检查homeserver服务。

netstat -plntu

您将获得矩阵突触服务现在在本地IP地址上。

检查Matrix Synapse端口

我们已完成矩阵突触安装和配置。

第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证书文件。

完成后,您将得到如下所示的结果。

生成SSL Letsencrypt证书

矩阵突触域名'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主服务器的反向代理已经完成。

配置Nginx

第6步 - 设置UFW防火墙

在本教程中,我们只为我们的服务打开三个端口。 我们只允许在UFW防火墙配置上使用SSH,HTTP和HTTPS连接。

通过运行以下命令,将SSH,HTTP和HTTPS服务添加到UFW防火墙配置中。

ufw allow ssh
ufw allow http
ufw allow https

设置UFW防火墙

现在启用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

现在,您需要输入用户名,密码,并确定用户是否具有管理员权限。

以下是我系统的结果。

创建一个新的Matrix用户

我们创建了一个名为'hakase'的新矩阵用户,具有管理员权限。

第8步 - 测试

下载适用于您的操作系统的Riot桌面应用程序并进行安装。

打开Riot软件,您将获得Matrix登录页面,如下所示。

测试矩阵突触

键入矩阵用户名和密码,然后选择“自定义服务器”选项并键入自定义域名“matrix.hakase-labs.io”。

单击“登录”按钮。

现在你将获得Riot Dashboard。

防暴仪表板

Matrix Synapse主服务器在Nginx反向代理HTTPS连接下启动并运行,“hakase”用户现在使用Riot应用程序桌面登录到矩阵主页服务器。

Matrix用户配置。

用户设置

矩阵聊天用户作为一个组。

矩阵聊天

参考