O Rocket.Chat é uma solução de comunicação de equipe do tipo Slack de código aberto que pode ser implantada em seu próprio servidor. Com o Rocket.Chat, você pode conversar com os membros da sua equipe e amigos através de áudio e vídeo, interagir com os visitantes do site em tempo real, compartilhar arquivos, transmitir mensagens de voz e muito mais.
Pré-requisitos
- Uma nova instância do servidor Site & Site Debian 9 com pelo menos 1G de memória. Diga o seu endereço IP é
192.167.100.100
. - Um domínio apontando para sua instância do servidor. Diga que é
www.example.com
.
Etapa 1: atualizar o sistema
Faça o login como root e atualize o sistema para o último status estável:
apt update
apt upgrade -y
shutdown -r now
Etapa 2: instalar o MongoDB
Instale a última versão estável do MongoDB:
apt install mongodb
Etapa 3: instale o Node.js, GraphicsMagick, npm e outras dependências
O Rocket.Chat 0.60 e superior precisa da versão 8.9.3 LTS do Node.js para funcionar. Então, primeiro adicione o repositório de distribuições binárias do NodeSource Debian:
curl -sL https://deb.nodesource.com/setup_8.x | bash -
Então podemos instalar o Node.js e outros pacotes:
apt install nodejs curl graphicsmagick -y
npm install -g n
Use n
para instalar o Node.js versão 8.9.3:
n 8.9.3
Etapa 4: Instalar o Rocket.Chat
Baixe e instale o Rocket.Chat:
cd /opt
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -zxvf rocket.chat.tgz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
Para sua conveniência, você precisa criar a unidade de serviço RocketChat systemd:
nano /etc/systemd/system/rocketchat.service
Preencha o arquivo. Certifique-se de substituir o domínio www.example.com
por seu próprio:
[Unit]
Description=RocketChat Server
After=network.target remote-fs.target nss-lookup.target mongod.target nginx.target # Remove or Replace nginx with your proxy
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js # Specify the location of node and location of main.js
Restart=always # If set to always, the service will be restarted regardless of whether it exited cleanly or not, got terminated abnormally by a signal, or hit a timeout.
RestartSec=10 # Restart service after 10 seconds if node service crashes
StandardOutput=syslog # Output to syslog
StandardError=syslog # Output to syslog
SyslogIdentifier=nodejs-example
#User=<alternate user>
#Group=<alternate group>
Environment=NODE_ENV=production PORT=3000 ROOT_URL=https://www.example.com MONGO_URL=mongodb://localhost:27017/rocketchat
[Install]
WantedBy=multi-user.target
Nota : Em PORT
, você pode substituir 3000
pelo número de porta de sua escolha. Em ROOT_URL
, você pode substituir www.example.com
com o endereço IP do seu servidor 192.168.100.100
, se o seu domínio não estiver disponível.
Salvar e sair, CTRL+ X, Y.
Inicie o serviço do MongoDB:
systemctl start mongodb
Inicie o serviço Rocket.Chat:
systemctl start rocketchat
Passo 5: Acesse o Rocket.Chat no navegador da web
Aponte seu navegador para http://www.example.com:3000
e registre o primeiro usuário para administração. Por padrão, somente o primeiro usuário terá privilégios administrativos.