Mattermost Server支持Ubuntu、CentOS、Windows、Docker、Kubernetes部署,本次我们采用CentOS系统进行部署。
Mattermost Client提供了全终端支持。
参考文档: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'@'%';
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
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;
}
}
此时已经安装完成了,可以通过浏览器打开创建管理员用户了。