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.
É semelhante ao Slack e apresenta chat ao vivo, conferências de áudio e vídeo gratuitas, canais, acesso de convidados, compartilhamento de tela e de arquivos. Para garantir comunicação segura, suporta sincronização de grupo LDAP, autenticação de dois fatores (2FA), criptografia de ponta a ponta, Logon Único e vários provedores de Oauth.
Importante destacar que, sendo totalmente de código aberto, você pode acessar seu código-fonte para personalizar, 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 o 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 todas, as 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. Observe 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 ser concluída.
$ sudo systemctl enable --now snapd.socket
Além disso, você pode habilitar o suporte a 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 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, seu servidor rocket.chat iniciará e estará ouvindo na porta 3000 por padrão. Abra um navegador da web e digite 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.

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

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

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.

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


Passo 3: Configurando Proxy Reverso para Rocket.Chat
9. Um proxy reverso como NGINX ou Apache permite que você configure a aplicação Rocket.Chat para ser acessível via 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 aplicação de nível intermediário que não lida com SSL/TLS. Um proxy reverso também permite configurar certificados SSL/TLS para habilitar HTTPS.
Habilitar o Proxy Reverso do Nginx para Rocket.Chat
10. Primeiro, instale o pacote NGINX se ainda não estiver instalado no 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 no boot 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 o aplicativo Rocket.Chat no diretório /etc/nginx/conf.d/, por exemplo.
$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf
Em seguida, 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 para 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
Ative o 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 o aplicativo 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 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

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.
Observe 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 Let’s Encrypt em distribuições Linux e servidores web mainstream.
Passo 4: Instalando Clientes Rocket.Chat no Desktop
21. Por último, mas não menos importante, você pode baixar e instalar um aplicativo desktop Rocket.Chat para Linux, Mac ou Windows a partir do 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. Uma vez concluída a instalação do pacote, 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/