Как установить Mattermost на Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить Mattermost на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Mattermost — это приложение для обмена сообщениями с открытым исходным кодом, которое используется для чата, обмена файлами, поиска и интеграции, написанное на Golang и React. Это альтернатива Slack и предоставляет сервис чата с обменом файлами, поиском и интеграцией. Он разработан для организаций и компаний и позволяет командам безопасно общаться и сотрудничать отовсюду.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Mattermost на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.
Установите Mattermost на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Установка стека LEMP.
Требуется сервер Ubuntu 20.04 LEMP. Если у вас не установлен LEMP, вы можете следовать нашему руководству здесь .
Шаг 3. Установка Mattermost на Ubuntu 20.04.
Создайте отдельного пользователя и группу для запуска Mattermost, вы можете создать их с помощью следующей команды:
useradd --system --user-group mattermost
Теперь скачиваем последнюю версию Mattermost с официального сайта:
wget https://releases.mattermost.com/5.28.1/mattermost-5.28.1-linux-amd64.tar.gz
После загрузки распакуйте архив Mattermost в корневой каталог документов на вашем сервере:
tar -xvzf mattermost-5.28.1-linux-amd64.tar.gz mv mattermost /opt/ mkdir /opt/mattermost/data
Нам нужно будет изменить права доступа к некоторым папкам:
chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost
После этого отредактируйте файл конфигурации Mattermost и определите URL вашего сайта и настройки базы данных:
nano /opt/mattermost/config/config.json
Измените следующие строки в соответствии с вашими потребностями:
"SiteURL": "http://mattermost.example.com", "DriverName": "mysql", "DataSource": "mattermost:secure-your-password@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
Шаг 4. Настройка 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 mattermostdb; MariaDB [(none)]> CREATE USER 'mattermost'@'%' IDENTIFIED BY 'your-secure-password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'%'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Шаг 5. Создайте служебный файл 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 mattermos
Шаг 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.infoit.com.ua; 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. Настройте HTTPS.
Мы должны включить безопасное соединение HTTPS в Nextcloud. Мы можем получить бесплатный сертификат TLS от Let’s Encrypt. Установите клиент Let’s Encrypt (Certbot) из репозитория Ubuntu 20.04:
sudo apt install python3-certbot-nginx
Затем выполните следующую команду, чтобы установить Let’s Encrypt SSL для вашего веб-сайта:
certbot --nginx -d mattermost.infoit.com.ua
Если проверка прошла успешно, перезагрузите Nginx, чтобы изменения вступили в силу:
sudo nginx -t sudo systemctl restart nginx
Шаг 8. Настройте брандмауэр.
Выполните следующую команду, чтобы открыть порты служб HTTP и HTTPS:
sudo ufw allow 'Nginx Full'
Шаг 9. Доступ к Mattermost.
По умолчанию Mattermost будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите к Mattermost и продолжите настройку, введя адрес электронной почты и создав учетную запись.https://mattermost.infoit.com.ua
Поздравляю! Вы успешно установили Mattermost . Благодарим вас за использование этого руководства для установки Mattermost в вашей системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Mattermost .