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

Что такое Mattermost

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

Чем занимается Mattermost:

  • объединяет команды,
  • обеспечивает структурированное выполнение процессов;
  • упрощает управление рабочими задачами и проектами;
  • производит контроль за данными;
  • обеспечивает безопасность различных файлов и документов;
  • настраивает уведомления. 

Он ориентирован на разработку и идеально подходит для разработчиков ПО и тех, кто работает в сфере технологий.

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

Основные преимущества Mattermost 

  • Открытый исходный код.
  • Возможность как внутрикомандной, так и межкомандной коммуникации и обмена файлами.
  • Обширный файловый и текстовый архив. 
  • Многочисленные функции поиска.
  • Видеозвонки и демонстрация экрана.
  • Возможность установки и запуска на собственном сервере. 
  • Поддержка всех основных платформ: iOS,  Android, Microsoft Windows, Linux и macOS.

Установка Mattermost на Ubuntu 

Шаг 1. Скачайте Mattermost на Ubuntu

  1. Подключитесь серверу по SSH.
  2. Загрузите последнюю версию Mattermost c помощью команды: 

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

На момент написания последней версией является 7.9.1. Вы же можете зайти в официальную документацию и выбрать тот релиз, что подходит вам.

  1. Затем распакуйте архив, запустив:

tar -xvzf mattermost*.gz

  1. Скопируйте распакованный файл в директорию /opt:

sudo cp -r mattermost /opt

  1. Создайте папку для Mattermost, где он будет хранить пользовательские данные:

sudo mkdir /opt/mattermost/data

  1. Создайте пользователя и группу для Mattermost:

sudo useradd --system --user-group mattermost

  1. Затем сделайте нового пользователя и его группу владельцами файлов:

sudo chown -R mattermost:mattermost /opt/mattermost

Таким образом, в случае взлома злоумышленник будет ограничен каталогом Mattermost и не сможет заполучить доступ к остальной части системы.

  1. Предоставьте пользователю и группе право на запись:

sudo chmod -R g+w /opt/mattermost

Шаг 2. Настройте базу данных MySQL

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

  1. Запустите:

sudo mysql

  1. Создайте пользователя БД с именем mmuser, выполнив следующую команду. 

CREATE USER 'mmuser'@'%' IDENTIFIED BY 'your_mmuser_password'

Где «your_mmuser_password»  замените на собственный пароль.

  1. Затем создайте базу данных Mattermost:

CREATE DATABASE mattermost

  1. Чтобы разрешить пользователю «mmuser» доступ к БД, предоставьте ему права доступа, выполнив:

GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser'

  1. Подтвердите закрепление прав:

FLUSH PRIVILEGES;

  1. Закройте MySQL:

exit

  1. Теперь перейдите  к основному файлу конфигурации Mattermost:

sudo nano /opt/mattermost/config/config.json

  1. Найдите строки, которые выглядят следующим образом:

. . .

"DriverName": "..."

"DataSource": "..."

. . .

  1. Отредактируйте их, чтобы они получили вид:

...

"DriverName": "mysql"

"DataSource": "mmuser:your_mmuser_password@tcp(localhost)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"

...

Где your_mmuser_password – это ваш пароль, 

А localhost – имя вашего хоста или IP-адрес.

  1. Сохраните внесённые изменения и закройте файл.

Шаг 3. Создайте службу systemd

Запуск Mattermost с использованием службы systemd гарантирует, что он всегда будет работать в фоновом режиме.

  1. Откройте файл конфигурации службы с помощью текстового редактора:

sudo nano /lib/systemd/system/mattermost.service

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

[Unit]

Description=Mattermost

After=network.target

After=mysql.service

BindsTo=mysql.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=mysql.service

Важно! Если вы установили MySQL на выделенный сервер, то ваша запись должна несколько отличаться от прописанной выше.  В противном случае служба Mattermost не запустится:

[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

  1. Сохраните внесённые изменения и закройте файл, а затем перезагрузите systemctl, выполнив команду:

sudo systemctl daemon-reload

  1. Убедитесь, что он загружен правильно:

sudo systemctl status mattermost.service

Если процедура установки прошла успешно, вы увидите следующий вывод:

Output

mattermost.service - Mattermost

   Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor preset: enabled)

   Active: inactive (dead)

  1. Запустите подсистему systemctl:

sudo systemctl start mattermost.service.

  1. Чтобы проверить, произошёл ли её запуск, пропишите:

curl http://localhost:8065

В качестве ответа вы должны получить HTML-код.

  1. Включите службу Mattermost, выполнив:

sudo systemctl enable mattermost.service

Шаг 4. Настройте Mattermost

  1. Откройте браузер и перейдите к Mattermost. Например, если IP-адрес сервера Mattermost 11.11.11.1, перейдите по адресу:

http://11.11.11.1:8065.

  1. Создайте учётную запись с правами администратора на вашем сервере. Для этого вам понадобится email, логин admin и придуманный пароль. В конце нажмите Create Account.  

После входа в систему вы увидите страницу с сообщением о том, что нет групп, к которым вы можете присоединиться. Также вам будет представлено две опции: «Create team» (Создать группу) и «Go to System Console» (Перейти в консоль».

  1. Выберите Go to System Console
  2. Здесь вы можете установить URL-адрес сайта. 

Для этого в левой панели перейдите в раздел Environment и щёлкните по Web Server.

Далее в поле «Site URL» укажите нужный вам URL-адрес сайта, а затем нажмите Test Live URL.

  1. В  разделе Environment вы таже можете выбрать опцию File Storage, чтобы настроить место хранения файлов и изображений.
  • Если вы храните файлы локально, задайте у параметра «File Storage System» значение Local File System. 
  • «Local Storage Directory» при желании можно оставить по умолчанию или прописать директорию самостоятельно. 
  • В поле «Maximum File Size» задайте максимальный размер файла. 

В конце нажмите Save.

  1. Обратите внимание на раздел Site Configuration и его опцию Localization

Здесь вы можете задать язык для всех пользователей. 

  1. Вы также можете создать свою группу. Для этого вернитесь к пункту 3 и выберите Create team

Перед вами появится страница, где потребуется набрать название группы. Введите его и щёлкните Next.

Затем вам понадобится выбрать веб-адрес для команды на вашем домене. При желании оставьте URL без изменений и нажмите Finish

Далее следуйте инструкциям Mattermost, после чего вы получите доступ к основному интерфейсу группы. 

  1. Перезапустите сервер, чтобы активировать все внесённые изменения: 

sudo systemctl restart mattermost

Готово! Вы частично настроили Mattermost под себя и теперь можете приступать к работе и общению с коллегами. 

Заключение

В данной статье мы познакомили вас с приложением Mattermost, его преимуществами и функционалом. Кроме того, мы также предоставили инструкции по его установке на Ubuntu, а также советы первичной настройке. 

Всё ещё остались вопросы?