Skip to main content

Instalar o Mattermost

· 3 min read


Introdução


Mattermost é um software de comunicação usado para trabalhar em equipe, semelhante ao Slack e Microsoft Teams. Com ele várias equipes pode trabalhar juntas em projetos e compartilhem informações em tempo real através de mensagens de texto, voz e vídeo. Ele é de código aberto e possui marcação de linguagens como MarkDown.


Ele também possui recursos de integração com outras ferramentas populares de produtividade, como o Trello, o GitHub e o Google Drive. Além de fornecer algumas coisas nativamente. O Mattermost é altamente personalizável, permitindo que as equipes personalizem sua experiência de comunicação com recursos como temas personalizados, notificações personalizadas e a capacidade de integrar seus próprios bots e plug-ins.



Instalação


Comece atualizando e baixando o banco de dados:

# Atualize o sistema:
$ sudo apt update && sudo apt dist-upgrade -y

# Instale o 'mysql-server':
$ sudo apt install -y mysql-server

# Configure a senha do Root e os acessos para o Mattermost:
$ mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'SENHA_ROOT';

create database mattermost;
create user 'USER_MYSQL'@'127.0.0.1' identified by 'SENHA_MYSQL';
GRANT ALL ON mattermost.* TO 'USER_MYSQL'@'localhost';

# Agora rode a instalação segura do mysql:
$ sudo mysql_secure_installation

Caso precise mudar a senha:

ALTER USER 'USERNAME'@'127.0.0.1' IDENTIFIED BY 'SENHA';

Agora vamos instalar o Mattermost:

# Entre no diretório abaixo:
$ cd /usr/src

# Baixe o código fonte:
$ sudo wget https://releases.mattermost.com/7.9.1/mattermost-7.9.1-linux-amd64.tar.gz

# Descompacte:
tar -xvzf mattermost*.gz

# Move a pasta para /opt:
$ sudo mv mattermost /opt

# Crie o diretório de armazenamento:
$ sudo mkdir /opt/mattermost/data

O diretório de armazenamento irá conter todos os arquivos e imagens que seus usuários postam no Mattermost, portanto, você precisa garantir que o disco seja grande o suficiente para comportar o número esperado de arquivos e imagens enviados.


Vamos criar e configurar o usuário e grupo para rodar a aplicação:

# Adicione o usuário/grupo:
$ sudo useradd --system --user-group mattermost

# Configure o usuário/grupo que criamos como dono do diretório abaixo:
$ sudo chown -R mattermost:mattermost /opt/mattermost

# Aplique permissão de escrita para o grupo:
$ sudo chmod -R g+w /opt/mattermost

Agora vamos configurar ele para conseguir acessar o MySql:

# Edite o arquivo abaixo:
$ sudo vim /opt/mattermost/config/config.json

# Configure a opção 'DriverName' para 'mysql':
"DriverName": "mysql",
# Configure a opção 'DataSource' para ser igual abaixo:
"DataSource": "USER_MYSQL:SENHA_MYSQL@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8&writeTimeout=30s",
# Configure 'SiteURL' para a URL do Site:
"SiteURL": "https://mattermost.example.com",

Agora vamos testar o Mattermost:

# Entre no diretório abaixo:
$ cd /opt/mattermost

# Agora rode:
$ sudo -u mattermost ./bin/mattermost

{"timestamp":"2023-03-27 20:32:06.207 Z","level":"info","msg":"Server is listening on [::]:8065","caller":"app/server.go:964","address":"[::]:8065"}

Agora vamos criar o serviço no SystemD:

$ sudo vim /lib/systemd/system/mattermost.service

### Adicione a conf abaixo:

[Unit]
Description=Mattermost
After=network.target
After=mysql.service
BindsTo=mysql.service

[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152

[Install]
WantedBy=multi-user.service

Agora faça:

sudo systemctl daemon-reload
sudo systemctl restart mattermost.service
sudo systemctl status mattermost.service
sudo systemctl enable mattermost.service


Configurando


Primeiro acesse http://IP:8065 para configurar a primeira equipe/usuário.



Fontes


https://docs.mattermost.com/install/installing-ubuntu-2004-LTS.html