如何在Ubuntu 20.04上安装Mattermost Chat

Mattermost是使用Golang和React编写的免费,开源且自托管的在线聊天服务。 它是Slack的替代产品,并提供带有文件共享,搜索和集成的聊天服务。 它是为组织和公司设计的,允许团队从任何地方安全地进行通信和协作。 它提供了多种功能,包括一对一的消息传递,无限的搜索历史记录,共享和查看图像文件,自定义表情符号,视频通话,两因素授权和通知。

在本教程中,我们将向您展示如何在Ubuntu 20.04上安装Mattermost Chat。

先决条件

  • Ubuntu 20.04 VPS(我们将使用SSD 2 VPS计划)
  • 访问root用户帐户(或访问具有root特权的管理员帐户)

步骤1:登录到服务器并更新服务器操作系统软件包

首先,以root用户身份通过​​SSH登录到Ubuntu 20.04服务器:

ssh [email protected]_Address -p Port_number

您将需要用服务器各自的IP地址和SSH端口号替换“ IP_Address”和“ Port_number”。 此外,如有必要,将“ root”替换为管理员帐户的用户名。

在开始之前,您必须确保服务器上安装的所有Ubuntu OS软件包都是最新的。 您可以通过运行以下命令来执行此操作:

apt-get update -y
apt-get upgrade -y

步骤2:安装和配置MariaDB

Mattermost使用MariaDB / MySQL作为数据库后端。 因此,您将需要在服务器上安装MariaDB服务器。 您可以通过运行以下命令来安装它:

apt-get install mariadb-server

安装MariaDB服务器之后,使用以下命令登录MariaDB Shell:

mysql

登录后,为Mattermost创建数据库和用户:

MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> CREATE USER 'mattermost'@'%' IDENTIFIED BY 'securepassword';

接下来,使用以下命令将所有特权授予Mattermost数据库:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'%';

接下来,使用以下命令清除特权并从MariaDB shell退出:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

现在,已为Mattermost安装并配置了MariaDB数据库。

第3步:安装和设置Mattermost

首先,创建一个单独的用户和组以运行Mattermost。

useradd --system --user-group mattermost

接下来,使用以下命令下载最新版本的Mattermost:

wget https://releases.mattermost.com/5.28.1/mattermost-5.28.1-linux-amd64.tar.gz

下载完成后,使用以下命令解压缩下载的文件:

tar -xvzf mattermost-5.28.1-linux-amd64.tar.gz

接下来,使用以下命令将提取的目录移动到/ opt:

mv mattermost /opt/
mkdir /opt/mattermost/data

接下来,更改Mattermost的所有权和权限:

chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

接下来,编辑Mattermost配置文件并定义您的站点URL和数据库设置:

nano /opt/mattermost/config/config.json

用您的站点域名和数据库设置更改以下几行:

    "SiteURL": "http://mattermost.example.com",

    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermostdb?charset=utf8mb4,utf8u0026readTimeout=30su0026writeTimeout=30s",

完成后保存并关闭文件。

步骤4:为Mattermost创建Systemd服务文件

接下来,创建一个systemd服务文件以启动和停止Mattermost服务。

nano /lib/systemd/system/mattermost.service

添加以下行:

[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service

[Service]
Type=notify
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
LimitNOFILE=49152

[Install]
WantedBy=mariadb.service

保存并关闭文件,然后重新加载systemd守护程序以应用配置更改:

systemctl daemon-reload

接下来,启动Mattermost服务,并使其在系统重新引导时启动:

systemctl start mattermost
systemctl enable mattermost

此时,Mattermost已启动并正在侦听端口8065。您可以使用以下命令进行验证:

ss -plntu | grep 8065

输出:

tcp   LISTEN 0      4096                                  *:8065              *:*                     users:(("mattermost",pid=3474,fd=17))                     

步骤5:将Nginx配置为反向代理

接下来,您需要将Nginx配置为Mattermost的反向代理。 首先,使用以下命令安装Nginx服务器:

apt-get install nginx -y

安装后,创建一个Nginx虚拟主机配置文件:

nano /etc/nginx/sites-available/mattermost.conf

添加以下行:

upstream mattermost {
   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 mattermost.example.com;

   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 http://mattermost;
   }

   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 http://mattermost;
   }
}

保存并关闭文件,然后激活Nginx虚拟主机文件:

ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf

最后,重新启动Nginx服务以应用更改:

systemctl restart nginx

第6步:访问最重要的内容

现在,打开您的Web浏览器并使用URL访问Mattermost http://mattermost.example.com。 您将被重定向到以下页面:

在Ubuntu 20.04指南上安装最重要的聊天

提供您的电子邮件地址,用户名,密码,然后单击“创建帐户”按钮。 您应该看到以下页面:

在Ubuntu 20.04上安装最重要的聊天指南

点击 建立团队 按钮。 您应该看到以下页面:

在Ubuntu 20.04步骤上安装最重要的聊天

提供您的团队名称,然后点击 下一个 按钮。 您应该看到以下页面:

在ubuntu 20.04简易指南上安装最重要的聊天

提供您的团队网址,然后点击 按钮。 您应该看到Mattermost欢迎页面:

在ubuntu 20.04上安装最重要的聊天

点击 跳过教程 按钮。 您应该在以下页面中看到Mattermost仪表板:

在ubuntu 20.04上安装即时聊天的简单步骤

而已。 Mattermost已成功安装在您的Ubuntu 20.04服务器中。

当然,如果您使用我们的Linux VPS托管服务之一,则无需执行任何操作,在这种情况下,您只需要求我们的专业Linux管理员为您进行设置即可。 它们全天候24×7可用,将立即处理您的要求。

PS。 如果您喜欢此帖子,请使用左侧的按钮在社交网络上与您的朋友分享,或者在下面留下您的答复。 谢谢。

Sidebar