Rocket.Chat – Bate-papo em Equipe Empresarial, Livre e de Código Aberto para Linux

Rocket.Chat é uma plataforma gratuita, de código aberto, escalável, altamente personalizável e segura que permite que você se comunique e colabore com sua equipe, compartilhe arquivos e converse em tempo real. É multiplataforma e roda nos sistemas operacionais Linux, Windows, macOS, Android e iOS móveis.

É semelhante ao Slack e possui chat ao vivo, conferências de áudio e vídeo gratuitas, canais, acesso de convidados, compartilhamento de tela e compartilhamento de arquivos. Para garantir comunicação segura, suporta sincronização de grupo LDAP, autenticação de dois fatores (2FA), criptografia de ponta a ponta, Login Único e vários provedores de Oauth.

Importante, sendo totalmente de código aberto, você pode acessar seu código-fonte para personalizar totalmente, estender ou adicionar novas funcionalidades para atender aos requisitos de sua equipe ou empresa.

Neste artigo, você aprenderá como instalar e configurar o servidor e cliente do Rocket.Chat em um sistema Linux.

Passo 1: Instalando Snaps no Linux

1. A maneira mais fácil de instalar o Rocket.Chat é usando Snaps – são suportados pela maioria, se não todos, das distribuições Linux modernas e são seguros porque são executados confinados sob uma sandbox de segurança restritiva. Além disso, com snaps, você também pode atualizar automaticamente quando uma nova versão de um pacote estiver disponível.

Primeiro, certifique-se de ter o pacote snapd instalado no seu sistema, caso contrário, instale-o usando o seu gerenciador de pacotes padrão, conforme mostrado.

$ sudo apt install snapd		#Ubuntu and Debian
$ sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd		#CentOS/RHEL 7

2. Quando a instalação estiver completa, você precisa habilitar a unidade systemd que gerencia o principal soquete de comunicação do snap da seguinte forma. Note que este comando iniciará o soquete e o habilitará para iniciar no boot do sistema. No Ubuntu, isso deve ser feito automaticamente após a instalação do pacote estar completa.

$ sudo systemctl enable --now snapd.socket

Além disso, você pode habilitar o suporte ao snap clássico criando um link simbólico entre /var/lib/snapd/snap e /snap.

 
$ sudo ln -s /var/lib/snapd/snap /snap

Passo 2: Instalando o Rocket.Chat no Linux

3. Agora que você tem o Snapd instalado, execute o seguinte comando para instalar o rocketchat-server.
$ sudo snap install rocketchat-server

4. Quando a instalação do snap estiver completa, o seu servidor rocket.chat começará a ser executado e ouvirá na porta 3000 por padrão. Abra um navegador da web e insira o seguinte endereço para configurar o rocket.chat no sistema.

http://SERVER_IP:3000

5. Após o carregamento do assistente de configuração, forneça o nome completo do usuário administrativo, nome de usuário, email organizacional e senha.

Enter Your Admin Info

6. Em seguida, forneça as informações organizacionais (tipo de organização, nome, indústria, tamanho, país e site), e clique em Continuar.

Enter Organization Info

7. Em seguida, forneça as informações do servidor (nome do site, padrão, tipo de servidor, e também habilite 2FA ou não). Em seguida, clique em Continuar.

Enter Server Info

8. Na próxima página, registre o servidor. Existem duas opções aqui, o padrão é usar os gateways e proxies pré-configurados fornecidos pelo Rocket.Chat (esta é a opção recomendada).

Alternativamente, você pode optar por manter autônomo e criar contas com provedores de serviço, atualizar configurações pré-configuradas e também recompilar os aplicativos móveis com seus certificados privados. E clique em Continuar.

Register Rocket.Chat Server

A configuração está completa e seu espaço de trabalho está pronto. Clique em Ir para o seu espaço de trabalho.

Use Work Space
Rocket.Chat Home Workspace

Etapa 3: Configurando o Proxy Reverso para o Rocket.Chat

9. Um proxy reverso como NGINX ou Apache permite que você configure a aplicação Rocket.Chat para ser acessível por meio de um domínio ou subdomínio (por exemplo, http://chat.tecmint.com) em vez de digitar o endereço do servidor e a porta da aplicação (por exemplo, http://10.42.0.247:3000).

Além disso, Rocket.Chat é um servidor de aplicativos de nível intermediário que não lida com SSL/TLS. Um proxy reverso também permite que você configure certificados SSL/TLS para habilitar o HTTPS.

Habilitar o Proxy Reverso Nginx para o Rocket.Chat

10. Primeiro, instale o pacote NGINX se ainda não estiver instalado em seu sistema.

$ sudo apt apt install nginx		#Ubuntu/Debian 
$ sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx		#CentOS/RHEL 7

11. Assim que a instalação do pacote estiver completa, inicie o serviço do Nginx, por enquanto, habilite-o para iniciar automaticamente na inicialização do sistema e verifique seu status para garantir que esteja em execução.

$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx

12. Em seguida, crie um arquivo de bloco de servidor virtual para a aplicação Rocket.Chat no diretório /etc/nginx/conf.d/, por exemplo.

$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf

Então copie e cole a seguinte configuração no arquivo (substitua chat.tecmint.com pelo seu subdomínio ou domínio válido).

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.tecmint.com;

    # You can increase the limit if you need to.
    client_max_body_size 200M;

    error_log /var/log/nginx/chat.tecmint.com.log;

    location / {
        proxy_pass http://backend/;
        proxy_http_version 1.1;
        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-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

Salve o arquivo e feche-o.

13. Em seguida, verifique a configuração do NGINX quanto a qualquer problema de sintaxe. Se estiver tudo bem, reinicie o serviço Nginx para aplicar as alterações recentes.

$ sudo nginx -t
$ sudo systemctl restart nginx

Habilitar Proxy Reverso do Apache para Rocket.Chat

14. Comece instalando o pacote Apache2 se ainda não estiver instalado no seu sistema.

$ sudo apt install apache2		#Ubuntu/Debian 
$ sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd		#CentOS/RHEL 7

15. Em seguida, inicie e habilite o serviço apache e verifique se ele está em execução da seguinte forma.

----- On Ubuntu/Debian -----
$ sudo systemctl enable --now apache2 	
$ sudo systemctl status apache2

----- On CentsOS/RHEL 7/8 ----- 
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd

16. Em seguida, crie um arquivo de host virtual para a aplicação Rocket.Chat no diretório /etc/apache2/sites-available/ ou /etc/httpd/conf.d/, por exemplo.

----- On Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf

----- On CentsOS/RHEL 7/8 ----- 
$ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf

17. Copie e cole a seguinte configuração nele, substituindo chat.tecmint.com pelo seu domínio válido.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName chat.tecmint.com

    LogLevel info
    ErrorLog /var/log/chat.tecmint.com_error.log
    TransferLog /var/log/chat.tecmint.com_access.log

    <Location />
        Require all granted
    </Location>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

    ProxyPassReverse /          http://localhost:3000/
</VirtualHost>

Salve o arquivo e feche-o.

18. No Ubuntu e no Debian, habilite os módulos apache2 necessários e reinicie o serviço para aplicar as alterações recentes.

$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2

No CentOS/RHEL e Fedora, simplesmente reinicie o serviço apache.

# systemctl restart httpd

19. Agora que tudo está configurado corretamente, abra seu navegador e digite o seguinte endereço. O aplicativo Rocket.Chat deve ser acessível usando seu domínio configurado no servidor proxy.

http://chat.tecmint.com
Rocket.Chat Login Screen

20. O próximo passo crucial é adicionar os benefícios de segurança e privacidade de um certificado HTTPS ao seu serviço de chat. Para um ambiente de produção, recomendamos o uso do Let’s Encrypt, que é gratuito e confiável pela maioria dos navegadores web modernos.

Note que o Let’s Encrypt é automatizado: você pode usar o certbot, uma ferramenta gratuita e de código aberto para obter e instalar automaticamente ou simplesmente obter e instalar manualmente certificados do Let’s Encrypt em distribuições Linux e servidores web mainstream.

Passo 4: Instalando Clientes do Rocket.Chat no Desktop

21. Por último, mas não menos importante, você pode baixar e instalar um aplicativo desktop do Rocket.Chat para Linux, Mac ou Windows no site do projeto Rocket.Chat. Ele também fornece aplicativos móveis para Android e iOS.

Para instalar o aplicativo desktop no Linux, você pode baixar um pacote deb (x64) ou rpm(x64) dependendo da sua distribuição Linux.

$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
OR
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm

22. Em seguida, instale o pacote usando o gerenciador de pacotes dpkg ou rpm conforme mostrado.

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23. Assim que a instalação do pacote estiver completa, procure por rocket.chat no Menu do Sistema e inicie-o. Depois que ele carregar, insira a URL do seu servidor para se conectar a ele, conforme mostrado na captura de tela a seguir.

Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/