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

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

 

В этом руководстве мы покажем вам, как установить Mattermost на Debian 11. Для тех из вас, кто не знал, Mattermost — это самостоятельный онлайн-сервис чата с открытым исходным кодом, предназначенный для использования в качестве внутренней чат-платформы для компаний. и организаций. Он обеспечивает безопасную связь между командами и упрощает сотрудничество между отдельными лицами и группами. Mattermost делает данные доступными между разработчиками, позволяя им получать доступ к исходному коду и вносить свой вклад непосредственно в него из разных мест, поскольку он основан на облаке.

В этой статье предполагается, что у вас есть хотя бы базовые знания о Linux, вы знаете, как использовать оболочку, и, самое главное, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам, чтобы получить привилегии root. Я покажу вам пошаговую установку платформы с открытым исходным кодом Mattermost для совместной работы разработчиков на Debian 11 (Bullseye).

Установите Mattermost на Debian 11 Bullseye

Шаг 1. Прежде чем мы установим какое-либо программное обеспечение, важно убедиться, что ваша система обновлена, выполнив следующие aptкоманды в терминале:

sudo apt update
sudo apt upgrade

Шаг 2. Установка стека LEMP.

Требуется сервер Debian 11 LEMP. Если у вас не установлен LAMP, прочитайте наше предыдущее руководство по установке LEMP Server на Debian 11 .

Шаг 3. Настройка MariaDB для Mattermost.

По умолчанию MariaDB не защищен. Вы можете защитить MariaDB с помощью mysql_secure_installationскрипта. вы должны внимательно прочитать и ниже каждый шаг, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход в систему root, а также удалит тестовую базу данных и доступ к защищенной базе данных MariaDB:

mysql_secure_installation

Настройте его следующим образом:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Далее нам нужно будет войти в консоль MariaDB и создать базу данных для Mattermost. Выполните следующую команду:

mysql -u root -p

Вам будет предложено ввести пароль, поэтому введите свой корневой пароль MariaDB и нажмите Enter. После того, как вы вошли на сервер базы данных, вам необходимо создать базу данных для установки Mattermost:

MariaDB [(none)]> CREATE DATABASE mattermost_db;
MariaDB [(none)]> CREATE USER 'mattermost_user' IDENTIFIED BY 'your-strong-password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermost_db.* TO 'mattermost_user';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Шаг 4. Установка Mattermost на Debian 11.

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

sudo useradd --system --user-group mattermost

По умолчанию Mattermost недоступен в базовом репозитории Debian 11. Итак, теперь скачиваем последнюю стабильную версию Mattermost с официальной страницы:

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

Затем извлеките загруженный файл:

tar xvzf mattermost-6.0.2-linux-amd64.tar.gz -C /opt/
sudo mkdir /opt/mattermost/data

Нам нужно будет изменить права доступа к некоторым папкам:

chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

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

Теперь нам нужно определить некоторые параметры в конфигурации Mattermost. Отредактируйте файл конфигурации Mattermost и укажите URL вашего сайта и настройки базы данных:

nano /opt/mattermost/config/config.json

Измените следующие строки:

"SiteURL": "http://mattermost.your-domian.com", 
"DriverName": "MySQL", 
"DataSource": "mmuser:your-strong-passwdD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

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

Мы systemdнастроим службу для запуска и остановки службы Mattermost:

nano /lib/systemd/system/mattermost.service

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

[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service

[Service]
Type=notify
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
LimitNOFILE=49152

[Install]
WantedBy=mariadb.service

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

sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost

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

Теперь создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

nano /etc/nginx/sites-available/mattermost.conf

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

upstream mattermost {
   server localhost:8065;
   keepalive 32;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
   listen 80;
   server_name mattermost.your-domain;

   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 65;
       send_timeout 200;
       lingering_timeout 5;
       proxy_connect_timeout 80;
       proxy_send_timeout 300;
       proxy_read_timeout 80s;
       proxy_pass http://mattermost;
   }

   location / {
       client_max_body_size 50M;
       proxy_set_header Connection "";
       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;
       proxy_read_timeout 600s;
       proxy_cache mattermost_cache;
       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://mattermost;
   }
}

Сохраните и закройте файл, затем активируйте конфигурацию виртуального хоста с помощью следующей команды:

ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
sudo systemctl restart nginx

Шаг 7. Защитите Mattermost с помощью Let’s Encrypt SSL.

Сначала установите Certbot в свою систему Debian, используя следующую команду:

sudo apt install certbot python3-certbot-nginx

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

certbot --nginx -d mattermost.your-domian.com

Затем вам будет предложено ввести адрес электронной почты для сертификата. После того, как вы введете это, вы должны согласиться с Условиями и решить, хотите ли вы поделиться своим адресом электронной почты с Electronic Frontier Foundation. Этот последний шаг является необязательным. В случае успеха снова перезагрузите Apache, чтобы загрузить все новые конфигурации.

Шаг 8. Доступ к веб-интерфейсу Mattermost.

После успешной установки откройте веб-браузер и введите URL-адрес для доступа к веб-интерфейсу Mattermost. Вы должны увидеть следующий экран:https://mattermost.your-domian.com

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

Поздравляем! Вы успешно установили Mattermost . Благодарим вас за использование этого руководства по установке последней версии платформы с открытым исходным кодом Mattermost для совместной работы разработчиков в Debian 11 Bullseye. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Mattermost .