Как установить 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 . Благодарим вас за использование этого руководства по установке последней версии платформы с открытым исходным кодом Mattermost для совместной работы разработчиков в Debian 11 Bullseye. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Mattermost .