Как установить Mattermost на AlmaLinux 9

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

Шаг 1. Обновление системных пакетов

Для начала войдите на ваш Alma Linux 9 VPS, используя SSH:

ssh root@IP_Address -p Port_number

Замените „IP_Address“ и „Port_number“ на IP-адрес вашего сервера и номер порта SSH. При необходимости замените „root“ на имя пользователя вашей учетной записи sudo.

После входа в систему необходимо убедиться, что все пакеты ОС AlmaLinux, установленные на сервере, обновлены. Это можно сделать, выполнив следующие команды:

dnf update -y && dnf upgrade -y

Шаг 2. Установите зависимости:

После этого установите необходимые зависимости на ваш сервер. Выполните следующую команду для установки этих зависимостей:

dnf install git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip openssl-devel wget yum-utils make libffi-devel zlib-devel tar

Шаг 3. Установите MariaDB:

Mattermost поддерживает PostgreSQL 11.0, MySQL 5.7.12, 8.0.12 или эквивалентные серверы MariaDB. Мы установим MariaDB из репозитория AlmaLinux. Для этого выполните следующую команду:

dnf install mariadb-server -y

Далее инициируйте и включите службу MariaDB следующей командой. Эта команда запустит MariaDB и настроит ее на автоматический запуск во время загрузки.

systemctl enable --now mariadb

После установки MariaDB создайте нового пользователя MariaDB для Mattermost с помощью следующих команд:

mysql -u root
MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> CREATE USER 'mattermost'@'localhost' IDENTIFIED BY 'YourStrongP4ssw0rd';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;

Не забудьте обновить значение «YourStrongP4ssw0rd», указанное выше, на более надежный пароль.

Шаг 4. Установка и настройка Mattermost

Мы настроим экземпляр Mattermost, используя специальную учетную запись пользователя системы. Давайте создадим новую системную учетную запись под именем «mattermost», используя для этого следующую команду.

useradd -mrd /opt/mattermost mattermost -s "$(which bash)"

Далее зайдите под пользователем «mattermost» и загрузите Mattermost. Если вы хотите загрузить самый последний пакет tarball, вы можете перейти на страницу загрузки по адресу https://docs.mattermost.com/install/install-tar.html и заменить ссылку в приведенной ниже команде на самую новую версию.

su - mattermost
wget https://releases.mattermost.com/9.9.0/mattermost-9.9.0-linux-amd64.tar.gz -O mattermost.tar.gz

Затем распакуйте загруженный файл с помощью следующей команды:

tar -xzvf mattermost.tar.gz --strip-component 1

Перед запуском Mattermost нам нужно настроить его для подключения к нашей базе данных. Мы рекомендуем сделать резервную копию конфигурации по умолчанию, прежде чем вносить изменения:

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

После создания резервной копии конфигурации по умолчанию вы сможете получить доступ к файлу по умолчанию и настроить его для своего экземпляра.

nano /opt/mattermost/config/config.json

В разделе „SqlSettings“ измените следующие значения:

Set the DriverName value to "mysql".
Set the DataSource value to
"mattermost:YourStrongP4ssw0rd@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Замените „mattermost“, „YourStrongP4ssw0rd“ и „mattermostdb“ на имя базы данных, пользователя и пароль, которые вы создали на предыдущем шаге.

Теперь в разделе „ServiceSettings“ измените следующие значения:

Set your "SiteURL" to the domain name you want for your Mattermost application (e.g. https://mattermost.yourdomain.com).

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

Затем выйдите из редактора Nano под пользователем „mattermost“:

exit

Шаг 5. Создание файла службы Mattermost Systemd

Теперь, когда Mattermost установлен и настроен, необходимо создать файл службы Systemd для его запуска, перезапуска или остановки. Вы можете создать этот файл с помощью следующей команды:

nano /etc/systemd/system/mattermost.service

Добавьте следующие строки:

[Unit]
Description=Mattermost
After=network.target
[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 с помощью следующей команды. Эта команда запустит Mattermost и будет настроена на автоматический запуск во время загрузки.

systemctl enable --now mattermost

Проверьте, правильно ли запущена служба Mattermost, с помощью следующей команды:

systemctl status mattermost

Если служба запущена правильно, ее вывод должен быть похож на следующий:

systemctl status mattermost
● mattermost.service - Mattermost
     Loaded: loaded (/etc/systemd/system/mattermost.service; enabled; preset: disabled)
     Active: active (running) since Tue 2024-06-18 14:18:47 CDT; 57min ago
   Main PID: 5743 (mattermost)
      Tasks: 35 (limit: 23192)
     Memory: 340.4M
        CPU: 26.229s
     CGroup: /system.slice/mattermost.service
             ├─5743 /opt/mattermost/mattermost/bin/mattermost
             ├─5768 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
             ├─5776 plugins/com.mattermost.calls/server/dist/plugin-linux-amd64
             └─5786 plugins/playbooks/server/dist/plugin-linux-amd64

Вы можете получить доступ к бэкенду Mattermost, используя URL http://YOUR_SERVER_IP:8065.

Шаг 6. Настройка обратного прокси

Веб-сервер необходим, если вы хотите использовать доменное имя вместо IP-адреса вашего сервера. В этом уроке мы установим и будем использовать Nginx. Выполните следующую команду для установки nginx:

dnf install -y nginx

Затем запустите и включите службу Nginx с помощью следующей команды. Это позволит немедленно запустить Nginx и настроить его на автоматический запуск при загрузке.

systemctl enable --now nginx

Далее создайте блок сервера Nginx:

nano /etc/nginx/conf.d/mattermost.conf

Добавьте следующие строки:

upstream backend {
   server 127.0.0.1:8065;
   keepalive 32;
}
server {
  listen 80;
  server_name   mattermost.yourdomain.com;
location ~ /api/v[0-9]+/(users/)?websocket$ {
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
       client_max_body_size 50M;
       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_buffers 256 16k;
       proxy_buffer_size 16k;
       client_body_timeout 60;
       send_timeout 300;
       lingering_timeout 5;
       proxy_connect_timeout 90;
       proxy_send_timeout 300;
       proxy_read_timeout 90s;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }
   location / {
       client_max_body_size 50M;
       proxy_set_header X-Frame-Options SAMEORIGIN;
       proxy_buffers 256 16k;
       proxy_buffer_size 16k;
       proxy_read_timeout 600s;
       proxy_cache_revalidate on;
       proxy_cache_min_uses 2;
       proxy_cache_use_stale timeout;
       proxy_cache_lock on;
       proxy_http_version 1.1;
       proxy_pass http://backend;
   }
}

Обязательно обновите «mattermost.yourdomain.com» на свое доменное имя.

Сохраните и закройте файл, а затем перезагрузите службу nginx, чтобы применить изменения:

systemctl reload nginx

Теперь вы можете получить доступ к Mattermost, используя свое доменное имя по адресу http://mattermost.yourdomain.com, и начать работу над проектом. Дополнительные сведения о Mattermost, его возможностях и настройке см. в официальной документации.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.rosehosting.com

Похожие статьи

Комментарии (0)