Introdução
Rocket.Chat é uma plataforma de comunicação de código aberto que oferece funcionalidades de chat em tempo real. É uma excelente solução para empresas e comunidades que precisam de uma ferramenta de colaboração autônoma. Neste tutorial, vamos explicar como instalar o Rocket.Chat no Rocky Linux 8.
Pré-requisitos
- Um servidor VPS rodando Rocky Linux 8.
- Acesso root ou usuário com privilégios sudo.
- O Node.js, MongoDB e o Nginx instalados.
Passo 1: Atualizar o sistema
Antes de começar, atualize os pacotes do sistema:
sudo dnf update -y
Passo 2: Instalar o Node.js
Rocket.Chat é construído com Node.js. Adicione o repositório do Node.js e instale a versão LTS (Long Term Support):
sudo dnf module enable nodejs:14
sudo dnf install nodejs -y
Verifique se o Node.js foi instalado corretamente:
node -v
Passo 3: Instalar o MongoDB
Rocket.Chat usa o MongoDB como banco de dados. Instale o MongoDB executando os seguintes comandos:
sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
sudo dnf install mongodb-org -y
Inicie e habilite o MongoDB para iniciar automaticamente na inicialização do sistema:
sudo systemctl start mongod
sudo systemctl enable mongod
Passo 4: Configurar o MongoDB
Rocket.Chat precisa que o MongoDB esteja em modo de replicação mesmo em um servidor único. Abra o terminal do MongoDB:
mongo
No terminal do MongoDB, execute os seguintes comandos para configurar a replicação:
rs.initiate()
Depois, saia do terminal MongoDB digitando:
exit
Passo 5: Baixar e configurar o Rocket.Chat
Baixe a versão mais recente do Rocket.Chat:
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Extraia o arquivo baixado e mova para o diretório correto:
tar -xzf rocket.chat.tgz
sudo mv bundle /opt/Rocket.Chat
Instale as dependências necessárias dentro da pasta do Rocket.Chat:
cd /opt/Rocket.Chat/programs/server
sudo npm install
Passo 6: Configurar o Rocket.Chat como um serviço de sistema
Crie um arquivo de serviço systemd para o Rocket.Chat:
sudo nano /etc/systemd/system/rocketchat.service
Adicione o seguinte conteúdo ao arquivo:
[Unit]
Description=Rocket.Chat server
After=network.target mongod.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/node /opt/Rocket.Chat/main.js
Environment=ROOT_URL=http://seu_dominio_ou_IP:3000/
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
Environment=PORT=3000
[Install]
WantedBy=multi-user.target
Salve o arquivo e saia do editor.
Passo 7: Iniciar o Rocket.Chat
Inicie o serviço Rocket.Chat e habilite-o para iniciar automaticamente na inicialização:
sudo systemctl start rocketchat
sudo systemctl enable rocketchat
Verifique se o Rocket.Chat está funcionando corretamente:
sudo systemctl status rocketchat
Passo 8: Configurar o Nginx como proxy reverso
Para acessar o Rocket.Chat via HTTP/S, instale o Nginx e configure-o como proxy reverso:
sudo dnf install nginx -y
Crie um arquivo de configuração para o Rocket.Chat no Nginx:
sudo nano /etc/nginx/conf.d/rocketchat.conf
Adicione o seguinte conteúdo:
server {
listen 80;
server_name seu_dominio_ou_IP;
location / {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $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_cache_bypass $http_upgrade;
}
}
Salve o arquivo e reinicie o Nginx:
sudo systemctl restart nginx
Conclusão
Parabéns! Você instalou com sucesso o Rocket.Chat Server no Rocky Linux 8. Agora, você pode acessar o Rocket.Chat pelo navegador e começar a usar sua própria plataforma de comunicação. Para garantir que o servidor tenha desempenho e segurança adequados, considere hospedar o Rocket.Chat em um servidor VPS confiável.