Android

Como implantar o mais importante no ubuntu 18.04

Mattermost Installation Ubuntu 18 04 #mattermost

Mattermost Installation Ubuntu 18 04 #mattermost

Índice:

Anonim

O Mattermost é uma plataforma de mensagens instantâneas de nível corporativo, uma alternativa Slack auto-hospedada de código aberto. Está escrito em Golang e React e pode usar MySQL ou PostgreSQL como um back-end de banco de dados. O Mattermost reúne toda a comunicação da sua equipe em um único local e oferece vários recursos, incluindo compartilhamento de arquivos, mensagens individuais e em grupo, emojis personalizados, chamadas de vídeo e muito mais.

Neste tutorial, instalaremos o Mattermost em um servidor Ubuntu 18.04 e configuraremos o Nginx como um proxy reverso SSL.

Pré-requisitos

Verifique se você atendeu aos seguintes pré-requisitos antes de continuar com este tutorial:

  • Você está logado como usuário com privilégios sudo. Você tem um nome de domínio apontando para o endereço IP do servidor. usaremos example.com . Você tem o Nginx instalado, caso contrário, consulte este guia. Você tem um certificado SSL instalado para o seu domínio. Você pode instalar um certificado SSL Let's Encrypt criptografado gratuitamente, seguindo este guia.

Criar banco de dados MySQL

Usaremos o MySQL como um banco de dados para o Mattermost. Se você não possui o MySQL ou o MariaDB instalado no seu servidor, pode instalá-lo seguindo estas instruções.

Entre no shell do MySQL:

mysql -u root

Crie um novo banco de dados e usuário para a instalação do Mattermost com:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Verifique se você está usando uma senha mais segura que P4ssvv0rD .

Criar novo usuário do sistema

Crie um novo usuário e grupo que executará nossa instância do Mattermost. Vamos nomear o usuário mais mattermost :

sudo useradd -U -M -d /opt/mattermost mattermost

Instalar o servidor mais importante

No momento da redação deste artigo, a versão estável mais recente do Mattermost é a versão 5.1.0. Faça o download do archive com o seguinte comando curl:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

Quando o download estiver concluído, extraia o archive e mova-o para o diretório /opt

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

Crie o diretório de armazenamento para arquivos:

sudo mkdir -p /opt/mattermost/data

Altere a propriedade do diretório para o usuário mais importante:

sudo chown -R mattermost: /opt/mattermost

Abra o arquivo /opt/mattermost/config/config.json , defina o driver do banco de dados como mysql e insira as informações do banco de dados:

/opt/mattermost/config/config.json

"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",

Para garantir que nossa instância Mattermost funcione conforme o esperado, testaremos o servidor Mattermost. Vá para o diretório /opt/mattermost e inicie o servidor com os seguintes comandos:

cd /opt/mattermost sudo -u mattermost bin/mattermost

Se tudo funcionar bem, o servidor será iniciado e a saída será mais ou menos assim:

{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}

Agora podemos parar o servidor Mattermost com CTRL+C e continuar com as próximas etapas.

Criar uma unidade Systemd

Para executar nossa instância do Mattermost como um serviço, criaremos um arquivo da unidade mattermost.service no diretório /etc/systemd/system/ .

Abra seu editor de texto e crie o seguinte arquivo:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service

Notifique ao systemd que criamos um novo arquivo de unidade e inicie o serviço Mattermost com os seguintes comandos:

sudo systemctl daemon-reload sudo systemctl start mattermost

Agora podemos verificar o status do serviço com:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost

Se não houver erros, ative o serviço Mattermost para iniciar automaticamente no momento da inicialização:

sudo systemctl enable mattermost

Configure um proxy reverso com o Nginx

Agora, precisamos configurar um novo bloco de servidor para a instância Mattermost. Abra seu editor de texto e crie o seguinte arquivo:

/etc/nginx/conf.d/example.com.conf

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; upstream mattermost_backend { server 127.0.0.1:8065; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location ~ /api/v+/(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; proxy_read_timeout 600s; proxy_pass http://mattermost_backend; } location / { proxy_http_version 1.1; 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_pass http://mattermost_backend; } }

Recarregue o serviço Nginx para que as alterações entrem em vigor:

sudo systemctl reload nginx

Configurando o Mattermost

Abra seu navegador, digite seu domínio e você será redirecionado para a página de sugnup.

Digite seu email, escolha um nome de usuário e senha e clique no botão Create Account para criar sua primeira conta.

Você pode usar qualquer serviço de email transacional popular, como SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet e Postmark, ou pode configurar seu próprio servidor de email seguindo este tutorial.

Finalmente, precisamos reiniciar o serviço Mattermost para que as alterações entrem em vigor:

sudo systemctl restart mattermost

Conclusão

Você instalou o Mattermost com sucesso no servidor Ubuntu 18.04 e configurou o Nginx como um proxy reverso. Agora você pode começar a usar o Mattermost para colaborar com sua equipe.

rocketchat nodejs ubuntu