Mattermost 安装配置 - 狂飙
介绍
Mattermost 是一个灵活、开源的聊天消息平台,是 Slack 的开源私有部署版本。
可以用于内网聊天,自带桌面与移动平台客户端,易于使用。
系列文章
- GitLab 安装配置 - 狂飙git.company.com
- Jira 安装配置 - 狂飙jira.company.com
- Jenkins 安装配置 - 狂飙ci.company.com
- Mattermost 安装配置 - 狂飙mattermost.company.com
这一系列文章中的软件是在同一台机器上安装配置的,完整地记录了配置过程。解决了同时部署各种服务之间可能会产生的问题,最终将各种服务整合到一起。每个服务都配置使用域名访问,便于使用。
账号系统未使用 LDAP,因此 Jira 与 GitLab 账号是独立的,Jenkins 与 Mattermost 使用 GitLab 账号登录。
比较
- RTX 腾迅出品,2015年之后就没有更新过,RTX for mac 经常崩溃、掉线,而且无法获取组织架构信息,导致无法找人。
- 钉钉 阿里出品,可以打卡、考勤,官方还出了考勤机,与钉钉自动连接。
- BearyChat 比较卡顿,搜索功能较差。
环境
- CentOS 7.6 1810
- MySQL 5.7.25
- Mattermost 5.8.0 2019/02/16
安装流程
官方提供了完整的安装流程,可以根据自己的实际情况决定如何安装。本文章记录了在实际环境中安装的全过程,仅供参考。
MySQL
安装
| |
设置 root 密码
| |
注意:密码必须设置地复杂,否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
创建 Mattermost 数据库
| |
Mattermost 安装
| |
配置
配置 MySQL 以及根据需要决定是否修改文件保存目录
vi /opt/mattermost/config/config.json
| |
防火墙
如果不使用默认的 8065 端口访问,而是使用后续介绍的 Nginx 绑定域名+80端口访问的话,此步可以跳过。
| |
启动测试
| |
等待一会儿出现 Server is listening on :8065
字样后就可以按 Ctrl+C 停止运行,继续后面的操作。
这步最主要的作用是确定前面的配置是否正确,如果有异常,可以根据实际提示去修改配置。
自动启动
sudo vi /etc/systemd/system/mattermost.service
| |
配置自动启动
| |
域名
增加 A 记录 mattermost.company.com 这样访问时 URL 中不需要增加端口
Nginx
将 server
替换成 127.0.0.1
与 server_name
替换为域名
vi /etc/nginx/conf.d/mattermost.conf
| |
systemctl restart nginx
经过这样配置后就可以使用 http://mattermost.company.com访问。
Mattermost 站点网址
- 打开
系统控制台 - Mattermost
- 将
站点网址
修改为http://mattermost.company.com
,然后保存 - 执行
systemctl restart mattermost
重启服务
GitLab OAuth 登录
使用 GitLab 登录可以减少需要注册的账号数量,而且方便管理。
GitLab
在 GitLab 中添加应用时,一定要注意,URI 要添加两行
| |
其次范围选择 api
,否则无法登录。
Mattermost
将上一步产生的应用程序 ID 与密钥填写即可,然后输入 GitLab 地址,保存后注销后在登录界面点击 GitLab Login
按钮登录测试。
邮件通知
可以在公司使用的企业邮箱内创建单独的管理账号,并且赋予多个别名,分别用于不同用途,如 Jenkins、GitLab、Jira、Mattermost 等等。
然后查找企业邮箱对应的 SMTP 发件服务器客户端设置,填写到 系统控制台 - Mattermost,最后使用 测试连接
按钮发送测试邮件即可。
注意:强烈建议使用 TLS 加密连接方式,增强安全性。
WebHooks 通知
Mattermost 中增加 Jenkins 用户,用于发送 Jenkins 打包通知。 需要将用户角色从成员改为团队管理员,这样才可以使用集成中的 WebHooks 功能。
- Incoming Webhooks — Mattermost 5.8 documentation
- Incoming Webhooks - Developers
- Convert cURL command syntax to Python requests, Node.js, R, PHP, Strest, Go, JSON, and Rust code
客户端
官方有 Android iOS macOS Windows Linux 客户端,覆盖全面。
打开客户端只需要填写服务器地址,然后使用 GitLab 登录即可。
iOS 客户端登录后可以接收到 Mattermost 发送的消息,即使应用不在前台也不在内网也会收到消息对应的 iOS 通知,因为默认使用 Mattermost 官方的外网推送服务器发送消息。
其他设置
每个团队最多用户数建议根据实际情况由 50 改为更高的的 100
- 成员和团队 - 系统控制台 - Mattermost
建议 团队队友的名字显示:
改为 若存在昵称显示昵称,否则显示姓名
,因为默认显示全名的话是按照名在前姓在后显示的,不符合国人习惯。这样需要所有人将昵称改为姓在前名在后的全名。
- 成员和团队 - 系统控制台 - Mattermost
关闭邮件注册功能
- 邮件验证 - 系统控制台 - Mattermost