Mattermost 是一款开源的在线聊天服务软件。Mattermost 是由 Mattermost Inc 开发,用 Golang 和Javascript 编写。Mattermost 被设计为企业的内部聊天服务器,并作为Slack的替代品进行销售。

Mattermost 有一个简单的Web界面,可用于系统管 理和即时通信。除此之外,针对 Mattermost 聊天服务器,也有各种桌面和移动应用程序供用户选择。

本文将详细演示如何在 CentOS 7 系统安装 Mattermost 5,并安装 PostgreSQL 11 作为 Mattermost 的数据库服务器。

Mattermost 目前的稳定版为 5.13.1,具有如下特性:

  • 加密的推送通知
  • 无限的搜索记录
  • 高级访问控制
  • 支持多节点数据库部署
  • 免费和私有云就绪
  • 自定义表情符号
  • 支持插件
  • 基于单点登录的SMAL
  • 文件共享
  • 1 对 1 以及群组消息支持
  • 支持多种语言
  • 基本角色的权限管理
  • 语音/视频会议

1] Mattermost 5 系统需求

以下是 Mattermost 5 服务器基本要求。这里只给出了用于演示系统需求,如果想要正式部署 Mattermost 5 服务器,则可以在其官方网站上查看 Mattermost 详细的系统需求

  • CPU – 单核
  • 内存 – 2 GB
  • 操作系统 – CentOS 7+
  • 数据库软件 – MySQL 5.6,5.7,8 / PostgreSQL 9.4+

2] CentOS 7 系统安装和配置 PostgreSQL 11

目前标准 yum 软件库中提供的 PostgreSQL 版本为 9.2,为了能够使用 Mattermost 5,我们将安装最新版的 PostgreSQL 11。安装方法也比较简单,就是先安装 PostgreSQL 的官方软件库,然后再通过 yum 命令安装即可。命令如下:

# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum install postgresql11 postgresql11-server

安装完成后,使用如下命令初始 PostgreSQL 数据库:

# /usr/pgsql-11/bin/postgresql-11-setup initdb

修改 PostgreSQL 的配置文件””,将认证方式设置为 md5 加密:

host    all             all             127.0.0.1/32            ident
//修改为
host    all             all             127.0.0.1/32            md5

之后启动 PostgreSQL 服务器:

# systemctl enable postgresql-11
# systemctl start postgresql-11

然后切换成”postgres”用户并设置管理密码,示例起见,密码设置为”rultr”:

# su - postgres
-bash-4.2$ psql
psql (11.4)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSWORD 'rultr';
ALTER ROLE

最后,创建 Mattermost 所使用的数据库”mattermost”、用户”mmuser”并授权:

postgres=# CREATE DATABASE mattermost;
CREATE DATABASE
postgres=# CREATE USER mmuser WITH PASSWORD 'mattermost';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT
postgres=# \q
-bash-4.2$ exit
logout

至此,PostgreSQL 11 安装配置成功。

3] CentOS 7 系统安装和配置 Mattermost 5

Mattermost 分为开源版(Team 版 MIT应用许可)和企业版,一般来说开源版就可以满足多数应用场景,如有更高级的应用需求,可以尝试企业版。

同 Go 语言开发的大多数应用一样,Mattermost 下载软件包后就可以直接运行,不必再安装其他依赖软件包。软件包下载完成后,只需要对  Mattermost进行简单配置就可以正常使用了。

首先,下载软件包并解压,注意解压目录可以是任意的,方便起见,我将软件包置于根目录下:

# wget https://releases.mattermost.com/5.13.1/mattermost-5.13.1-linux-amd64.tar.gz
# tar -C / -zxvf mattermost-5.13.1-linux-amd64.tar.gz

其次,创建 Mattermost 需要使用的存储目录,这个目录将存储 Mattermost 用户上传的文件、图片等。

# # mkdir /mattermost/data

然后,创建操作 Mattermost 软件的系统用户和组,并将”/mattermost”的属主修改为该用户:

# useradd --system --user-group mattermost
# chown -R mattermost:mattermost /mattermost
# chmod -R g+w /mattermost

最后,修改配置文件”/mattermost/config/config.json”中数据库连接信息,设置 Mattermost 使用 PostgreSQL 的相关信息,修改内容如下:

	"DriverName": "postgres",
	"DataSource": "postgres://mmuser:mattermost@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",

Mattermost 支持多种语言,可以在配置文件中设置默认语言为中文,当然也可以安装成功后修改语言选项:

        "DefaultServerLocale": "zh-CN",
        "DefaultClientLocale": "zh-CN",

现在,就可以执行 mattermost 命令来验证程序是否可以正常运行与否了:

# cd /mattermost/bin/
# sudo -u mattermost ./bin/mattermost

如果没有出现报错信息,就表示 Mattermsot 可以正常运行了。

使用方便起见,创建一个”systemd”服务。服务文件”/usr/lib/systemd/system/mattermost.service”,内容如下:

[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-11.service

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

[Install]
WantedBy=multi-user.target

现在,启动 Mattermost 服务:

# systemctl enable mattermost
# systemctl start mattermost

4] Mattermost 的使用

首先,防火墙放行 Mattermost 侦听的端口,默认使用8065端口:

# firewall-cmd --add-port=8065/tcp --zone=public --permanent
# firewall-cmd --reload

然后,通过浏览器浏览”http://YOUR_HOST_IP:8065″,就会见到中下页面:

图.1 Mattermost 创建帐户页面

填写邮件、用户名以及密码后,点击”Create Account”按钮创建 Mattermost 管理账户。帐户创建成功后,会进入创建 Team 页面:

图.2 Mattermost 创建 Team 页面

输入 Team 名称”RULTR”后点击”Next >”继续:

图.3 Mattermost 添加 Team 完成

系统会给出新建 Team 的 URL 信息,确认无误后点击”Finish”完成 Team 创建,系统自动跳转至 Team 管理页面:

图.4 Mattermost Team管理页面

现在要做的就是给 Team 添加用户,点击管理页面左侧的菜单,会显示管理工具菜单项,点击”Get Team Invite Link”菜单项,弹出 Team 注册邀请链接,我们通过浏览器访问该链接,注册一个新的用户”Test”:

图.5 通过邀请链接添加 Mattermost 用户

帐户创建完成后,就可以在 Team 中愉快的聊天啦。

图.6 Mattermost 聊天界面

当然,Mattermost 还有其他很多功能,这里就不过多介绍了。有兴趣的朋友可以参考官方文档。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注