云网牛站
所在位置:首页 > Linux云服务器 > 在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

2019-08-13 09:32:57作者:梁叹稿源:云网牛站

本文介绍如何使用PostgreSQL数据库服务器在Debian 10(Buster)/Ubuntu 18.04上安装Mattermost。Mattermost是一个自托管和开源的在线聊天服务,旨在用作公司和组织的内部聊天平台,它是Slack Chat平台的主要替代品之一。我们将使用PostgreSQL数据库和Nginx Web服务器。

 

第1步:更新系统和安装PostgreSQL数据库服务器

1、更新系统

让我们首先确保我们的系统更新:

sudo apt update

sudo apt -y upgrade

sudo apt -y install wget curl vim

建议在升级后重新启动系统:

sudo reboot

设置正确的服务器主机名:

sudo hostnamectl set-hostname chat.computingforgeeks.com --static

参考:在Debian 10系统上更改Hostname(主机名)的方法

2、安装PostgreSQL数据库服务器

下一步是安装PostgreSQL数据库服务器:

sudo apt -y install postgresql postgresql-contrib

参考:在Ubuntu系统上安装和配置PostgreSQL的方法

PostgreSQL服务器将在安装后自动启动,登录postgres帐户:

sudo --login --user postgres

启动PostgreSQL交互式终端并创建Mattermost数据库/用户'mmuser':

psql

CREATE DATABASE mattermost;

CREATE USER mmuser WITH PASSWORD 'StrongDBPassWord';

GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;

\q

退出postgres帐户:

exit

 

第2步:创建mattermost系统用户和组、下载并安装Mattermost服务器

1、创建mattermost系统用户和组

我们需要设置一个名为mattermost的系统用户和组来运行服务:

sudo useradd --system --user-group mattermost

你可以确认它是系统用户,因为其ID小于1000:

$ id mattermost

uid=998(mattermost) gid=998(mattermost) groups=998(mattermost)

2、下载并安装Mattermost服务器

配置数据库服务器后,你现在可以下载并安装Mattermost,首先,访问Mattermost下载页面以获取最新版本,地址是:https://mattermost.com/download/,可下载mattermost-5.13.2-linux-amd64.tar.gz软件包。

然后提取下载的存档:

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

将解压缩的文件移动到/opt目录:

sudo mv mattermost /opt

创建存储目录,其中包含用户发布到Mattermost的所有文件和图像:

sudo mkdir /opt/mattermost/data

设置正确的所有权和权限:

sudo chown -R mattermost:mattermost /opt/mattermost

授予mattermost组写入权限:

sudo chmod -R g+w /opt/mattermost

 

第3步:配置Mattermost服务器和配置Systemd服务

1、配置Mattermost服务器

在文件/opt/mattermost/config/config.json中设置数据库驱动程序:

sudo nano /opt/mattermost/config/config.json

将PostgreSQL数据库设置配置如下所示“SqlSettings”部分:

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

2、配置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

使systemd加载新单元:

sudo systemctl daemon-reload

启动并启用mattermost服务:

sudo systemctl start mattermost.service

sudo systemctl enable mattermost.service

检查服务状态以确保它正在运行:

$ systemctl status mattermost.service

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

验证Mattermost是否正在运行:

curl http://localhost:8065

这时你应该看到Mattermost服务器返回的HTML。

 

第4步:完成Mattermost Web配置

打开浏览器并导航到8065上的Mattermost实例,例如192.168.10.10:8085,如下所示:

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

访问系统控制台:

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

然后根据配置设置文档配置服务器,地址是 http://docs.mattermost.com/administration/config-settings.html:

在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤

不要忘记在进行更改后重新启动mattermost服务:

sudo systemctl restart mattermost

 

第5步:配置Nginx代理服务器

在生产环境中,使用代理服务器可以提高Mattermost的安全性和性能:

安装nginx:$ sudo apt -y install nginx(参考:在Debian 10 Linux上安装Nginx的方法

为Mattermost创建新的配置文件:

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

添加配置设置:

upstream backend {

server 192.168.10.10: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    chat.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;

}

}

重启Nginx:

sudo rm /etc/nginx/sites-enabled/default

sudo systemctl restart nginx

至此,配置完成。

 

相关主题

在Debian 10 Buster上安装PostgreSQL 11和MariaDB的说明

精选文章
热门文章