Смотрите также |
---|
Debian-like |
Mattermost — это популярная платформа для командного общения с открытым исходным кодом, которая может быть развернута на вашем собственном сервере. В этом руководстве мы рассмотрим, как установить Mattermost на AlmaLinux 8/9 и CentOS Stream 9, настроить базу данных MariaDB и обеспечить доступ к веб-интерфейсу.
Протестировано на:
Almalinux: 8 | 9
CentOS Stream: 9|10
1. Установка базы данных (MariaDB)
Mattermost использует MySQL или MariaDB в качестве базы данных. В этом примере мы будем использовать MariaDB.
Шаг 1: Обновление системы и установка MariaDB
Обновите систему и установите MariaDB:
sudo dnf update -y
sudo dnf install mariadb-server -y
Шаг 2: Запуск и настройка MariaDB
Запустите службу MariaDB и добавьте её в автозагрузку:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Шаг 3: Настройка базы данных
Подключитесь к консоли MariaDB:
sudo mysql
Создайте базу данных и пользователя для Mattermost:
CREATE DATABASE mattermost;
CREATE USER 'mattermost'@'localhost' IDENTIFIED BY 'ваш_пароль';
GRANT ALL PRIVILEGES ON mattermost.* TO 'mattermost'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2. Установка Mattermost
Шаг 1: Создание пользователя для Mattermost
Создайте системного пользователя для Mattermost:
sudo useradd --system --user-group mattermost
Шаг 2: Загрузка и распаковка Mattermost
Загрузите последнюю версию Mattermost:
wget https://releases.mattermost.com/10.6.0/mattermost-enterprise-10.6.0-linux-amd64.tar.gz
Распакуйте архив:
tar -xvzf mattermost-enterprise-10.6.0-linux-amd64.tar.gz
Переместите файлы в каталог /opt
:
sudo mv mattermost /opt
Шаг 3: Настройка каталогов и прав
Создайте каталог для данных и установите права:
sudo mkdir /opt/mattermost/data
sudo chown -R mattermost:mattermost /opt/mattermost/
sudo chmod -R g+w /opt/mattermost/
Шаг 4: Настройка конфигурации
Отредактируйте файл конфигурации /opt/mattermost/config/config.json
. Найдите строки:
"DriverName": "postgres",
"DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",
Измените их на:
"DriverName": "mysql",
"DataSource": "mattermost:ваш_пароль@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
Сохраните и закройте файл.
3. Создание systemd-юнита для Mattermost
Создайте файл юнита /etc/systemd/system/mattermost.service
:
sudo vim /etc/systemd/system/mattermost.service
Добавьте следующее содержимое:
[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service
[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Сохраните файл и перезагрузите демон systemd:
sudo systemctl daemon-reload
Запустите службу Mattermost и добавьте её в автозагрузку:
sudo systemctl start mattermost
sudo systemctl enable mattermost
Проверьте статус службы:
sudo systemctl status mattermost
Примерный вывод:

Примечание: Проблемы с SELinux
Если служба не запускается из-за ошибки Permission Denied
, выполните следующие команды:
sudo semanage fcontext -a -t bin_t "/opt/mattermost/bin(/.*)?"
sudo restorecon -RF /opt/mattermost/bin
4. Открытие портов в firewall
Mattermost по умолчанию использует порт 8065 для веб-интерфейса. Если вы используете Nginx в качестве обратного прокси, также потребуется открыть порт 80 (HTTP) или 443 (HTTPS).
Шаг 1: Открытие порта 8065
Откройте порт 8065 в firewall:
sudo firewall-cmd --zone=public --add-port=8065/tcp --permanent
Шаг 2: Открытие портов для Nginx (опционально)
Если вы используете Nginx, откройте порты 80 и 443:
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Шаг 3: Применение изменений
Перезагрузите firewall для применения изменений:
sudo firewall-cmd --reload
Проверьте открытые порты:
sudo firewall-cmd --list-ports

4. Доступ к веб-интерфейсу Mattermost
Mattermost по умолчанию прослушивает порт 8065. Откройте веб-браузер и перейдите по адресу:
http://ваш_IP_адрес:8065
Вы должны будете увидеть следующую страницу.

Шаг 1: Настройка администратора
На странице приветствия укажите:
- Адрес электронной почты администратора.
- Имя пользователя.
- Пароль.
Нажмите Create Account и следуйте инструкциям на экране.
Шаг 2: Настройка обратного прокси (опционально)
Для доступа к Mattermost через порт 80 или 443 рекомендуется настроить Nginx в качестве обратного прокси. Пример конфигурации Nginx:
server {
listen 80;
server_name ваш_домен;
location / {
proxy_pass http://127.0.0.1:8065;
proxy_set_header Host $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;
}
}
Сохраните конфигурацию и перезапустите Nginx:
sudo systemctl restart nginx
Заключение
Вы успешно установили Mattermost на RHEL-like дистрибутив, открыли необходимые порты в firewall и настроили доступ к веб-интерфейсу. Теперь вы можете использовать эту платформу для командного общения. Если у вас возникнут вопросы или проблемы, оставляйте комментарии ниже.

Пробовали ли вы устанавливать Mattermost? Поделитесь своим опытом в комментариях!
Was this helpful?
0 / 0