Android

Como implantar o rocket.chat no centos 7

How to install rocketchat on centos 7.8

How to install rocketchat on centos 7.8

Índice:

Anonim

O Rocket.Chat é uma plataforma completa de comunicação em equipe, uma alternativa do Slack auto-hospedada. Ele é construído com o Meteor e fornece vários recursos, incluindo bate-papo com suporte técnico, videoconferência, compartilhamento de arquivos, mensagens de voz, API e muito mais.

Neste tutorial, mostraremos como instalar e implantar o Rocket.Chat em um servidor CentOS 7 com o Nginx como proxy reverso SSL.

Pré-requisitos

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

  • O servidor CentOS 7, de acordo com os requisitos oficiais do sistema Rocket.Chat, precisa de pelo menos 1G de RAM.Você está logado como usuário com privilégios sudo.Você tem um nome de domínio apontando o endereço IP do servidor., usaremos example.com . Você tem o Nginx instalado; caso contrário, você pode instalá-lo seguindo este tutorial.Um certificado SSL. Você pode gerar um grátis no Let's Encrypt, ou comprar um de outro provedor.

Instalar dependências

Instale os seguintes pacotes necessários para construir os módulos npm necessários:

sudo yum install epel-release curl GraphicsMagick gcc-c++

Em seguida, instale o Node.js e o npm digitando:

sudo yum install -y nodejs npm

No momento da redação deste artigo, a versão recomendada do Node.js. para o Rocket.Chat é o Node.js. v8.11.3.

Emita os seguintes comandos para instalar o utilitário n e a versão recomendada do Node.js.

sudo npm install -g inherits n sudo n 8.11.3

O MongoDB é um banco de dados orientado a documentos NoSQL e é usado pelo Rocket.Chat como armazenamento de dados. O Rocket.Chat recomenda o MongoDB versão 3.6.

Instalaremos o MongoDB usando o yum nos repositórios oficiais do MongoDB.

Abra seu editor de escolha e crie o seguinte arquivo de repositório:

sudo nano /etc/yum.repos.d/mongodb-org.repo

Cole o seguinte conteúdo no arquivo:

/etc/yum.repos.d/mongodb-org.repo

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Salve o arquivo e feche seu editor de texto.

Para instalar o MongoDB, execute o seguinte comando:

sudo yum install mongodb-org

Depois que a instalação estiver concluída, ative e inicie o serviço MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Criar novo usuário do sistema

Crie um novo usuário e grupo, que executará nossa instância Rocket.Chat. Para simplificar, nomearemos o usuário rocket :

sudo useradd -m -U -r -d /opt/rocket rocket

Adicione o usuário nginx ao novo grupo de usuários e altere as permissões do diretório /opt/rocket para que o Nginx possa acessá-lo:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

Instalando o Rocket.Chat

Alterne para o rocket do usuário digitando:

sudo su - rocket

Baixe a versão estável mais recente do Rocket.Chat com curl:

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Após a conclusão do download, extraia o arquivo e renomeie o diretório para Rocket.Chat :

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

Vá para o diretório Rocket.Chat/programs/server e instale todos os pacotes npm necessários:

cd Rocket.Chat/programs/server npm install

Antes de criar a unidade systemd e configurar um proxy reverso com o Nginx, é uma boa ideia testar se a instalação foi bem-sucedida.

Para fazer isso, comece definindo as variáveis ​​de ambiente necessárias:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

Em seguida, volte ao diretório Rocket.Chat e inicie o servidor Rocket.Chat emitindo os seguintes comandos:

cd../../ node main.js

Se não houver erros, você deverá ver a seguinte saída:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

Neste ponto, o Rocket.Chat está instalado na sua máquina CentOS 7. Pare o servidor Rocket.Chat com CTRL+C e continue com as próximas etapas.

Criar uma unidade Systemd

Para executar o Rocket.Chat como um serviço, crie um arquivo de unidade rocketchat.service no diretório /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Cole o seguinte conteúdo no arquivo: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

Salve e feche o arquivo.

Notifique o systemd que um novo arquivo de unidade foi criado e inicie o serviço Rocket.Chat executando:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Verifique o status do serviço com o seguinte comando:

sudo systemctl status rocketchat

A saída deve ser algo como isto:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Se não houver erros, você poderá ativar o serviço Rocket.Chat para iniciar automaticamente no momento da inicialização:

sudo systemctl enable rocketchat

Configure um proxy reverso com o Nginx

Agora precisamos criar um novo bloco de servidor para nossa instalação do Rocket.Chat:

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

Cole o seguinte conteúdo no arquivo:

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

upstream rocketchat_backend { server 127.0.0.1:3000; } 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; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_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-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }

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

sudo systemctl reload nginx

Configurando Rocket.Chat

Abra seu navegador e digite: http://chat.example.com .

Supondo que a instalação seja bem-sucedida, você será apresentado ao Assistente de Configuração do Rocket.Chat, que o guiará na configuração do seu primeiro usuário administrador, na configuração da sua organização e no registro do servidor para receber notificações push gratuitas e muito mais.

A primeira seção do assistente de Configuração inicial solicitará que você configure seu usuário Admin:

Clique no botão Go to your workspace e você será redirecionado para o painel do Rocket.Chat conectado como usuário administrador.

Conclusão

Você instalou o Rocket.Chat com sucesso no servidor CentOS 7. Agora você pode começar a usar o Rocket.Chat para colaborar com sua equipe, compartilhar arquivos e conversar em tempo real.

rocketchat nodejs centos mongodb