Как установить Mattermost на CentOS 8
В этом руководстве мы покажем вам, как установить Mattermost на CentOS 8. Для тех из вас, кто не знал, Mattermost — это альтернатива Slack для частного облака с открытым исходным кодом. Система обмена сообщениями на рабочем месте для Интернета, компьютеров и телефонов, выпущенная по лицензии MIT. В качестве альтернативы проприетарному обмену сообщениями SaaS, Mattermost объединяет всю вашу командную коммуникацию в одном месте, что делает ее доступной для поиска в любом месте. Mattermost является «Slack-совместимым, но не ограниченным Slack», поддерживая расширенный набор интеграций входящих и исходящих веб-перехватчиков Slack, включая совместимость с существующими интеграциями Slack. Из ваших существующих команд Slack вы можете импортировать пользователей, историю общедоступных каналов и даже цвета настройки тем в Mattermost.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Mattermost на CentOS 8.
Установите Mattermost на CentOS 8
Шаг 1. Во-первых, давайте начнем с проверки актуальности вашей системы.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Шаг 2. Установка сервера базы данных.
Выполните следующую команду, чтобы установить MariaDB:
sudo dnf install mariadb-server
По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installation
скрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
Затем перезапустите сервер базы данных MariaDB и включите его запуск при запуске системы, используя:
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
После установки базы данных войдите в оболочку MariaDB и создайте базу данных и пользователя для Mattermost:
$ mysql -u root -p CREATE DATABASE mattermost; GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd'; FLUSH PRIVILEGES; QUIT;
Шаг 3. Установка Mattermost на CentOS 8.
Во-первых, вам нужно будет создать отдельного пользователя для запуска Mattermost. Вы можете создать его с помощью следующей команды:
sudo useradd -d /opt/mattermost -U -M mattermost
Затем загрузите последнюю версию Mattermost :
wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz
Распакуйте архив Mattermost в корневой каталог документов на вашем сервере:
tar xf *.gz mv mattermost /opt/
Создайте каталог для хранения файлов:
mkdir /opt/mattermost/data
Также установите владельца и разрешения:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Затем нам нужно настроить драйвер базы данных в файле , внеся некоторые изменения в его содержимое. Найдите строки « DriverName » и « DataSource » и измените их следующим образом:/opt/mattermost/config/config.json
nano /opt/mattermost/config/config.json
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "DataSourceSearchReplicas": [], "MaxIdleConns": 20, "ConnMaxLifetimeMilliseconds": 3600000, "MaxOpenConns": 300, "Trace": false, "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md", "QueryTimeout": 30 },
Сохраните и закройте файл. Затем измените каталог на и запустите сервер Mattermost с помощью следующей команды:/opt/mattermost
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Шаг 4. Настройте службу Mattermost Systemd.
Сначала мы создадим новый файл модуля systemd, используя следующую команду:
nano /etc/systemd/system/mattermost.service
[Unit] Description=Mattermost After=syslog.target network.target mariadb.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/run/mattermost.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Затем запустите службу Mattermost и разрешите ей запускаться после перезагрузки системы с помощью следующей команды:
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Убедитесь, что Mattermost запущен и прослушивает порт 8065. Вы можете проверить это с помощью следующей команды:
curl http://localhost:8065
Шаг 5. Настройка Nginx с помощью Mattermost.
Установите и настройте Nginx как обратный прокси-сервер для повышения производительности и безопасности. Теперь устанавливаем Nginx в систему CentOS:
sudo dnf install nginx
После установки веб-сервера Nginx запустите службу Nginx и включите ее запуск после перезагрузки системы с помощью следующей команды:
sudo systemctl start nginx sudo systemctl enable nginx
Затем настройте веб-сервер Nginx в качестве прокси для Mattermost:
sudo nano /etc/nginx/conf.d/mattermost.conf
upstream backend { server 127.0.0.1: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.example.com; 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 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 90; proxy_send_timeout 300; proxy_read_timeout 90s; proxy_pass http://backend; } 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://backend; } }
Наконец, перезапустите службу Nginx, чтобы изменения вступили в силу:
nginx -t sudo systemctl restart nginx
Шаг 6. Настройте брандмауэр.
Разрешите брандмауэру доступ к портам http и https:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Шаг 7. Доступ к веб-интерфейсу Mattermost.
По умолчанию Mattermost будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите к Mattermost и продолжите настройку, введя адрес электронной почты и создав учетную запись.http://mattermost.example.com
Поздравляю! Вы успешно установили Mattermost . Благодарим за использование этого руководства для установки Mattermost в системе CentOS 8. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Mattermost .