书山有路勤为径,学海无涯苦作舟。 知识改变命运,行动创造未来。

Mattermost安装[Linux]

Mattermost安装

Mattermost Server支持Ubuntu、CentOS、Windows、Docker、Kubernetes部署,本次我们采用CentOS系统进行部署。

images

Mattermost Client提供了全终端支持。

images

参考文档:https://docs.mattermost.com/install/install-rhel-7.html 软件下载链接:https://mattermost.com/download-b/

安装数据库

数据库的类型可以是PG也可以是MySQL,本次安装使用MySQL57。

## 下载源
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum localinstall mysql57-community-release-el7-9.noarch.rpm

## 安装mysql
yum install mysql-community-server
systemctl start mysqld.service
systemctl enable mysqld

## 连接数据库
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password42!';
mysql> create user 'mmuser'@'%' identified by 'mmuser-password';
mysql> create database mattermost;
mysql> grant all privileges on mattermost.* to 'mmuser'@'%';

安装MattermostServer

wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
tar -xvzf *.gz
mv mattermost /opt
mkdir /opt/mattermost/data

## 添加系统用户
useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

## 编辑数据库配置
vim /opt/mattermost/config/config.json

### 配置站点url
1 {
2     "ServiceSettings": {
3         "SiteURL": "http://mattermost.idevops.site",

### 配置数据库
136     "SqlSettings": {
137         "DriverName": "mysql",
138         "DataSource": "dbuser:dbpasswd@tcp(localhost:3306)/dbname?char    set=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",


## 进行测试
cd /opt/mattermost
sudo -u mattermost ./bin/mattermost  ## 出现 Server is listening on :8065 表示成功

## 添加系统服务
vim /etc/systemd/system/mattermost.service

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service   ## 如果是pg数据库这里改成postgresql-9.4.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

chmod 664 /etc/systemd/system/mattermost.service
systemctl daemon-reload
systemctl enable mattermost
systemctl start mattermost

curl http://localhost:8065

配置nginx代理

upstream backend {
   server xxxxxxxx: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.xxxxx.site;

   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;
   }
}

此时已经安装完成了,可以通过浏览器打开创建管理员用户了。