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, его возможностях и настройке см. в официальной документации.
Комментарии (0)