如何在Debian 10上安装Mattermost Team Messaging系统

如何在Debian 10上安装Mattermost Team Messaging系统

Mattermost是一个用Golang和React等编程语言编写的开源消息传递系统,它是一种松弛的替代方案,我们可以使用它来构建自己的消息传递服务,例如松弛或嘻哈。

Mattermost将您的团队交流带到一个地方,并使其可在任何地方访问。您可以从台式机,Android设备和iPhone进行访问。

在本教程中,我们将向您展示如何在Debian Buster 10上安装Mattermost。我们将在MySQL数据库服务器,Nginx Web服务器上安装Mattermost,并在最新的Debian版本Buster 10上将Mattermost作为Systemd服务运行。

先决条件

对于本教程,我们将在Debian 10上使用2GB的Ram,25个可用磁盘空间和2个CPU的情况下测试Mattermost安装。

我们将做什么?

  • 安装MySQL服务器
  • 为Mattermost创建MySQL数据库
  • 添加系统用户并下载Mattermost
  • 配置最重要的
  • 将Mattermost设置为系统服务
  • 生成SSL Letsencrypt
  • 安装Nginx并将其配置为反向代理
  • 测试中

第1步-安装MySQL数据库

首先,我们将MySQL Server 8.0从官方存储库安装到Debian服务器中,然后添加官方MySQL存储库并安装MySQL软件包。

使用下面的apt命令将’gnupg2’工具安装到Debian服务器。

sudo apt install curl wget gnupg2

使用以下命令下载并添加Debian系统的MySQL存储库。

wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.debdpkg -i mysql-apt-config_0.8.13-1_all.deb

现在更新所有Debian存储库并安装MySQL Server软件包。

sudo apt updatesudo apt install mysql-server -y

在安装MySQL Server的过程中,系统将要求您配置MySQL服务器的root密码。

输入MySQL的root密码,然后重复输入。

安装完成后,启动MySQL服务并将其添加到

systemctl start mysqlsystemctl enable mysql

结果,现在在Debian Buster 10上安装了MySQL服务器。并且已经配置了MySQL服务器的root密码。

启动MySQL

第2步-创建最重要的MySQL数据库

默认情况下,Mattermost支持两个数据库驱动程序,即PostgreSQL和MySQL数据库,在本教程中,我们将使用MySQL作为Mattermost的默认数据库。

在此步骤中,我们将为Mattermost安装创建一个新的数据库和用户。

如下所示使用您的root用户和密码登录到MySQL shell。

mysql -u root -p

现在为Mattermost创建一个新的数据库和用户。我们将使用用户’mmuser’和密码’mmuser-password’创建一个新的’mattermost’数据库。

create database mattermost;create user [email protected] identified by 'mmuser-password';grant all privileges on mattermost.* to [email protected];flush privileges;

现在,键入“ exit”以退出MySQL Shell。

创建最重要的数据库

结果,已经创建了用于Mattermost安装的MySQL数据库和用户。

第3步-添加用户并下载Mattermost

在这一步中,我们将创建一个新的系统用户并下载Mattermost源代码。该Mattermost软件将在名为’mattermost’的用户下运行,并将其安装在’/ opt / mattermost’目录中。

使用下面的命令创建一个名为’mattermost’的新系统用户。

useradd --system --user-group mattermost

现在转到“ / opt”目录,并使用下面的curl命令下载Mattermost源代码。

cd /opt/curl -o mattermost.tar.gz https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz

提取Mattermost源代码并创建一个新的“数据”目录。

tar -xf mattermost.tar.gzmkdir -p /opt/mattermost/data

之后,将“ / opt / matterest”目录的所有权更改为“最重要”的用户,并使其可写。

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

结果,已经创建了“最重要的”用户,并且“最重要的”源代码已下载到“ / opt / mestmost”目录。

为Mattermost添加Linux系统用户

步骤4:配置最重要的内容

在这一步中,我们将设置Mattermost侦听地址和数据库。Mattermost服务将在默认端口8065上的本地IP地址上运行,并使用MySQL作为数据库系统。

转到“ / opt / mestmost”目录,然后在“ config”目录中编辑配置文件“ config.json”。

cd /opt/mattermost/vim config/config.json

在“ ListenAddress”选项上,将IP地址更改为“ 127.0.0.1”。

    "ListenAddress": "127.0.0.1:8065",

一个“ SqlSettings”,将DriverName更改为“ mysql”,并使用我们创建的MySQL数据库和用户更改“ DataSource”。

  "SqlSettings": {    "DriverName": "mysql",     "DataSource": "dbuser:[email protected](localhost:3306)/dbname?charset=utf8mb4,utf8u0026readTimeout=30su0026writeTimeout=30s",     

保存并关闭。

接下来,使用以下命令初始化Mattermost安装。

sudo -u mattermost ./bin/mattermost

以下是您将获得的结果。

配置最重要的

结果,Mattermost已启动并在端口“ 8065”的本地IP地址“ 127.0.0.1”上运行,现在按“ Ctrl + c”按钮退出。

步骤5:将“最重要的服务”设置为服务

在这一步中,我们将Mattermost设置为systemd服务,并且它将在MySQL数据库服务运行后在系统启动时自动运行。

现在转到“ / lib / systemd / system”目录并创建一个新的服务文件“ mattermost.service”。

cd /lib/systemd/system/vim mattermost.service

现在将以下配置粘贴到其中。

[Unit]Description=MattermostAfter=network.targetAfter=mysql.serviceRequires=mysql.service[Service]Type=notifyExecStart=/opt/mattermost/bin/mattermostTimeoutStartSec=3600Restart=alwaysRestartSec=10WorkingDirectory=/opt/mattermostUser=mattermostGroup=mattermostLimitNOFILE=49152[Install]WantedBy=multi-user.target

保存并关闭。

接下来,在Debian系统上重新加载systemd管理器。

systemctl daemon-reload

之后,启动Mattermost服务并将其添加到系统引导中。

systemctl start mattermostsystemctl enable mattermost

创建系统单位文件

Mattermost服务已启动并正在运行,请使用以下命令进行检查。

systemctl status mattermost

以下是您将获得的结果。

检查服务状态

结果,Mattermost服务已在Debian系统上启动并运行,它将在系统启动时自动运行。

第6步-安装Certbot Letsencrypt

在此步骤中,我们将安装certbot工具并生成SSL Letsencrypt。我们将使用Letsencrypt的SSL保护Mattermost安装。

使用下面的apt命令安装certbot工具。

sudo apt install certbot

安装完成后,请使用下面的certbot命令生成SSL letencrypt。

certbot certonly --standalone --agree-tos -m [email protected] -d mattermost.hakase-labs.io

结果,您的SSL证书将在“ /etc/letsencrypt/live/mattermost-hakase-labs.io”目录中生成。

步骤7-安装Nginx并将其配置为反向代理

在此步骤中,我们将安装Nginx Web服务器并将其设置为Mattermost服务的反向代理。

使用下面的apt命令安装Nginx。

sudo apt install nginx -y

安装完成后,启动Nginx服务并将其添加到系统引导中。

广告

systemctl start nginx systemctl enable nginx

Nginx Web服务器已启动并正在运行。

接下来,转到“ / etc / nginx”配置目录,并创建一个新的虚拟主机配置。

cd /etc/nginx/vim sites-available/mattermost

自行更改域名和SSL证书的路径,然后将配置粘贴到其中。

upstream backend {   server 127.0.0.1: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    edu.initrc.fun;   return         301 https://$server_name$request_uri;} server {    listen 443 ssl http2;    server_name    edu.initrc.fun    ssl on;    ssl_certificate /etc/letsencrypt/live/edu.initrc.fun/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/edu.initrc.fun/privkey.pem;    ssl_session_timeout 1d;    ssl_protocols TLSv1.2;    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';    ssl_prefer_server_ciphers on;    ssl_session_cache shared:SSL:50m;    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)    add_header Strict-Transport-Security max-age=15768000;    # OCSP Stapling ---    # fetch OCSP records from URL in ssl_certificate and cache them    ssl_stapling on;    ssl_stapling_verify on;   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://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 http://backend;   }}

保存并关闭。

接下来,创建Nginx缓存目录,并将该目录的所有权更改为默认的“ www-data”用户。

mkdir -p /var/cache/nginxchown -R www-data:www-data /var/cache/nginx

之后,激活Mattermost虚拟主机,然后测试nginx配置并确保没有错误。

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/nginx -t

现在,使用下面的systemctl命令重新启动Nginx服务。

systemctl restart nginx

因此,已经完成了Nginx的安装和配置(作为Mattermost的反向代理)。我们已经准备好测试Mattermost的安装。

配置Nginx

步骤8:测试

打开Web浏览器,然后在地址栏上输入您的Mattermost安装URL的域名。

https://mattermost.hakase-labs.io/

现在,您需要创建一个新的Mattermost第一帐户,这将是Mattermost管理员。

Mattermost Web安装程序

键入详细信息您的用户名,电子邮件和密码,然后单击“创建帐户”按钮。

在Mattermost建立新的第一支队伍。

建立团队

输入您的第一支队伍的名称,然后单击“下一步”。

设定团队名称

团队URL将是团队名称,单击“完成”以继续。

团队网址

您将自动加入默认频道“ Off-Topic”和“ Town Square”。

最重要的仪表板

结果,在带有MySQL数据库和Nginx Web服务器的Debian Buster 10上的Mattermost安装已成功完成。

Source

Sidebar