Androide

Cómo implementar rocket.chat en centos 7

Rocket.Chat #02 How to Install RocketChat on Centos or RHEL Server

Rocket.Chat #02 How to Install RocketChat on Centos or RHEL Server

Tabla de contenido:

Anonim

Rocket.Chat es una plataforma de comunicación de equipo completa, una alternativa de Slack autohospedada. Está construido con Meteor y ofrece varias funciones, como chat de mesa de ayuda, videoconferencia, uso compartido de archivos, mensajes de voz, API y más.

En este tutorial, le mostraremos cómo instalar e implementar Rocket.Chat en un servidor CentOS 7 con Nginx como proxy inverso SSL.

Prerrequisitos

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Servidor CentOS 7, de acuerdo con los requisitos oficiales del sistema Rocket.Chat, necesita al menos 1G de RAM. Ha iniciado sesión como usuario con privilegios de sudo. Tiene un nombre de dominio que apunta a la dirección IP de su servidor., utilizaremos example.com . Tiene instalado Nginx, si no puede instalarlo siguiendo este tutorial. Un certificado SSL. Puede generar uno gratuito de Let's Encrypt, o comprar uno de otro proveedor.

Instalar dependencias

Instale los siguientes paquetes que son necesarios para construir los módulos npm necesarios:

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

A continuación, instale Node.js y npm escribiendo:

sudo yum install -y nodejs npm

Al momento de escribir este artículo, la versión recomendada de Node.js para Rocket.Chat es Node.js v8.11.3.

Emita los siguientes comandos para instalar la utilidad n la versión recomendada de Node.js:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB es una base de datos orientada a documentos NoSQL y Rocket.Chat la utiliza como almacén de datos. Rocket.Chat recomienda MongoDB versión 3.6.

Instalaremos MongoDB usando yum de los repositorios oficiales de MongoDB.

Abra el editor de su elección y cree el siguiente archivo de repositorio:

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

Pegue el siguiente contenido en el archivo:

/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

Guarde el archivo y cierre su editor de texto.

Para instalar MongoDB, ejecute el siguiente comando:

sudo yum install mongodb-org

Una vez completada la instalación, habilite e inicie el servicio MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Crear nuevo usuario del sistema

Cree un nuevo usuario y grupo, que ejecutará nuestra instancia de Rocket.Chat. Por simplicidad, nombraremos el rocket usuario:

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

Agregue el usuario nginx al nuevo grupo de usuarios y cambie los permisos del directorio /opt/rocket para que Nginx pueda acceder a él:

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

Instalación de Rocket.Chat

Cambie al rocket usuario escribiendo:

sudo su - rocket

Descargue la última versión estable de Rocket.Chat con curl:

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

Una vez que se complete la descarga, extraiga el archivo y cambie el nombre del directorio a Rocket.Chat .

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

Cambie al directorio Rocket.Chat/programs/server e instale todos los paquetes npm necesarios:

cd Rocket.Chat/programs/server npm install

Antes de crear la unidad systemd y configurar un proxy inverso con Nginx, es una buena idea probar si la instalación fue exitosa.

Para hacerlo, comience configurando las variables de entorno requeridas:

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

Luego, vuelva al directorio Rocket.Chat e inicie el servidor Rocket.Chat emitiendo los siguientes comandos:

cd../../ node main.js

Si no hay errores, debería ver el siguiente resultado:

➔ +---------------------------------------------+ ➔ | 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 | ➔ | | ➔ +---------------------------------------------+

En este punto, Rocket.Chat está instalado en su máquina CentOS 7. Detenga el servidor Rocket.Chat con CTRL+C y continúe con los siguientes pasos.

Crear una unidad de Systemd

Para ejecutar Rocket.Chat como servicio, cree un archivo de unidad rocketchat.service en el directorio /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Pegue el siguiente contenido en el archivo: /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

Guarde y cierre el archivo.

Notifique a systemd que se creó un nuevo archivo de unidad e inicie el servicio Rocket.Chat ejecutando:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Verifique el estado del servicio con el siguiente comando:

sudo systemctl status rocketchat

La salida debería verse así:

● 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

Si no hay errores, puede habilitar el servicio Rocket.Chat para que se inicie automáticamente en el momento del arranque:

sudo systemctl enable rocketchat

Configurar un proxy inverso con Nginx

Ahora necesitamos crear un nuevo bloque de servidor para nuestro Rocket. Instalación de Chat:

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

Pegue el siguiente contenido en el archivo:

/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; } }

Vuelva a cargar el servicio Nginx para que los cambios surtan efecto:

sudo systemctl reload nginx

Configurando Rocket.Chat

Abra su navegador y escriba: http://chat.example.com .

Suponiendo que la instalación sea exitosa, se le presentará el Asistente de configuración Rocket.Chat que lo guiará a través de la configuración de su primer usuario administrador, la configuración de su organización y el registro de su servidor para recibir notificaciones push gratuitas y más.

La primera sección del asistente de configuración inicial le pedirá que configure su usuario administrador:

Haga clic en el botón Go to your workspace y será redirigido al panel de Rocket.Chat conectado como usuario administrador.

Conclusión

Ha instalado con éxito Rocket.Chat en su servidor CentOS 7. Ahora puede comenzar a usar Rocket.Chat para colaborar con su equipo, compartir archivos y chatear en tiempo real.

rocketchat nodejs centos mongodb