Установка Mattermost · 14 min read · Jan 23, 2026

Установка Mattermost с PostgreSQL и Nginx на CentOS 7

Mattermost — это решение с открытым исходным кодом, саморазмещаемая альтернатива Slack. Mattermost — это современная коммуникация за вашим файрволом.

В качестве альтернативы проприетарным SaaS-сообщениям Mattermost объединяет все ваши командные коммуникации в одном месте, делая их доступными и доступными в любом месте.

Mattermost “совместим со Slack, но не ограничен Slack”, поддерживая супerset интеграций входящих и исходящих вебхуков Slack, включая совместимость с существующими интеграциями Slack. Из ваших существующих команд Slack вы можете импортировать пользователей, историю публичных каналов и даже настройки цветов тем в Mattermost.

Имена, переменные и учетные записи, используемые в этом руководстве

локальный IP сервера                 : 192.168.2.100  
FQDN сервера                        : mattermost.example.com  
Имя базы данных mattermost         : mattermost  
Пользователь для доступа к базе данных mattermost : mmuser  
Пароль для mmuser в базе данных: DBAss47slX3

Предварительные условия

Это руководство объясняет установку Mattermost на CentOS7 с использованием PostgreSQL в качестве бэкенда базы данных. Для целей этого руководства мы будем считать, что мы устанавливаем все на одном сервере, но для опытных пользователей будет легко разобрать части и установить каждый компонент (например, сервер базы данных) на другой машине. Установка была выполнена с пользователем root, но вы, конечно, можете использовать и пользователя с правами sudo.

Мы также предполагаем, что сервер имеет IP-адрес 192.168.2.100 и что DNS разрешает mattermost.example.com. Поэтому везде в этом руководстве, где вы читаете 192.168.2.100 или mattermost.example.com, замените это на IP-адрес вашего сервера.

Перед тем как начать, вам нужна минимальная установка CentOS7. После установки убедитесь, что вы правильно настроили электронную почту (конфигурация postfix), чтобы ваша система могла отправлять электронные письма (например, через смарт-хост или аналогичное решение).

Пожалуйста, выполните несколько небольших проверок перед тем, как продолжить:

Попробуйте отправить письмо из терминала на вашем сервере:

[root@mattermost ~]echo -en "Subject: Testmail\n\nThis is a test\n" | sendmail [email protected]

(замените [email protected] на адрес электронной почты, на который ваш сервер должен иметь возможность отправлять). Убедитесь, что вы получили электронное письмо от системы!

Проверьте разрешение имени для mattermost.example.com

С другого компьютера (не сервера, который мы пытаемся настроить) попробуйте выполнить ping mattermost.example.com. Вы должны получить положительный результат:

C:\>ping mattermost.example.com  
Pinging mattermost.witron.com [192.168.2.100] with 32 bytes of data:  
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64  
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64  
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64  
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64  
  
Ping statistics for 192.168.2.100:  
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  
Approximate round trip times in milli-seconds:  
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Проверьте подключение к интернету

Теперь мы установим пакет wget (который нам понадобится позже).

[root@mattermost ~] yum -y install wget

и используем его, чтобы определить наш публичный IP. Таким образом, мы можем проверить наше подключение к интернету.

[root@mattermost ~] wget http://ipinfo.io/ip -qO -  
46.101.122.124

Результат должен быть вашим публичным IP-адресом.

Проверьте статус брандмауэра и отключите его на данный момент

Пожалуйста, проверьте, включен ли firewalld в вашей установке CentOS7. Вы можете проверить это, набрав

[root@mattermost ~] systemctl status firewalld

Если он показывает что-то вроде

Active: active (running) since …

пожалуйста, отключите его и отключите с помощью этих 2 команд.

[root@mattermost ~] systemctl stop firewalld  
[root@mattermost ~] systemctl disable firewalld

В конце этого учебника вы найдете инструкции о том, как повторно включить firewalld и как правильно его настроить для работы с Mattermost.

Если вы прошли все вышеперечисленные проверки или знаете, что у вас есть работоспособная система для этого учебника, вы можете продолжить сейчас.

Установите сервер базы данных PostgreSQL

Мы будем использовать PostgreSQL в качестве бэкенда базы данных для Mattermost. Установите его с помощью следующей команды:

[root@mattermost ~] yum -y install postgresql-server postgresql-contrib

После установки нам нужно инициализировать базу данных.

[root@mattermost ~] postgresql-setup initdb  
Initializing database ... OK

Затем запустите PostgreSQL и включите его для автоматического запуска.

[root@mattermost ~]# systemctl start postgresql  
[root@mattermost ~]# systemctl enable postgresql  
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.

Пожалуйста, проверьте, что PostgreSQL работает, выполнив.

[root@mattermost ~]# systemctl status postgresql

Он должен сообщить что-то подобное (убедитесь, что где-то в тексте есть Active: active (running)).

? postgresql.service - Сервер базы данных PostgreSQL  
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)  
Active: active (running) since Fri 2016-03-04 11:37:50 CET; 44s ago  
Main PID: 17660 (postgres)  
CGroup: /system.slice/postgresql.service  
??17660 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432  
??17661 postgres: logger process  
??17663 postgres: checkpointer process  
??17664 postgres: writer process  
??17665 postgres: wal writer process  
??17666 postgres: autovacuum launcher process  
??17667 postgres: stats collector process  
  
Mar 04 11:37:48 mattermost systemd[1]: Starting PostgreSQL database server...  
Mar 04 11:37:50 mattermost systemd[1]: Started PostgreSQL database server.  
Mar 04 11:37:59 mattermost systemd[1]: Started PostgreSQL database server.

Создайте базу данных mattermost и пользователя базы данных

PostgreSQL автоматически создал пользователя и группу с именем postgres. Мы используем пользователя postgres для подключения к движку базы данных и настройки базы данных и пользователя, который может к ней получить доступ.

Запустите командную строку от имени пользователя postgres:

[root@mattermost ~]# sudo -i -u postgres

Ваш приглашение теперь изменится на:

-bash-4.2$

Теперь давайте подключимся к серверу базы данных.

-bash-4.2$ psql  
psql (9.2.15)  
Type "help" for help.  
postgres=#

Внутри приглашения PostgreSQL мы теперь создаем базу данных с именем ‘mattermost’.

postgres=# CREATE DATABASE mattermost;  
CREATE DATABASE

Теперь мы создаем пользователя ‘ mmuser ‘ с паролем ‘ DBAss47slX 3’.

postgres=# CREATE USER mmuser WITH PASSWORD '*DBAss47slX3*';  
CREATE ROLE

Предоставьте пользователю доступ к базе данных Mattermost, набрав:

postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;  
GRANT  
postgres=#

Затем мы можем выйти из приглашения PostgreSQL, набрав:

postgres=# \q  
-bash-4.2$

А затем выйти из оболочки, которую мы начали как пользователь ‘ postgres ‘ с помощью.

-bash-4.2$ exit  
logout  
[root@mattermost ~]#

Разрешите доступ к базе данных PostgreSQL с localhost через имя пользователя/пароль

Позже наш экземпляр mattermost хотел бы взаимодействовать с базой данных PostgreSQL и аутентифицироваться с помощью имени пользователя и пароля. Чтобы это разрешить, нам немного нужно изменить конфигурацию PostgreSQL. Откройте файл:

vi /var/lib/pgsql/data/pg_hba.conf

с помощью редактора, такого как vi или nano, и измените строку:

host    all             all             127.0.0.1/32            ident

на:

host    all             all             127.0.0.1/32            md5

Сохраните файл, а затем перезапустите Postgresql.

[root@mattermost ~]# systemctl restart postgresql

Мы должны проверить, что мы сделали это правильно, подключившись к серверу базы данных с помощью нашего ранее созданного пользователя и пароля (используйте свой пароль, если вы использовали другой на своем сервере):

[root@mattermost ~]# psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password  
Password for user mmuser:  
psql (9.2.15)  
Type "help" for help.  
  
mattermost=> \q  
[root@mattermost ~]#

Наш сервер PostgreSQL и база данных теперь готовы для Mattermost!

Скачайте и извлеките Mattermost

Давайте загрузим копию сервера Mattermost напрямую из их репозитория на Github (на момент создания этого учебника версия v2.0.0 была текущей версией) с помощью wget.

[root@mattermost ~]# cd  
[root@mattermost ~]# wget -q "https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz" -O mattermost.tar.gz

Теперь давайте извлечем архив и поместим извлеченные файлы в их целевое местоположение (в данном случае мы используем /opt/mattermost).

[root@mattermost ~]# tar -xvzf mattermost.tar.gz  
[root@mattermost ~]# mv mattermost /opt

Установка Mattermost

Создайте пользователя, который запускает демон Mattermost

Мы позже будем запускать Mattermost как демон. Поэтому мы создаем нового пользователя в нашей системе с именем ‘ mattermost ‘. Он будет запускать экземпляр mattermost позже. Выполните следующую команду, чтобы создать системного пользователя и группу ‘ mattermost ‘:

[root@mattermost ~]# useradd -r mattermost -U -s /sbin/nologin

Создайте папку для хранения данных для Mattermost

Mattermost хочет хранить некоторые из своих данных, например, загруженные файлы и т. д. в папке. Поэтому нам нужно создать эту папку. Она может находиться где угодно на жестком диске, но должна быть доступна пользователю ‘ mattermost ‘. Я выбрал использовать ‘/opt/mattermost/data’. Создайте папку с помощью следующей команды:

[root@mattermost ~]# mkdir -p /opt/mattermost/data

Установите владельца каталога mattermost

Теперь мы устанавливаем группу и владельца каталога mattermost на нашего ранее созданного пользователя и группу:

[root@mattermost ~]# chown -R mattermost:mattermost /opt/mattermost  
[root@mattermost ~]# chmod -R g+w /opt/mattermost**

Настройте соединение с базой данных для mattermost

Чтобы сообщить Mattermost, как он должен подключаться к нашей базе данных PostgreSQL, нам нужно отредактировать его конфигурационный файл:

*/opt/mattermost/config/config.json*

Пожалуйста, найдите раздел ‘ SqlSettings ‘ и измените его в соответствии с нашими потребностями:

ДО

"SqlSettings": {  
 "DriverName": "mysql",  
 "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8",  
 "DataSourceReplicas": [],  
 "MaxIdleConns": 10,  
 "MaxOpenConns": 10,  
 "Trace": false,  
 "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"  
 },

ПОСЛЕ

"SqlSettings": {  
 "DriverName": "postgres",  
 "DataSource": "postgres://mmuser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",  
 "DataSourceReplicas": [],  
 "MaxIdleConns": 10,  
 "MaxOpenConns": 10,  
 "Trace": false,  
 "AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"  
 },

Вы можете оставить AtRestEncryptKey без изменений!

Настройте подключение электронной почты для mattermost

Снова нам нужно отредактировать его конфигурационный файл

*/opt/mattermost/config/config.json*

Найдите раздел ‘EmailSettings’ и измените его в соответствии с нашими потребностями:

ДО

 "EmailSettings": {  
 "EnableSignUpWithEmail": true,  
 "EnableSignInWithEmail": true,  
 "EnableSignInWithUsername": false,  
 "SendEmailNotifications": false,  
 "RequireEmailVerification": false,  
 "FeedbackName": "",  
 "FeedbackEmail": "",  
 "SMTPUsername": "",  
 "SMTPPassword": "",  
 "SMTPServer": "",  
 "SMTPPort": "",  
 "ConnectionSecurity": "",  
 "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",  
 "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",  
 "SendPushNotifications": false,  
 "PushNotificationServer":  
},  

ПОСЛЕ

 "EmailSettings": {  
 "EnableSignUpWithEmail": true,  
 "EnableSignInWithEmail": true,  
 "EnableSignInWithUsername": false,  
 "SendEmailNotifications": false,  
 "RequireEmailVerification": false,  
 "FeedbackName": "",  
 "FeedbackEmail": "",  
 "SMTPUsername": "",  
 "SMTPPassword": "",  
 "SMTPServer": "127.0.0.1",  
 "SMTPPort": "25",  
 "ConnectionSecurity": "",  
 "InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",  
 "PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",  
 "SendPushNotifications": false,  
 "PushNotificationServer": ""  
},  

Мы используем 127.0.0.1 и порт 25, потому что мы используем нашу локальную установку postfix, которая уже настроена для отправки электронной почты наружу. Если ваша настройка отличается, вам нужно установить правильные значения!

Настройте mattermost, чтобы он слушал только на внутреннем интерфейсе (127.0.0.1)

По умолчанию экземпляр сервера mattermost будет слушать на всех интерфейсах на порту 8065 (:8065). Поскольку мы хотим поставить сервер Nginx перед mattermost, мы изменяем это поведение, чтобы он слушал только на localhost (127.0.0.1:8065).

Просто измените строку

        "ListenAddress": ":8065",

на

        "ListenAddress": "127.0.0.1:8065",

в файле config.json.

Протестируйте сервер Mattermost

Теперь мы можем протестировать, запустится ли наш сервер mattermost, запустив его из командной строки. Пожалуйста, убедитесь, что вы делаете это как пользователь ‘mattermost’. Если вы случайно сделали это как ‘root’, вам нужно снова исправить разрешения для папки mattermost!

[root@mattermost ~]# su - mattermost -s /bin/bash  
  
Last login: Fri Mar 4 12:47:52 CET 2016 on pts/0  
su: warning: cannot change directory to /home/mattermost: No such file or directory  
-bash-4.2$

Теперь перейдите в каталог установки mattermost:

-bash-4.2$ cd /opt/mattermost/bin/

И запустите mattermost из командной строки:

-bash-4.2$ ./platform

Вывод должен выглядеть примерно так:

[2016/03/04 13:00:10 CET] [INFO] Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'  
[2016/03/04 13:00:10 CET] [INFO] Current version is 2.0.0 (5950/Sat Feb 13 15:42:01 UTC 2016/c71c5cef632c7dc68072167c6fe091a60835fa02)  
[2016/03/04 13:00:10 CET] [INFO] Enterprise Enabled: false  
[2016/03/04 13:00:10 CET] [INFO] Current working directory is /opt/mattermost/bin  
[2016/03/04 13:00:10 CET] [INFO] Loaded config file from /opt/mattermost/config/config.json  
[2016/03/04 13:00:10 CET] [INFO] Server is initializing...  
[2016/03/04 13:00:10 CET] [INFO] Pinging sql master database  
[2016/03/04 13:00:10 CET] [INFO] Pinging sql replica-0 database  
[2016/03/04 13:00:10 CET] [DEBG] Deleting any unused pre-release features  
[2016/03/04 13:00:10 CET] [INFO] The database schema has been set to version 2.0.0  
[2016/03/04 13:00:10 CET] [DEBG] Initializing user api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing team api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing channel api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing post api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing web socket api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing file api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing command api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing admin api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing oauth api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing webhook api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing preference api routes  
[2016/03/04 13:00:10 CET] [DEBG] Initializing license api routes  
[2016/03/04 13:00:10 CET] [DEBG] Parsing server templates at /opt/mattermost/api/templates/  
[2016/03/04 13:00:10 CET] [DEBG] Initializing web routes  
[2016/03/04 13:00:10 CET] [DEBG] Using static directory at /opt/mattermost/web/static/  
[2016/03/04 13:00:10 CET] [DEBG] Parsing templates at /opt/mattermost/web/templates/  
[2016/03/04 13:00:10 CET] [INFO] Starting Server...  
[2016/03/04 13:00:10 CET] [INFO] Server is listening on 127.0.0.1:8065  
[2016/03/04 13:00:10 CET] [INFO] RateLimiter is enabled  
[2016/03/04 13:00:10 CET] [DEBG] Checking for security update from Mattermost  
[2016/03/04 13:00:10 CET] [EROR] Failed to get security update information from Mattermost.

Остановите сервер mattermost с помощью Ctrl+C

и затем выйдите из оболочки, которую мы начали как пользователь ‘mattermost’ с:

-bash-4.2$ exit  
logout  
[root@mattermost ~]#

Если ваш экземпляр mattermost не запускается, внимательно прочитайте вывод. У меня было много проблем, потому что я забыл простую запятую в config.json. Также убедитесь, что вы не используете специальные символы в пароле вашего dbuser, особенно знак ‘ @ ‘. Это меня сильно беспокоило в начале!

Если вы случайно запустили вышеуказанную команду как ‘ root ‘, и это также могло сработать, вам нужно снова исправить разрешения для папки mattermost. Используйте эту команду, если вы столкнулись с этой ошибкой:

[root@mattermost ~]# chown -R mattermost:mattermost /opt/mattermost

Если все прошло хорошо, мы можем продолжить.

Настройка Mattermost как демона

Чтобы настроить Mattermost как демон, создайте файл

*/etc/systemd/system/mattermost.service*

с следующим содержимым:

[Unit]  
Description=Mattermost  
After=syslog.target network.target  
  
[Service]  
Type=simple  
WorkingDirectory=/opt/mattermost/bin  
User=mattermost  
ExecStart=/opt/mattermost/bin/platform  
PIDFile=/var/spool/mattermost/pid/master.pid  
  
[Install]  
WantedBy=multi-user.target

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

[root@mattermost ~]# systemctl daemon-reload

Теперь мы можем запускать/останавливать/включать/отключать эту службу, как мы привыкли делать.

Итак, давайте запустим Mattermost, получим его статус, а затем включим его как службу (автозапуск).

Запустите демон mattermost

[root@mattermost ~]# systemctl start mattermost.service

Проверьте статус mattermost

[root@mattermost ~]# systemctl status mattermost.service  
? mattermost.service - Mattermost  
Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)  
 Active: active (running) since Fri 2016-03-04 14:03:40 CET; 4s ago  
Main PID: 18573 (platform)  
CGroup: /system.slice/mattermost.service  
??18573 /opt/mattermost/bin/platform  
...  
...

Убедитесь, что он активен (работает)!

Включите демон для автозапуска

[root@mattermost ~]# systemctl enable mattermost.service  
Created symlink from /etc/systemd/system/multi-user.target.wants/mattermost.service to /etc/systemd/system/mattermost.service.

Теперь просто для уверенности мы сделаем тест, если Mattermost слушает на 127.0.0.1:8065, выполнив следующую команду:

[root@mattermost config]# curl -s "http://127.0.0.1:8065" | grep -b "2015 Mattermost"

Мы должны получить одну строку, которая содержит ‘2015 Mattermost’.

11343:        © 2015 Mattermost, Inc.

Если да, то мы можем быть уверены, что экземпляр сервера Mattermost работает, и мы можем продолжить.

Исправьте проблемы с разрешениями, связанными с SELinux

На CentOS7 SELinux включен по умолчанию. Мы могли бы полностью отключить его, но лучше перенастроить его и разрешить нашему серверу Mattermost выполнять.

Просто введите следующие 2 команды, чтобы исправить разрешения SELinux:

[root@mattermost config]# chcon -Rt httpd_sys_content_t /opt/mattermost/  
[root@mattermost config]# setsebool -P httpd_can_network_connect 1

Настройка сервера Nginx

Мы поставим сервер Nginx перед нашим экземпляром сервера Mattermost.

Основные преимущества:

  • Порт сопоставления :80 к :8065
  • Стандартные журналы запросов
  • больше возможностей при переходе на SSL позже

Включите репозиторий epel

Nginx отсутствует в стандартных репозиториях CentOS. Поэтому нам нужно сначала включить репозиторий epel. Это простая задача, просто введите:

[root@mattermost config]# yum -y install epel-release && yum update

Установите nginx

После того, как мы включили epel-release, мы можем просто установить nginx с помощью следующей команды:

[root@mattermost config]# yum -y install nginx

Это установит nginx и все его зависимости.

Настройте nginx

Существует множество способов настроить Nginx. Этот учебник просто покажет, как создать очень простую настройку для Nginx, которая просто хостит наш сервер Mattermost на порту 80.

Измените файл конфигурации по умолчанию Nginx

Создайте резервную копию текущего nginx.conf, выполнив:

[root@mattermost config]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Затем замените /etc/nginx/nginx.conf следующим содержимым:

# Для получения дополнительной информации о конфигурации смотрите:  
# * Официальная английская документация: http://nginx.org/en/docs/  
# * Официальная русская документация: http://nginx.org/ru/docs/  
  
user nginx;  
worker_processes auto;  
error_log /var/log/nginx/error.log;  
pid /run/nginx.pid;  
  
events {  
 worker_connections 1024;  
}  
  
http {  
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '  
 '$status $body_bytes_sent "$http_referer" '  
 '"$http_user_agent" "$http_x_forwarded_for"';  
  
 access_log /var/log/nginx/access.log main;  
  
 sendfile on;  
 tcp_nopush on;  
 tcp_nodelay on;  
 keepalive_timeout 65;  
 types_hash_max_size 2048;  
  
 include /etc/nginx/mime.types;  
 default_type application/octet-stream;  
  
 # Загружать модульные файлы конфигурации из каталога /etc/nginx/conf.d.  
 # Смотрите http://nginx.org/en/docs/ngx_core_module.html#include  
 # для получения дополнительной информации.  
 include /etc/nginx/conf.d/*.conf;  
  
 server {  
 server_name mattermost.example.com;  
 location / {  
 client_max_body_size 50M;  
 proxy_set_header Upgrade $http_upgrade;  
 proxy_set_header Connection "upgrade";  
 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_pass http://127.0.0.1:8065;  
 }  
 }  
}

Пожалуйста, убедитесь, что вы используете правильное имя хоста, как указано ранее в этом документе.

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

[root@mattermost config]# nginx -t  
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  
ginx: configuration file /etc/nginx/nginx.conf test is successful

Запустите и включите Nginx как демон

Запустите Nginx

[root@mattermost config]# systemctl start nginx

Проверьте статус

[root@mattermost config]# systemctl status nginx

Убедитесь, что он выводит хотя бы одну строку, показывающую:

...  
Active: active (running)...  
...

Включите как демон

[root@mattermost config]# systemctl enable nginx  
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

Если все прошло хорошо, у вас теперь должна быть работающая установка Mattermost, работающая за Nginx. Проверьте это, открыв следующий URL в вашем браузере:

http://mattermost.example.com

Экран входа в Mattermost должен появиться!

Экран входа в Mattermost

Теперь вы можете продолжить настройку вашей установки Mattermost, введя свой адрес электронной почты и создав учетную запись.

Firewalld

Ранее в этом учебнике мы отключили firewalld. Если вы хотите повторно включить его, но хотите оставить порт 80 открытым (который мы в настоящее время используем для Mattermost через Nginx), просто выполните следующее:

Запустите и повторно включите Firewalld

[root@mattermost config]# systemctl start firewalld  
[root@mattermost config]# systemctl enable firewalld  
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.  
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

Откройте порт 80 в брандмауэре

[root@mattermost config]# firewall-cmd --zone=public --add-port=80/tcp --permanent  
success  
[root@mattermost config]# firewall-cmd --reload  
success

Теперь ваша установка Mattermost должна быть доступна, даже если Firewalld работает!

Резюме

Я надеюсь, что вы нашли это руководство полезным и оно сработало. В производственной среде вам следует создать/использовать сертификаты для вашего сайта Mattermost и включить https через Nginx. Это можно легко сделать, немного изменив это руководство.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.