宝塔面板安装Mattermost团队聊天工具

1.服务器内存为1GB,先安装宝塔。

2.安装环境:nginx 1.19

MySQL 10.2.33-MariaDB

MySQL性能调整:

3.宝塔新建网站,申请证书,并开启强制https访问。

4.新建数据库:

开始安装:

一条一条执行下去就可以安装成功。

1)下载服务端文件(需要官网查看最新版):

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

2)解压文件:

tar -xvzf mattermost*.gz

3)移动到 /opt文件夹:

sudo mv mattermost /opt

4)创建数据文件夹

sudo mkdir /opt/mattermost/data

5)创建名为mattermost的用户和组:

sudo useradd --system --user-group mattermost

6)设置用户和组mattermost为mattermost文件的所有者:

sudo chown -R mattermost:mattermost /opt/mattermost

7)给mattermost的组赋予写权限:

sudo chmod -R g+w /opt/mattermost

 

8)修改配置文件:

vim /opt/mattermost/config/config.json

修改 "DriverName" 后面值为 "mysql"

修改 "DataSource" 后面值为

"mattermost:rweypGcdTp7bjt3S@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"

注意红色的部分为用户与密码和数据库名字

 

9)定位到/opt/mattermost文件夹:

cd /opt/mattermost

 

使用用户Mattermost启动Mattermost服务器:

sudo -u mattermost ./bin/mattermost

 

查看是否有报错,这是关键的地方如果报错,需要找出原因,一般是数据库填的不对。这时可以打开IP:8065,查看页面,需要提前打开8065端口。

 

10)新建一个系统服务,可以使用nano

vim /lib/systemd/system/mattermost.service

将下面的粘贴进去

 

[Unit]

Description=Mattermost

After=network.target

After=mysqld.service

BindsTo=mysqld.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=mysqld.service

 

输入 :wq,保存退出。

 

11)让systemd加载新单元。

sudo systemctl daemon-reload

 

12)检查确保已加载。

sudo systemctl status mattermost.service

 

13)启动服务。

sudo systemctl start mattermost.service

 

14)设置开机启动服务

sudo systemctl enable mattermost.service

 

 

15)最后修改网站的配置文件,红色的修改好为自己的域名,将下面的粘贴进去覆盖完。

 

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   chat,tell.com;

#一键申请SSL证书验证目录相关设置

location ~ \.well-known{

allow all;

}

return 301 https://$server_name$request_uri;

}

 

server {

listen 443 ssl http2;

server_name    chat,tell.com;

 

http2_push_preload on; # Enable HTTP/2 Server Push

 

#   ssl on;

ssl_certificate /www/server/panel/vhost/cert/chat,tell.com/fullchain.pem;

ssl_certificate_key /www/server/panel/vhost/cert/chat,tell.com/privkey.pem;

ssl_session_timeout 1d;

 

# Enable TLS versions (TLSv1.3 is required upcoming HTTP/3 QUIC).

ssl_protocols TLSv1.2 TLSv1.3;

 

# Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to

# prevent replay attacks.

#

# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data

ssl_early_data on;

 

ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:50m;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)

add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---

# fetch OCSP records from URL in ssl_certificate and cache them

ssl_stapling on;

ssl_stapling_verify on;

 

add_header X-Early-Data $tls1_3_early_data;

 

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_http_version 1.1;

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;

}

}

 

# This block is useful for debugging TLS v1.3. Please feel free to remove this

# and use the `$ssl_early_data` variable exposed by NGINX directly should you

# wish to do so.

map $ssl_early_data $tls1_3_early_data {

"~." $ssl_early_data;

default "";

}

 

最后就可以正常使用了,管理员后台和聊天界面都是英文的,其它用户可以设置为中文。

设置语言:

版权声明:
作者:大傻 瓜
链接:https://a112113.fun/uncategorized/104.html
来源:赖皮鬼
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>