Способы оплаты Abuse

Установка и настройка Mattermost сервера на Ubuntu 24.04: подробное руководство.

11.10.2024, 13:59

Описание

Mattermost — это платформа для корпоративного общения с открытым исходным кодом, предназначенная для внутренней коммуникации команд и организаций. Она поддерживает текстовые чаты, обмен файлами, видеозвонки и интеграцию с различными сторонними сервисами. Mattermost может быть развернут на собственных серверах для полного контроля над данными и обеспечения безопасности. Это альтернатива таким решениям, как Slack, с возможностью настройки, автоматизации и интеграции с DevOps-процессами.

Требования

1. Виртуальный сервер (VPS) с установленной Ubuntu 24.04.

2. Права root или учётная запись с sudo.

3. (Опционально) Мы настоятельно рекомендуем использовать прокси-сервер перед Mattermost для поддержки до 200 одновременных пользователей. Если у вас менее 200 одновременных пользователей, вы можете настроить TLS. Если количество одновременных пользователей превышает 200, вам потребуется прокси-сервер, такой как NGINX, перед Mattermost для управления трафиком.


Шаг 1. Вход на сервер через SSH.

Для начала вам нужно подключиться к вашему серверу через SSH под пользователем root. Выполните следующую команду, заменив IP_Address на IP-адрес вашего сервера, а Port_number — на номер порта SSH:

ssh root@IP_Address -p Port_number

Чтобы убедиться, что у вас установлена правильная версия Ubuntu, выполните команду:

lsb_release -a

Ожидаемый результат:

Distributor ID: Ubuntu
Description:     Ubuntu 24.04 LTS
Release:            24.04
Codename:      noble

Шаг 2. Установка и настройка базы данных.

Обновляем ОС:

apt update
apt upgrade

Теперь создадим базу данных PostgreSQL для использования сервером Mattermost. Введите команду (эта команда установит postgresql):

apt install postgresql

Заходим в PostgreSQL:

sudo -u postgres psql

Создаем базу Mattermost:

CREATE DATABASE mattermost;

Создаем пользователя mmuser (вместо пароля mmuser-password используем более защищенный пароль):

CREATE USER mmuser WITH PASSWORD 'mmuser-password';

Наделяем пользователя mmuser правами:

GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;

Выходим из PostgreSQL

\q

Вносим изменения в файл pg_hba.conf предоставляя Mattermost серверу доступ к базе PostgreSQL.
Открываем файл:

nano /etc/postgresql/16/main/pg_hba.conf

Находим строки:

local   all             all                                                  peer
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                       scram-sha-256

Заменяем на:

local   all             all                                                  trust
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                       trust

Сохраняем изменения, закрываем файл и обновляем конфигурацию PostgreSQL:

systemctl reload postgresql

Проверяем, что можем подключиться к базе от пользователя mmuser:

psql --dbname=mattermost --username=mmuser --password

Вводим пароль, который мы создали вместо mmuser-password.

Если мы все сделали правильно - появится консоль PostgreSQL mattermost=>

Выходим:

\q

Шаг 3. Скачивание и установка Mattermost сервера.

Скачиваем последнюю версию Mattermost сервера:

wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz

Распаковываем:

tar -xvzf mattermost*.gz

Переносим в директорию /opt:

mv mattermost /opt

По умолчанию Mattermost сервер использует директорию /opt/mattermost/data.

Создаём её:

mkdir /opt/mattermost/data

Теперь создадим группу и пользователя mattermost:

useradd --system --user-group mattermost

Предоставим права:

chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Шаг 4. Создание системного сервиса.

Чтобы управлять сервером Mattermost, создадим системный сервис.

Откройте редактор для создания файла сервиса:

nano /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
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Обновляем конфигурацию systemd:

systemctl daemon-reload

Перед запуском Mattermost сервера, необходимо сконфигурировать его.

Создайте резервную копию конфигурационного файла:

cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json

Откройте в текстовом редакторе файл конфигурации Mattermost сервера:

nano /opt/mattermost/config/config.json

Нам необходимо внести изменения.

Найдите:

"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes"

Замените на:

"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"

Где

<mmuser-password> - пароль mmuser для PostgreSQL.

<host-name-or-IP> - IP адрес сервера или его hostname.

<mattermost> - база PostgreSQL.

Сохраните файл и выйдите из редактора.

Активируйте сервис, чтобы он запускался при старте системы, и запустите его сейчас:

systemctl enable --now mattermost

Для проверки статуса сервера используйте команду:

systemctl status mattermost

Шаг 5. Подключение к серверу Mattermost.

Откройте в браузере <IP адрес вашего сервера или его hostname>: 8065

Следуйте инструкциям на открывшейся странице.

   

Заключение

Теперь Mattermost сервер установлен и работает на вашем сервере Ubuntu 24.04.