
本文介绍如何在 Ubuntu Server 20.04 上手动部署 Mattermost,使用 PostgreSQL 13 作为数据库,并通过 systemd 管理服务进程。
1. 安装 PostgreSQL 13
更新系统并安装依赖
sudo apt update
sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates
添加 PostgreSQL 官方软件源
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
安装 PostgreSQL 13
sudo apt update && sudo apt install postgresql-13 postgresql-client-13
确认服务运行状态
systemctl status [email protected]
2. 初始化数据库
进入 PostgreSQL 交互终端,依次执行以下命令:
sudo -u postgres psql
CREATE DATABASE mattermostdb;
CREATE USER mmuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO mmuser;
\q
⚠️ 请将
'password'替换为强密码,不要在生产环境中使用示例密码。
3. 创建系统用户并部署 Mattermost
# 创建专用系统用户
sudo useradd --system --user-group mattermost
# 下载并解压 Mattermost
wget http://192.168.0.6:8082/Files/FTP/mattermost-10.7.0-linux-amd64.tar.gz
sudo tar -xf mattermost-10.7.0-linux-amd64.tar.gz
# 移动到标准目录并设置权限
sudo mv mattermost /opt/
sudo chown -R mattermost:mattermost /opt/mattermost
4. 配置 Mattermost
创建数据目录
sudo mkdir -p /opt/mattermost/data
编辑配置文件
sudo nano /opt/mattermost/config/config.json
找到并修改以下两处配置:
站点 URL
"ServiceSettings": {
"SiteURL": "https://your_domain"
}
数据库连接
"SqlSettings": {
"DriverName": "postgres",
"DataSource": "postgres://mmuser:password@localhost/mattermostdb?sslmode=disable&connect_timeout=10&binary_parameters=yes"
}
将
your_domain替换为实际域名,password替换为第 2 步中设置的数据库密码。
5. 配置 systemd 服务
创建服务单元文件:
sudo nano /etc/systemd/system/mattermost.service
写入以下内容:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
6. 启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 设置开机自启并立即启动
sudo systemctl enable --now mattermost
# 查看运行状态
sudo systemctl status mattermost
若状态显示 Active: active (running),即表示部署成功。
🔒 后续建议:部署完成后,建议在前端配置 Nginx 反向代理并启用 HTTPS,以保障数据传输安全。