Instalação Mattermost · 16 min read · Jan 23, 2026

Instalar Mattermost com PostgreSQL e Nginx no CentOS 7

Mattermost é uma alternativa ao Slack, de código aberto e auto-hospedada. Mattermost é comunicação moderna atrás do seu firewall.

Como uma alternativa ao SaaS proprietário de mensagens, o Mattermost reúne toda a comunicação da sua equipe em um só lugar, tornando-a pesquisável e acessível em qualquer lugar.

Mattermost é “compatível com Slack, não limitado ao Slack”, suportando um superconjunto das integrações de webhook de entrada e saída do Slack, incluindo compatibilidade com integrações existentes do Slack. A partir das suas equipes existentes do Slack, você pode importar usuários, histórico de canais públicos e até mesmo cores de configuração de tema para o Mattermost.

Nomes, Variáveis e contas usadas neste HowTo

IP local do servidor                 : 192.168.2.100  
FQDN do servidor                     : mattermost.example.com  
Nome do banco de dados mattermost    : mattermost  
Usuário para acessar o banco de dados mattermost : mmuser  
Senha para mmuser dentro do banco de dados: DBAss47slX3

Pré-requisitos

Este Howto explica a instalação do Mattermost no CentOS7 usando PostgreSQL como um backend de banco de dados. Para o propósito deste guia, assumiremos que instalamos tudo em um único servidor, mas para usuários experientes, seria fácil desmontar as partes e instalar cada componente (por exemplo, o servidor de banco de dados) em uma máquina diferente. A instalação foi feita com o usuário root, mas você poderia, é claro, usar um usuário habilitado para sudo também.

Assumimos também que o servidor tem um endereço IP de 192.168.2.100 e que o DNS resolve para mattermost.example.com. Portanto, em qualquer lugar neste HowTo onde você ler 192.168.2.100 ou mattermost.example.com, substitua pelo endereço IP do seu servidor.

Antes de começar, você precisa de uma instalação mínima do CentOS7. Após a instalação, certifique-se de configurar o email corretamente (configuração do postfix), para que seu sistema seja capaz de enviar emails (por exemplo, via um host inteligente ou uma solução similar).

Por favor, faça algumas pequenas verificações antes de continuar:

Tente enviar um email de um terminal no seu servidor:

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

(substitua [email protected] por um endereço de email para o qual seu servidor deve ser capaz de enviar). Certifique-se de que você recebeu um email do sistema!

Verifique a resolução de nome para mattermost.example.com

De um computador diferente (não o servidor que estamos tentando configurar), tente pingar mattermost.example.com. Você deve obter um resultado positivo:

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  
  
Estatísticas de ping para 192.168.2.100:  
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% perda),  
Tempos aproximados de ida e volta em milissegundos:  
Mínimo = 0ms, Máximo = 0ms, Média = 0ms

Verifique a conectividade com a internet

Agora vamos instalar o pacote wget (que precisaremos mais tarde).

[root@mattermost ~] yum -y install wget

e usá-lo para determinar nosso IP público. Assim, podemos verificar nossa conectividade com a internet.

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

O resultado deve ser o seu endereço IP público.

Verifique o status do firewall e desative-o por enquanto

Por favor, verifique se sua instalação do CentOS7 tem firewalld habilitado. Você pode verificar isso digitando

[root@mattermost ~] systemctl status firewalld

Se mostrar algo como

Active: active (running) since …

por favor, desligue-o e desative-o com estes 2 comandos.

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

No final deste tutorial, você encontrará instruções sobre como reabilitar o firewalld e como configurá-lo corretamente para funcionar com o Mattermost.

Se você passar por todas as verificações acima ou souber que tem um sistema utilizável para este tutorial, você pode continuar agora.

Instalar o servidor de banco de dados PostgreSQL

Usaremos o PostgreSQL como backend de banco de dados para o Mattermost. Instale-o com o seguinte comando:

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

Após a instalação, precisamos inicializar o banco de dados.

[root@mattermost ~] postgresql-setup initdb  
Inicializando banco de dados ... OK

Em seguida, inicie o PostgreSQL e habilite-o para iniciar automaticamente.

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

Por favor, verifique se o PostgreSQL está em execução executando.

[root@mattermost ~]# systemctl status postgresql

Deve relatar algo semelhante a isto (certifique-se de que há Active: active (running) em algum lugar no texto).

? postgresql.service - Servidor de banco de dados PostgreSQL  
Carregado: carregado (/usr/lib/systemd/system/postgresql.service; habilitado; preset do fornecedor: desativado)  
Ativo: ativo (em execução) desde Sex 2016-03-04 11:37:50 CET; 44s atrás  
Main PID: 17660 (postgres)  
CGroup: /system.slice/postgresql.service  
??17660 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432  
??17661 postgres: processo de logger  
??17663 postgres: processo de verificação  
??17664 postgres: processo de gravação  
??17665 postgres: processo de gravação wal  
??17666 postgres: processo de lançador de autovacuum  
??17667 postgres: processo coletor de estatísticas  
  
Mar 04 11:37:48 mattermost systemd[1]: Iniciando servidor de banco de dados PostgreSQL...  
Mar 04 11:37:50 mattermost systemd[1]: Servidor de banco de dados PostgreSQL iniciado.  
Mar 04 11:37:59 mattermost systemd[1]: Servidor de banco de dados PostgreSQL iniciado.

Criar banco de dados mattermost e usuário do banco de dados

O PostgreSQL criou automaticamente um usuário e grupo com o nome postgres. Usamos o usuário postgres para conectar ao mecanismo de banco de dados e configurar um banco de dados e um usuário que pode acessá-lo.

Inicie um prompt como o usuário postgres:

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

Seu prompt agora mudará para:

-bash-4.2$

Agora vamos nos conectar ao servidor de banco de dados.

-bash-4.2$ psql  
psql (9.2.15)  
Digite "help" para ajuda.  
postgres=#

Dentro do prompt do PostgreSQL, agora criamos um banco de dados com o nome ‘mattermost’.

postgres=# CREATE DATABASE mattermost;  
CREATE DATABASE

Agora criamos um usuário ‘ mmuser ‘ com a senha ‘ DBAss47slX 3’.

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

Conceda ao usuário acesso ao banco de dados Mattermost digitando:

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

Podemos então sair do prompt do PostgreSQL digitando:

postgres=# \q  
-bash-4.2$

E então sair do shell que iniciamos como usuário ‘ postgres ‘ com.

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

Permitir acesso ao banco de dados PostgreSQL a partir do localhost via nome de usuário/senha

Mais tarde, nossa instância do mattermost gostaria de se comunicar com o banco de dados PostgreSQL e autenticar com nome de usuário e senha. Para permitir isso, precisamos mudar ligeiramente a configuração do PostgreSQL. Abra o arquivo:

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

com um editor como vi ou nano e mude a linha:

host    all             all             127.0.0.1/32            ident

para:

host    all             all             127.0.0.1/32            md5

Salve o arquivo e reinicie o PostgreSQL.

[root@mattermost ~]# systemctl restart postgresql

Devemos verificar se fizemos isso corretamente conectando ao servidor de banco de dados com nosso usuário e senha criados anteriormente (use sua senha se você usou uma diferente em seu servidor):

[root@mattermost ~]# psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password  
Senha para o usuário mmuser:  
psql (9.2.15)  
Digite "help" para ajuda.  
  
mattermost=> \q  
[root@mattermost ~]#

Nosso servidor e banco de dados PostgreSQL estão agora prontos para o Mattermost!

Baixar e extrair o Mattermost

Vamos baixar uma cópia do servidor Mattermost diretamente do repositório do Github deles (no momento da criação deste tutorial, a versão v2.0.0 era a versão atual) usando 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

Agora vamos extrair o arquivo e colocar os arquivos extraídos em seu local de destino (neste caso, usamos /opt/mattermost).

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

Instalando o Mattermost

Criar um usuário que executa o daemon do Mattermost

Mais tarde, executaremos o Mattermost como um daemon. Portanto, configuramos um novo usuário em nosso sistema com o nome ‘ mattermost ‘. Ele executará a instância do mattermost mais tarde. Execute o seguinte comando para criar um usuário e grupo do sistema ‘ mattermost ‘:

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

Criar uma pasta de armazenamento de dados para o Mattermost

O Mattermost deseja armazenar alguns de seus dados, por exemplo, arquivos carregados etc. em uma pasta. Portanto, precisamos criar essa pasta. Ela pode estar em qualquer lugar no disco rígido, mas deve ser acessível pelo usuário ‘ mattermost ‘. Eu escolhi usar ‘/opt/mattermost/data’. Crie a pasta com o seguinte comando:

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

Definir proprietário do diretório mattermost

Agora definimos o grupo e o proprietário do diretório mattermost para nosso usuário e grupo criados anteriormente:

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

Configurar a conexão do banco de dados para o mattermost

Para informar ao Mattermost como ele deve se conectar ao nosso banco de dados PostgreSQL, precisamos editar seu arquivo de configuração:

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

Por favor, encontre a seção ‘ SqlSettings ‘ e mude-a para nossas necessidades:

ANTES

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

DEPOIS

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

Você pode deixar a AtRestEncryptKey como está!

Configurar a conectividade de email para o mattermost

Novamente, precisamos editar seu arquivo de configuração

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

Encontre a seção ‘EmailSettings’ e mude-a para nossas necessidades:

ANTES

 "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":  
},  

DEPOIS

 "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": ""  
},  

Usamos 127.0.0.1 e a porta 25 porque usamos nossa instalação local do postfix que já está configurada para ser capaz de enviar email para fora. Se sua configuração for diferente aqui, você deve definir os valores corretos!

Configurar o mattermost para ouvir apenas na interface interna (127.0.0.1)

Por padrão, a instância do servidor mattermost ouvirá em todas as interfaces na porta 8065 (:8065). Como queremos colocar um servidor Nginx na frente do mattermost, mudamos esse comportamento para que ele ouça apenas no localhost (127.0.0.1:8065).

Basta mudar a linha

        "ListenAddress": ":8065",

para

        "ListenAddress": "127.0.0.1:8065",

no arquivo config.json.

Testar o servidor Mattermost

Agora podemos testar se nosso servidor mattermost iniciaria executando-o a partir da linha de comando. Por favor, certifique-se de que você faça isso como o usuário ‘mattermost’. Se você acidentalmente fez isso como ‘root’, você terá que corrigir as permissões para a pasta mattermost novamente!

[root@mattermost ~]# su - mattermost -s /bin/bash  
  
Último login: Sex Mar 4 12:47:52 CET 2016 em pts/0  
su: aviso: não é possível mudar o diretório para /home/mattermost: Nenhum arquivo ou diretório desse tipo  
-bash-4.2$

Agora mude para o diretório de instalação do mattermost:

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

E execute o mattermost a partir da linha de comando:

-bash-4.2$ ./platform

A saída deve ser semelhante a isto:

[2016/03/04 13:00:10 CET] [INFO] Traduções do sistema carregadas para 'en' de '/opt/mattermost/i18n/en.json'  
[2016/03/04 13:00:10 CET] [INFO] A versão atual é 2.0.0 (5950/Sáb Fev 13 15:42:01 UTC 2016/c71c5cef632c7dc68072167c6fe091a60835fa02)  
[2016/03/04 13:00:10 CET] [INFO] Enterprise Habilitado: false  
[2016/03/04 13:00:10 CET] [INFO] O diretório de trabalho atual é /opt/mattermost/bin  
[2016/03/04 13:00:10 CET] [INFO] Arquivo de configuração carregado de /opt/mattermost/config/config.json  
[2016/03/04 13:00:10 CET] [INFO] Servidor está inicializando...  
[2016/03/04 13:00:10 CET] [INFO] Pinging banco de dados sql master  
[2016/03/04 13:00:10 CET] [INFO] Pinging banco de dados sql replica-0  
[2016/03/04 13:00:10 CET] [DEBG] Deletando quaisquer recursos de pré-lançamento não utilizados  
[2016/03/04 13:00:10 CET] [INFO] O esquema do banco de dados foi definido para a versão 2.0.0  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de usuário  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de equipe  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de canal  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de post  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de web socket  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de arquivo  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de comando  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de admin  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de oauth  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de webhook  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de preferência  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da API de licença  
[2016/03/04 13:00:10 CET] [DEBG] Analisando modelos de servidor em /opt/mattermost/api/templates/  
[2016/03/04 13:00:10 CET] [DEBG] Inicializando rotas da web  
[2016/03/04 13:00:10 CET] [DEBG] Usando diretório estático em /opt/mattermost/web/static/  
[2016/03/04 13:00:10 CET] [DEBG] Analisando modelos em /opt/mattermost/web/templates/  
[2016/03/04 13:00:10 CET] [INFO] Iniciando Servidor...  
[2016/03/04 13:00:10 CET] [INFO] O servidor está ouvindo em 127.0.0.1:8065  
[2016/03/04 13:00:10 CET] [INFO] RateLimiter está habilitado  
[2016/03/04 13:00:10 CET] [DEBG] Verificando atualização de segurança do Mattermost  
[2016/03/04 13:00:10 CET] [EROR] Falha ao obter informações de atualização de segurança do Mattermost.

Pare o servidor mattermost com Ctrl+C

e então saia do shell que iniciamos como usuário ‘mattermost’ com:

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

Se sua instância do mattermost não iniciar, leia a saída com atenção. Eu tive muitos problemas porque esqueci uma vírgula simples no config.json. Também certifique-se de não usar caracteres especiais na senha do seu dbuser, especialmente nenhum sinal ‘ @ ‘. Isso me deixou confuso no começo!

Se você acidentalmente executou o comando acima como ‘ root ‘ e isso pode funcionar, você terá que corrigir novamente as permissões para a pasta mattermost. Use este comando se você encontrou esse erro:

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

Se tudo correu bem, agora podemos continuar.

Configurar o Mattermost como um daemon

Para configurar o Mattermost como um daemon, crie um arquivo

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

com o seguinte conteúdo:

[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

Em seguida, recarregue os arquivos do daemon com:

[root@mattermost ~]# systemctl daemon-reload

Agora podemos iniciar/parar/habilitar/desabilitar este serviço como estamos acostumados a fazer.

Então vamos iniciar o Mattermost, obter seu status e então habilitá-lo como um serviço (início automático).

Iniciar daemon do mattermost

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

Verificar status do mattermost

[root@mattermost ~]# systemctl status mattermost.service  
? mattermost.service - Mattermost  
Carregado: carregado (/etc/systemd/system/mattermost.service; desativado; preset do fornecedor: desativado)  
 Ativo: ativo (em execução) desde Sex 2016-03-04 14:03:40 CET; 4s atrás  
Main PID: 18573 (platform)  
CGroup: /system.slice/mattermost.service  
??18573 /opt/mattermost/bin/platform  
...  
...

Certifique-se de que está ativo (em execução)!

Habilitar daemon para início automático

[root@mattermost ~]# systemctl enable mattermost.service  
Criado symlink de /etc/systemd/system/multi-user.target.wants/mattermost.service para /etc/systemd/system/mattermost.service.

Agora, só para garantir, fazemos um teste se o Mattermost está ouvindo em 127.0.0.1:8065 executando o seguinte comando:

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

Devemos obter uma única linha que contém ‘2015 Mattermost’.

11343:        © 2015 Mattermost, Inc.

Se sim, podemos ter certeza de que a instância do servidor Mattermost está em execução e podemos continuar.


Corrigir problemas de permissão relacionados ao SELinux

No CentOS7, o SELinux está habilitado por padrão. Poderíamos desativá-lo completamente, mas é melhor reconfigurá-lo e permitir que nosso servidor Mattermost seja executado.

Basta digitar os seguintes 2 comandos para corrigir as permissões do SELinux:

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

Configurar servidor Nginx

Vamos colocar um servidor Nginx na frente da nossa instância do servidor Mattermost.

Os principais benefícios são:

  • Mapeamento de porta :80 para :8065
  • Logs de requisições padrão
  • mais opções ao mudar para SSL mais tarde

Habilitar repositório epel

O Nginx não está nos repositórios padrão do CentOS. Portanto, precisamos habilitar o repositório epel primeiro. Esta é uma tarefa fácil, basta digitar:

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

Instalar nginx

Depois de habilitarmos o epel-release, podemos simplesmente instalar o nginx com o seguinte comando:

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

Isso instalará o nginx e todas as suas dependências.

Configurar nginx

Existem muitas maneiras de configurar o Nginx. Este tutorial mostrará apenas como criar uma configuração muito simples para o Nginx que apenas hospeda nosso servidor Mattermost na porta 80.

Mudar o arquivo de configuração padrão do Nginx

Crie um backup do atual nginx.conf executando:

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

Em seguida, substitua /etc/nginx/nginx.conf por este conteúdo:

# Para mais informações sobre configuração, veja:  
# * Documentação Oficial em Inglês: http://nginx.org/en/docs/  
# * Documentação Oficial em Russo: 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;  
  
 # Carregar arquivos de configuração modular do diretório /etc/nginx/conf.d.  
 # Veja http://nginx.org/en/docs/ngx_core_module.html#include  
 # para mais informações.  
 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;  
 }  
 }  
}

Por favor, certifique-se de usar o nome do host correto, conforme declarado anteriormente neste documento.

Para verificar se não temos erros de sintaxe em nossos arquivos de configuração, execute o seguinte comando para verificar a sintaxe:

[root@mattermost config]# nginx -t  
nginx: o arquivo de configuração /etc/nginx/nginx.conf a sintaxe está ok  
ginx: arquivo de configuração /etc/nginx/nginx.conf teste bem-sucedido

Iniciar e habilitar o Nginx como daemon

Iniciar o Nginx

[root@mattermost config]# systemctl start nginx

Verificar status

[root@mattermost config]# systemctl status nginx

Certifique-se de que ele exiba pelo menos uma linha mostrando:

...  
Ativo: ativo (em execução)...  
...

Habilitar como daemon

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

Se tudo correu bem, você deve agora ter uma instalação do Mattermost funcionando atrás do Nginx. Verifique abrindo a seguinte URL em seu navegador:

http://mattermost.example.com

A tela de login do Mattermost deve aparecer!

Tela de login do Mattermost

Agora você pode continuar a configurar sua instalação do Mattermost inserindo seu endereço de email e criando uma conta.

Firewalld

Mais cedo neste tutorial, desativamos o firewalld. Se você quiser reabilitá-lo, mas deseja manter a Porta 80 aberta (que atualmente usamos para o Mattermost via Nginx), basta fazer o seguinte:

Iniciar e reabilitar o Firewalld

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

Abrir a Porta 80 no Firewall

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

Agora sua instalação do Mattermost deve ser acessível, mesmo com o Firewalld em execução!

Resumo

Espero que você tenha achado este tutorial útil e que tenha funcionado. Em um ambiente de produção, você deve criar/usar certificados para seu site Mattermost e habilitar https através do Nginx. Isso pode ser facilmente realizado modificando ligeiramente este Howto.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.