在Ubuntu 22.0.4服务器上安装Mattermost的步骤
简要说明
我打算整理一下在原始的 Ubuntu 系统上安装 Mattermost 的步骤。
我希望构建的环境如下所示。
-
- Mattermost v7.5
-
- Linux
Ubuntu 22.0.4
データベース
Postgresql v14
Webサーバー
Nginx(最新版)
由于根据以下信息参考而构建,所以如果有任何错误或不符之处,欢迎提供评论,非常感激。
-
- Mattermost を Docker で試験導入する (Docker Image 版)
-
- PostgreSQL 14をUbuntu 20.04へインストールし、外部から接続する
- Mattermostインストール
在本文中,我們省略了有關安全設定方面的設定,請注意。
安装步骤
请按照以下步骤进行安装。
-
- 安装PostgreSQL
-
- 设置数据库
-
- 安装Mattermost
-
- 设置Mattermost
-
- 设置Nginx(假设已安装)
- 设置systemctl
安装Postgresql
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install curl ca-certificates gnupg
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt upgrade
sudo apt install postgresql-14
确认是否已成功安装
$ sudo su - postgres
$ psql
psql (14.0 (Ubuntu 14.0-1.pgdg20.04+1))
"help"でヘルプを表示します。
postgres=#
数据库的设置
-
- 2022/12/20 追記
postgresql データ保存先を変更したい場合はこちらの記事が参考になります。
https://ex1.m-yabe.com/archives/4719
もし変更したい場合は、以下のオペレーション実施前に、「(参考)データベース保存先変更手順」を実施ください。
$ sudo su - postgres
$ psql
postgres=# create role mmuser with login createdb password 'mmuser-password';
CREATE ROLE
postgres=# create database mattermost with encoding 'UTF8' owner mmuser;
CREATE DATABASE
更改数据库存储位置的步骤 (Reference: 更改数据库存储位置的步骤)
新的儲存位置:/mnt/postgresql
sudo mkdir /mnt/postgresql
chown -R postgres:postgres /mnt/postgresql/
sudo systemctl stop postgresql.service
在postgresql.service中设置新的保存路径。
sudo vi /usr/lib/systemd/system/postgresql.service
添加设置示例(环境=PGDATA=/mnt/postgresql)。
[Unit]
Description=PostgreSQL RDBMS
[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true
RemainAfterExit=on
Environment=PGDATA=/mnt/postgresql
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl restart postgresql
sudo -u postgres /usr/lib/postgresql/14/bin/initdb -D /mnt/postgresql
sudo systemctl restart postgresql
安装Mattermost
cd /usr/local/src
sudo wget https://releases.mattermost.com/7.5.0/mattermost-7.5.0-linux-amd64.tar.gz
sudo tar -xvzf mattermost*.gz
sudo mv mattermost /opt
sudo mkdir /opt/mattermost/data
sudo useradd --system --user-group mattermost
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost
sudo rm -f mattermost-7.5.0-linux-amd64.tar.gz
Mattermost的安装配置
请使用vi打开/opt/mattermost/config/config.json文件,并将参数设置如下。
"SiteURL": "http://mattermost.example.com/mattermost"
"DriverName": "postgres"
"DataSource": "postgres://mmuser:mmuser-password@localhost:5432/mattermost?sslmode=disable\u0026connect_timeout=10"
"MaxUsersPerTeam":200
"EnableLocalMode":true
"EnableUserAccessTokens": true
Nginx的安装设置(假设已经安装)
在/etc/nginx/conf.d目录下创建一个名为mattermost.conf的文件。
设定的内容(示例):
server {
listen 8088;
location / {
client_max_body_size 50M;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_pass http://localhost:8065;
}
}
systemctl 的配置
$ sudo touch /lib/systemd/system/mattermost.service
$ sudo vi /lib/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
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=postgresql.service
确认服务启动
$ sudo systemctl enable mattermost.service
$ sudo systemctl start mattermost.service
$ sudo systemctl status mattermost.service
只要能够访问http://localhost:8065/,就算成功了。