怎样在 Ubuntu 16.04 上安装 Mattermost 5.2

Mattermost 是 Slack SAAS 消息传递服务的开源、自托管替代方案。 换句话说,使用 Mattermost,您可以在自己的机器上为您的团队设置一个私人和专用的消息服务器。

先决条件

  • 一个新创建的 Ubuntu 16.04 服务器实例。 说它的 IP 地址是 203.0.113.1.
  • 一种 sudo 用户。
  • 服务器实例已使用 EPEL YUM 存储库更新到最新的稳定状态。
  • 一个域 mattermost.example.com 已配置为指向 203.0.113.1 服务器实例。 您可以在另一个 Vultr 教程中了解更多详细信息。
  • 为了自动获取 Let’s Encrypt 证书,服务器实例的 FQDN 应该配置为 mattermost.example.com.

使用以下命令更新您的软件包。

sudo apt update
sudo apt upgrade

安装和配置 MySQL

根据 Mattermost 的要求,您需要设置一个数据库来存储 Mattermost 的所有数据。 为此,我们将安装 MySQL。

使用以下命令安装 MySQL 服务器。

sudo apt install mysql-server

它会提示您为 MySQL 根帐户选择一个密码,

然后,以 root 身份登录 MySQL。

mysql -u root -p

创建 Mattermost 用户 mmuser.

mysql> create user 'mmuser'@'%' identified by 'mmuser-password';

笔记: 更改密码 mmuser-password 更安全的东西。

创建 Mattermost 数据库。

mysql> create database mattermost;

授予用户访问权限 mmuser.

mysql> grant all privileges on mattermost.* to 'mmuser'@'%';

最后,退出 MySQL。

mysql> exit

安装和配置 Mattermost

下载并解压 Mattermost 5.2 存档。

cd
wget https://releases.mattermost.com/5.2.0/mattermost-5.2.0-linux-amd64.tar.gz
tar -zxvf mattermost-5.2.0-linux-amd64.tar.gz

将所有 Mattermost 文件移动到 /opt 目录,然后创建一个子目录 /opt/mattermost/data 存储程序数据。

sudo mv mattermost /opt
sudo mkdir /opt/mattermost/data    

创建专用用户 mattermost 和一个专门的小组 mattermost 用于运行 Mattermost。

sudo useradd --system --user-group mattermost

设置用户和组 mattermost 作为 Mattermost 文件的所有者。

sudo chown -R mattermost:mattermost /opt/mattermost

授予写入权限 mattermost 团体。

sudo chmod -R g+w /opt/mattermost

在文件中设置数据库驱动 /opt/mattermost/config/config.json. 打开文件。

nano /opt/mattermost/config/config.json

找到这些行。

"SiteURL": "",
"ListenAddress": ":8065",
"DataSource": "mmuser:[email protected](dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

用下面的行替换它们。

"SiteURL": "https://mattermost.example.com",
"ListenAddress": ":80",
"DataSource": "mmuser:<mmuser-password>@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

确保 DriverName 被设定为 mysql 然后设置 DataSource 到以下值,替换 <mmuser-password> 具有适当的值。 还要确保数据库名称是 mattermost 代替 mattermost_test

然后按CTRL+X退出,然后按Y保存。

允许 Mattermost 绑定到特权端口,因为 example, 80443.

cd /opt/mattermost/bin
sudo setcap cap_net_bind_service=+ep ./platform
sudo setcap cap_net_bind_service=+ep ./mattermost

创造最重要的 systemd unit 文件并使用 nano 作为 root 打开它。

nano /etc/systemd/system/mattermost.service

使用以下内容填充它。

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

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

[Install]
WantedBy=multi-user.target

修改权限 systemd 单元文件。

sudo chmod 664 /etc/systemd/system/mattermost.service

启动 Mattermost 服务并使其在系统启动时自动启动。

sudo systemctl daemon-reload
sudo systemctl start mattermost.service
sudo systemctl enable mattermost.service

最后,将您最喜欢的网络浏览器指向 https://mattermost.example.com 或者 https://mattermost.example.com,你会看到 Mattermost Sign Up 页。

Mattermost Sign Up 页面,输入一个 email address, 一种 username, 和 password,然后单击 Create Account 按钮注册第一个用户。

笔记: 请注意,您注册的第一个用户也将是系统管理员。

Team Name 页面和 Team URL 页面,输入一个 team name 和一个 URL 对于你的第一支球队。

您现在已经成功设置了一个 Mattermost 消息传递服务器,它足够强大,可以为生产环境中的中小型团队提供服务。 随意探索 Mattermost 的界面并邀请更多团队成员。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

相关阅读:

Posted in: LinuxTags: