如何安装Mattermost与PostgreSQL和Nginx在Ubuntu 16.04

Mattermost是一种用编程语言Golang和React编写的开源消息系统。 这是一个松散的选择,我们可以建立自己的短信服务,如松弛或嘻哈。 Mattermost将您的团队沟通交给一个地方,并使其随处可见。 您可以从桌面,Android设备和iPhone访问它。

在本教程中,我将指导您创建自己的Mattermost服务器,该服务器使用PostgreSQL作为数据库系统,Nginx作为Mattermost的反向代理。 我将使用ubuntu 16.04作为操作系统。

前提条件

  • Ubuntu 16.04 - 64bit
  • 根特权

第1步 - 安装和配置PostgreSQL数据库

Mattermost支持MySQL和PostgreSQL数据库。 我们将使用PostgreSQL作为本教程的主数据库。连接到您的服务器并更新存储库。

通过SSH连接到您的服务器或在终端上登录并更新Ubuntu存储库。

ssh root@192.168.1.110
sudo apt-get update

作为root用户,请使用此apt命令安装PostgreSQL。

sudo apt-get install postgresql postgresql-contrib

安装完成后,登录到postgres用户并输入命令' psql '以登录到postgresql shell。

su - postgres
psql

使用以下命令更改postgres用户密码:

\password postgres
Enter new password:

接下来,我们必须为Mattermost安装配置一个新的数据库和用户。 我将使用密码“ matterpassword ”创建名为“ mattermostdb ”的新数据库和用户“ matteruser ”。 请为安装选择一个安全密码。

使用PostgreSQL查询创建新数据库和用户如下:

CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';

授予' matteruser '权限到数据库' mattermostdb '并退出。

GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

第2步 - 安装和配置最重要

我们将安装和配置Mattermost作为普通的Linux用户,而不是root用户。 我们将以用户'事情'运行Mattermost,因此我们需要在服务器上创建一个名为“matter”的新的Linux用户。

创建新的“ 事务 ”用户和密码。

useradd -m -s /bin/bash matter
passwd matter

'matter'用户创建,现在登录到用户并下载最新的Mattermost版本与wget。

su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

提取Mattermost文件,您将看到新的目录'mattermost',使用cd命令输入该目录。

tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/

接下来,创建一个用于存储用户文件的新数据目录,然后用vim编辑最重要的配置文件“ config / config.json ”。

mkdir data/
vim config/config.json

我们将在Nginx反向代理之后运行,所以最好配置Mattermost来监听本地IP地址。 在“ ServiceSettings ”块中,将localhost IP地址添加到第4行的配置。

"ListenAddress": "127.0.0.1:8065",

现在转到第48行的“ SqlSettings ”。将“ DriverName ”和“ DataSource ”配置更改为使用PostgreSQL数据库,并配置如下:

"DriverName": "postgres",
"DataSource": "postgres://matteruser:matterpassword@127.0.0.1:5432/mattermostdb?sslmode=disable&connect_timeout=10",

注意:

matteruser = postgresql用户。
matterpassword =密码。
mattermostdb =数据库。

保存并退出。

完成后,转到bin目录并运行。

cd bin/
./platform

您将看到最重要的是在本地主机IP上运行,端口8065现在。

按Ctrl + c退出。

第3步 - 配置Mattermost Systemd服务

转到systemd系统目录并创建一个新的最重要的服务文件。

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

粘贴配置如下:

[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target

[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

保存并退出。

重新加载systemd守护程序并启动我们上面创建的Mattermost服务。

systemctl daemon-reload
systemctl start mattermost

确保没有错误。 检查Mattermost服务是否正在运行。

netstat -plntu
systemctl status mattermost

第4步 - 安装和配置Nginx

在这一步中,我们将安装Nginx并配置Nginx作为Mattermost的反向代理。 我们将把端口8056映射到HTTP和HTTPS端口。

使用此apt命令从Ubuntu存储库安装Nginx。

sudo apt-get install nginx

现在去Nginx配置目录并创建SSL子目录。

cd /etc/nginx/
mkdir ssl/; cd ssl/

使用OpenSSL生成新的自签名SSL证书文件,并更改私钥的权限。

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

在“ sites-available ”目录中为Mattermost创建一个新的虚拟主机文件。

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

粘贴虚拟主机配置如下:

server {
   listen         80;
   server_name    mattermost.mydomain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen 443 ssl;
   server_name mattermost.mydomain.com;

   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   location / {
      gzip off;
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      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_pass http://127.0.0.1:8065;
   }
}

将域名更改为您自己的域,保存并退出。

通过在“ sites-enabled ”目录中创建一个符号链接到最重要的文件来激活虚拟主机。

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

测试Nginx配置,并确保没有错误,并重新启动nginx。

nginx -t
systemctl restart nginx

第5步 - 测试

打开您的网页浏览器并访问最重要的域名,在我的情况下: mattermost.mydomain.com

您将被自动重定向到HTTPS连接。

先创建一个新帐户,点击“ 创建帐户 ”。

然后,您可以看到创建新团队的链接或访问管理/系统控制台。

点击“ 转到系统控制台 ”,您将看到以下系统控制台仪表板:

单击“ 创建新团队 ”,输入您的团队名称,然后单击“ 下一步 ”。 然后配置团队URL,然后单击“ 完成 ”按钮。

最后你会看到团队仪表板。

最重要的团队聊天。

Ubuntu 16.04上的PostgreSQL和Nginx Web服务器已经成功安装。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏