云网牛站
所在位置:首页 > Linux云服务器 > 使用Nginx在CentOS 8服务器上安装Mattermost的步骤

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

2020-03-23 09:22:49作者:梁叹稿源:云网牛站

本文介绍在使用Nginx作为反向代理的CentOS 8服务器上安装Mattermost。Mattermost是一个免费的开源在线团队协作和聊天平台,具有来自Mattermost和社区的数百种现有集成,这使您可以构建可扩展到成千上万并发用户的自定义工作流。您可以轻松地与大多数流行的DevOps工具安全地集成。建议在操作以下步骤之前,更新系统,运行sudo yum -y update命令即可,升级后运行sudo reboot命令重新启动,然后按以下步骤操作。

 

步骤1:安装数据库

我们的Mattermost服务器将需要一个数据库来存储其数据,为此,我们将使用MariaDB数据库:

sudo yum -y install @mariadb

sudo systemctl enable --now mariadb

sudo mysql_secure_installation

参考:在CentOS 8/RHEL 8服务器上安装MariaDB 10.4版本的具体步骤

安装数据库后,登录到MariaDB shell,并为Mattermost创建数据库和用户:

$ mysql -u root -p

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

 

步骤2:在CentOS 8上安装Mattermost服务器

添加系统用户以管理Mattermost服务:

sudo useradd -d /opt/mattermost -U -M mattermost

然后在CentOS 8 Linux上安装Mattermost Server,最新版本的Mattermost可在Mattermost下载页面上找到,地址:https://mattermost.com/download/,本文以下载安装5.20.2版本为例:

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

下载完成后解压缩档案:

tar xvf mattermost-5.20.2-linux-amd64.tar.gz

将提取的文件移动到/opt目录:

sudo mv mattermost /opt

为用户发布到Mattermost的文件和图像创建存储目录:

sudo mkdir /opt/mattermost/data

设置目录权限:

sudo chown -R mattermost:mattermost /opt/mattermost

sudo chmod -R g+w /opt/mattermost

配置数据库驱动程序:

sudo vim /opt/mattermost/config/config.json

我们需要设置:

将“DriverName”设置为“mysql”。

将“DataSource”设置为:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

对我来说,如下图所示:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

更改为whatmost目录,以测试Mattermost服务器:

cd /opt/mattermost

最重要的是启动Mattermost服务器:

$ sudo -u mattermost ./bin/mattermost

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

其他Linux请参考:在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

 

步骤3:配置Mattermost systemd单位文件

为Mattermost创建一个系统化的单位文件:

sudo tee /etc/systemd/system/mattermost.service<<EOF

[Unit]

Description=Mattermost

After=syslog.target network.target mariadb.service

[Service]

Type=notify

WorkingDirectory=/opt/mattermost

User=mattermost

ExecStart=/opt/mattermost/bin/mattermost

PIDFile=/var/run/mattermost.pid

TimeoutStartSec=3600

LimitNOFILE=49152

[Install]

WantedBy=multi-user.target

EOF

禁用SELinux或将其设置为许可模式:

sudo setenforce 0

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

参考:在CentOS 8上检查SELinux模式、将模式更改为Permissive及禁用的方法

使服务可执行:

sudo systemctl daemon-reload

sudo systemctl enable --now mattermost

确认服务状态:

$ systemctl status mattermost.service

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

验证Mattermost是否正在运行:

$ curl http://localhost:8065

您应该会看到Mattermost服务器返回的HTML。

 

步骤4:安装和配置Nginx

在生产环境中运行Mattermost时,请使用代理服务器以提高Mattermost的安全性和性能。

在CentOS Linux机器上安装Nginx:

sudo dnf -y install epel-release

sudo dnf -y install nginx

启动并启用Nginx服务:

sudo systemctl enable --now nginx

然后将Nginx Web服务器配置为Mattermost Server的代理:

sudo vi /etc/nginx/conf.d/mattermost.conf

将以下代码段粘贴并编辑到文件中,以最基本地配置Nginx:

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    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://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;

 }

}

修改mattermost.example.com,为您的Mattermost域设置正确的值。

验证您的Nginx配置文件:

$ sudo nginx -t

成功的话,会返回以下信息:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

如果一切正常,请重新启动Nginx:

sudo systemctl restart nginx

在Firewalld上打开http和https端口:

sudo firewall-cmd --add-service={http,https} --permanent

sudo firewall-cmd --reload

确认状态为运行中(running):

$ sudo systemctl status nginx

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

您应该能够访问在Nginx上配置的Mattermost域:

$ curl mattermost.example.com

 

步骤5:配置Mattermost服务器

现在,我们可以通过打开Nginx上配置的域来开始配置Mattermost服务器:

http://mattermost.example.com

在首页上创建管理员用户,该用户将可以创建或邀请其他新用户:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

选择创建团队或直接进入控制台:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

如果选择创建团队,请提供团队名称,然后单击下一步:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

设置团队URL,然后单击完成:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

Mattermost的仪表板控制台应如下所示:

使用Nginx在CentOS 8服务器上安装Mattermost的步骤

然后,您可以邀请成员加入创建的团队,另外,请考虑安装适用于PC、Mac、iOS和Android的应用程序,以便随时随地访问和通知。如果需要配置SSL证书,请使用certbot脚本,这是获取Let’s Encrypt SSL证书部署成https最简单的方式。

 

相关主题

使用Certbot:在Linux上安装letsencrypt的最简单方法

精选文章
热门文章