介绍
Mattermost 是一个自托管和开源的在线聊天。 它是作为组织和公司的私人对话而开发的。
这是一个具有 Slack 和 Microsoft Teams 等功能的工具。 而且 Mattermost 通常与 PostgreSQL 数据库服务器一起安装。
下面是关于如何在 Ubuntu 20.04 上部署 Mattermost 的指南,如下所示。
第 1 步 – 更新系统
运行 apt 命令:
$ sudo apt update
然后运行命令:
$ sudo apt upgrade
输出:
最后,设置正确的服务器主机名:
$ sudo hostnamectl set-hostname NEW_HOSTNAME --static
在这里,我们设置一个名为“聊天.ubuntu”
$ sudo hostnamectl set-hostname chat.ubuntu --static
第 2 步 – 安装 PostgreSQL 数据库服务器
运行apt命令进行安装:
$ sudo apt install postgresql postgresql-contrib
输出:
然后登录到 postgres 帐户:
$ sudo --login --user postgres
在终端上启动 PostgeSQL 并创建 Mattermost 数据库/用户。 在这里,我将其命名为“linuxer“带密码”[email protected]”
psql
CREATE DATABASE mattermost;
CREATE USER linuxer WITH PASSWORD '[email protected]';
GRANT ALL PRIVILEGES ON DATABASE mattermost to linuxer;
q
第 3 步 – 创建 Mattermost 系统用户和组
我们将创建一个名为“最重要的”:
$ sudo useradd --system --user-group mattermost
可以通过命令确认:
$ id mattermost
输出:
第 4 步 – 安装 Mattermost
首先,您必须创建一个名为“最重要的”
$ mkdir mattermost
然后导航到它:
$ cd mattermost
运行 wget 命令下载 Mattermost:
$ wget https://releases.mattermost.com/5.38.1/mattermost-5.38.1-linux-amd64.tar.gz
输出:
解压包:
$ tar -xvzf mattermost*.gz
将提取的文件复制到 /otp 目录:
$ sudo cp -r mattermost /opt
为 Mattermost 创建一个文件夹以包含用户数据:
$ sudo mkdir /opt/mattermost/data
设置正确的所有权和权限:
$ sudo chown -R mattermost:mattermost /opt/mattermost
最后,让我们授予 /opt/mattermost 目录的写权限:
$ sudo chmod -R g+w /opt/mattermost
第 5 步 – 配置 Mattermost 服务器
文件 /opt/mattermost/config/config.json 中的配置设置
$ sudo nano /opt/mattermost/config/config.json
然后配置 PostgreSQL 数据库设置:
打开文本编辑器后,按 Ctrl + W 并搜索“司机姓名”
更改红色部分的行:
"postgres://matteruser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",
Save 它。
第 6 步 – 配置 Systemd 服务
创建 Mattermost Systemd:
$ sudo vim /etc/systemd/system/mattermost.service
键入以下行:
[Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
按 ESC + :wq 保存。
将新单元加载到 systemd 中:
$ sudo systemctl daemon-reload
确认服务运行状态:
$ systemctl status mattermost.service
输出:
启用最重要的服务:
$ sudo systemctl enable mattermost.service
第 7 步 – 安装 Nginx
$ sudo apt -y install nginx
您需要在 Mattermost 配置文件中输入您的域:
$ sudo nano /opt/mattermost/config/config.json
Save 它。
打开文本编辑器以配置能够访问您的域:
$ sudo nano /etc/nginx/sites-available/mattermost.conf
添加以下行:
upstream backend { server localhost:8065; keepalive 32; } proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; server { listen 80; server_name your domain; location ~ /api/v[0-9]+/(users/)?websocket$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 50M; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; client_body_timeout 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 90; proxy_send_timeout 300; proxy_read_timeout 90s; proxy_pass https://backend; } location / { client_max_body_size 50M; proxy_set_header Connection ""; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_cache mattermost_cache; proxy_cache_revalidate on; proxy_cache_min_uses 2; proxy_cache_use_stale timeout; proxy_cache_lock on; proxy_http_version 1.1; proxy_pass https://backend; } }
Save 它。
要使此站点配置正常工作,您必须在文件夹 /etc/nginx/sites-enabled 中为其创建一个软链接:
$ sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
运行以下命令检查配置的有效性:
$ sudo nginx -t
输出:
重启 Nginx:
$ sudo systemctl restart nginx
然后启动mattermost服务:
$ sudo systemctl start mattermost
您可以尝试访问您的域。
结论
您已经了解了如何在 Ubuntu 20.04 上部署 Mattermost 的详细信息。感谢阅读。