Instalação Mattermost · 6 min read · Oct 12, 2025

Como Instalar o Mattermost no Debian 11

Mattermost é uma plataforma de colaboração e mensagens gratuita e de código aberto, criada com a segurança em mente. É uma alternativa ao Discord ou Slack e oferece muitos recursos úteis, incluindo mensagens um a um, histórico de pesquisa ilimitado e capacidades de compartilhamento de arquivos, autenticação de dois fatores e notificações. É um serviço de chat online auto-hospedado escrito em Golang e React. É especialmente projetado para organizações e empresas e permite que as equipes se comuniquem de forma segura de qualquer lugar.

Neste tutorial, mostraremos como instalar o servidor de chat Mattermost no Debian 11.

Pré-requisitos

  • Um servidor rodando Debian 11.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no servidor.

Instalar e Configurar o Servidor de Banco de Dados MariaDB

Mattermost usa MySQL ou MariaDB como backend de banco de dados. Portanto, você precisará instalar o servidor MariaDB no seu servidor. Você pode instalá-lo usando o seguinte comando:

apt-get install mariadb-server -y

Uma vez que o MariaDB esteja instalado, inicie o serviço MariaDB e habilite-o para iniciar na reinicialização do sistema:

systemctl start mariadb  
systemctl enable mariadb

Em seguida, conecte-se ao shell do MariaDB com o seguinte comando:

mysql

Uma vez conectado, crie um banco de dados e um usuário com o seguinte comando:

MariaDB [(none)]> create database mattermost;  
MariaDB [(none)]> create user mattermost@localhost identified by 'password';

Em seguida, conceda todas as permissões ao banco de dados Mattermost com o seguinte comando:

MariaDB [(none)]> grant all privileges on mattermost.* to mattermost@localhost;

Em seguida, limpe as permissões e saia do shell do MariaDB com o seguinte comando:

MariaDB [(none)]> flush privileges;  
MariaDB [(none)]> exit;

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Instalar o Mattermost

Primeiro, crie um usuário dedicado para o Mattermost usando o seguinte comando:

useradd --system --user-group mattermost

Em seguida, baixe a versão mais recente do Mattermost com o seguinte comando:

wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz

Uma vez que o download esteja completo, extraia o arquivo baixado com o seguinte comando:

tar -xvzf mattermost-6.0.2-linux-amd64.tar.gz

Em seguida, mova o diretório extraído para o /opt com o seguinte comando:

mv mattermost /opt

Em seguida, crie um diretório de dados para o mattermost usando o seguinte comando:

mkdir /opt/mattermost/data

Em seguida, altere a propriedade do diretório mattermost com o seguinte comando:

chown -R mattermost:mattermost /opt/mattermost  
chmod -R g+w /opt/mattermost

Em seguida, edite o arquivo config.json com o seguinte comando:

nano /opt/mattermost/config/config.json

Encontre as seguintes linhas:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",

E substitua-as pelas seguintes linhas de acordo com suas configurações de banco de dados:

"DriverName": "mysql",
"DataSource": "mattermost:password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Salve e feche o arquivo quando terminar.

Criar um Arquivo de Serviço Systemd para o Mattermost

Em seguida, você precisará criar um arquivo de serviço systemd para o Mattermost. Você pode criá-lo usando o seguinte comando:

nano /etc/systemd/system/mattermost.service

Adicione as seguintes linhas:

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Salve e feche o arquivo e então recarregue o daemon systemd para aplicar as mudanças:

systemctl daemon-reload

Em seguida, inicie o Mattermost e habilite-o para iniciar na reinicialização do sistema:

systemctl start mattermost  
systemctl enable mattermost

Em seguida, verifique o status do Mattermost com o seguinte comando:

systemctl status mattermost

Você receberá a seguinte saída:

? mattermost.service - Mattermost
     Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:56:25 UTC; 4s ago
   Main PID: 2888 (mattermost)
      Tasks: 31 (limit: 4679)
     Memory: 273.3M
        CPU: 12.191s
     CGroup: /system.slice/mattermost.service
             ??2888 /opt/mattermost/bin/mattermost
             ??2915 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
             ??2925 plugins/playbooks/server/dist/plugin-linux-amd64
             ??2931 plugins/focalboard/server/dist/plugin-linux-amd64

Nov 12 13:56:24 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:24.681 Z","level":"info","msg":"Scheduling next survey for Dec 3, 2>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.064 Z","level":"info","msg":"Post.Message has size restrictions">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.084 Z","level":"info","msg":"info [2021-11-12 13:56:25.083 Z] co>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.131 Z","level":"info","msg":"\n    -- collation of mattermost's >
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.491 Z","level":"info","msg":"debug [2021-11-12 13:56:25.488 Z] i>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.777 Z","level":"info","msg":"info [2021-11-12 13:56:25.777 Z] Se>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.963 Z","level":"info","msg":"Starting Server...","caller":"app/s>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Server is listening on [::]:8065",">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Sending systemd READY notification.>
Nov 12 13:56:25 debian11 systemd[1]: Started Mattermost.

Configurar o Nginx como um Proxy Reverso para o Mattermost

Por padrão, o Mattermost escuta na porta 8065. Portanto, é uma boa ideia instalar e configurar o Nginx como um proxy reverso para acessar o Mattermost na porta 80. Primeiro, instale o Nginx com o seguinte comando:

apt-get install nginx -y

Uma vez que o Nginx esteja instalado, crie um arquivo de configuração de host virtual do Nginx com o seguinte comando:

nano /etc/nginx/conf.d/mattermost.conf

Adicione as seguintes linhas:

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.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://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;
   }
}

Salve e feche o arquivo e então verifique a configuração do Nginx para qualquer erro de sintaxe com o seguinte comando:

ginx -t

Você deve ver a seguinte saída:

ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Em seguida, inicie o serviço Nginx para aplicar as mudanças:

systemctl start nginx

Você também pode verificar o status do Nginx usando o seguinte comando:

systemctl status nginx

Você deve obter a seguinte saída:

? nginx.service - Um servidor web de alto desempenho e um servidor proxy reverso
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:57:02 UTC; 1min 12s ago
       Docs: man:nginx(8)
    Process: 3384 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3392 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3602 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 6.6M
        CPU: 55ms
     CGroup: /system.slice/nginx.service
             ??3602 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3604 nginx: worker process
             ??3605 nginx: worker process

Nov 12 13:57:01 debian11 systemd[1]: Starting Um servidor web de alto desempenho e um servidor proxy reverso...
Nov 12 13:57:02 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Nov 12 13:57:02 debian11 systemd[1]: Started Um servidor web de alto desempenho e um servidor proxy reverso.

Neste ponto, o Nginx está instalado e configurado como um proxy reverso para o Mattermost. Você pode agora prosseguir para o próximo passo.

Acessar a Interface Web do Mattermost

Agora, abra seu navegador e acesse a interface web do Mattermost usando a URL http://mattermost.example.com. Você será redirecionado para a seguinte página:

Login do Mattermost

Forneça seu endereço de e-mail de administrador, nome de usuário, senha e clique no botão Criar Conta. Você deve ver a seguinte página:

Mattermost

Agora, clique em Ir para o Console do Sistema. Você será redirecionado para o painel do Mattermost, conforme mostrado abaixo:

Painel do Mattermost

Conclusão

Parabéns! você instalou com sucesso o Mattermost com o Nginx como um proxy reverso no Debian 11. Você pode agora implementar o Mattermost em sua organização e permitir que as equipes se comuniquem entre si de qualquer lugar.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.