Альтернатива Slack на вашому сервері Linux: Встановлення та налаштування Mattermost
Чи відчуваєте втому від Slack на Linux? Бажаєте розгорнути власну систему обміну повідомленнями на сервері, використовуючи можливості командного рядка? Mattermost – це саме те, що вам потрібно. Ця платформа з відкритим кодом пропонує аналогічну функціональність, як Slack, але з повною свободою налаштування.
Перед початком роботи
У цьому посібнику ми розглянемо процес встановлення серверної частини Mattermost на Ubuntu 18.04 LTS (Long-Term Support). Якщо у вас є сервер Linux (або комп’ютер, який може працювати тривалий час), завантажте образ Ubuntu Server з офіційного сайту та встановіть його. Це важливий крок перед початком налаштування Mattermost.
Чому саме Ubuntu Server? Вибір Ubuntu Server обумовлений його простотою та легкістю в управлінні. Крім того, версії LTS гарантують стабільну роботу і підтримку протягом п’яти років, що є важливим для безперебійної роботи Mattermost.
Примітка: Якщо ви бажаєте розгорнути Mattermost на іншій системі Linux, зверніться до офіційної документації Mattermost, де ви знайдете відповідну інформацію.
Налаштування бази даних
Mattermost для коректної роботи потребує базу даних MySQL. Встановіть MySQL на вашому сервері Ubuntu, відкривши термінал та виконавши SSH-підключення до нього.
В терміналі введіть наступну команду, щоб встановити MySQL через Apt:
sudo apt install mysql-server
Процес встановлення MySQL може зайняти певний час. Після його завершення виконайте команду безпечної установки:
sudo mysql_secure_installation
Встановлення MySQL завершено. Тепер необхідно увійти в командний рядок MySQL з правами root.
Примітка: Використовуйте пароль root, який ви встановили під час безпечної установки.
sudo mysql
Створіть нового користувача для бази даних. Назвемо його mmuser:
create user 'mmuser'@'%' identified by 'mmuser-password';
Створіть базу даних для Mattermost:
create database mattermost;
Надайте користувачу mmuser усі необхідні права для доступу до бази даних mattermost:
grant all privileges on mattermost.* to 'mmuser'@'%';
Вийдіть з командного рядка MySQL:
exit
Встановлення серверного програмного забезпечення Mattermost
Серверне програмне забезпечення Mattermost доступне для завантаження на офіційному веб-сайті. Ви можете завантажити його безпосередньо на сервер, використовуючи утиліту wget. Ось команда для завантаження останньої версії:
Примітка: На офіційному сайті Mattermost доступні різні версії. Якщо вам потрібна новіша версія, ніж наведена в цьому посібнику, завантажте її з офіційної сторінки та скоригуйте посилання нижче.
wget https://releases.mattermost.com/5.5.0/mattermost-5.5.0-linux-amd64.tar.gz
Після завантаження розпакуйте архів TarGZ:
tar -xvzf mattermost*.gz sudo mv mattermost /opt sudo mkdir /opt/mattermost/data
Налаштування сервера Mattermost
Серверне програмне забезпечення встановлено, але для його коректної роботи потрібно провести конфігурацію. Почнемо зі створення системного користувача, від імені якого буде працювати Mattermost:
sudo useradd --system --user-group mattermost
Надайте цьому користувачу необхідні права доступу до каталогу Mattermost:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Тепер необхідно вказати Mattermost, яку базу даних використовувати. Відкрийте конфігураційний файл за допомогою редактора Nano:
sudo nano /opt/mattermost/config/config.json
Знайдіть у файлі наступний рядок:
“mmuser:[email protected](dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s”
Замініть його на наступний рядок, обов’язково вказавши ваш пароль та адресу сервера:
Примітка: Замініть `
“mmuser:
Після збереження змін, запустіть Mattermost, щоб перевірити його роботу:
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Якщо сервер працює коректно, зупиніть його, натиснувши Ctrl + C.
Створення служби systemd
Для того, щоб Mattermost працював у фоновому режимі, необхідно створити файл служби systemd. Скористайтеся командою touch для створення нового файлу:
sudo touch /lib/systemd/system/mattermost.service
Відкрийте файл в редакторі Nano:
sudo nano /lib/systemd/system/mattermost.service
Вставте наступний код у цей файл:
[Unit] Description=Mattermost After=network.target After=mysql.service Requires=mysql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=mysql.service
Збережіть зміни (Ctrl + O) та вийдіть з Nano (Ctrl + X). Перезавантажте демон systemd, а потім запустіть та увімкніть службу Mattermost:
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Доступ до Mattermost
Сервер Mattermost запущено! Щоб отримати доступ до нього, перейдіть за наступною URL-адресою:
https://localhost:8065
Також, ви можете встановити клієнт Mattermost для робочого столу, використовуючи snap:
sudo snap install mattermost-desktop