Cómo instalar Rocket.Chat en CentOS 8

En este tutorial, le mostraremos cómo instalar Rocket.Chat en CentOS 8. Para aquellos de ustedes que no lo sabían, Rocket.Chat es uno de los software de chat de código abierto más populares. Una alternativa fantástica tanto para Slack como para el software de chat en vivo compensado. Es gratis, lo que es ilimitado y tiene un montón de funciones geniales como chat de video, pantalla compartida, aplicaciones móviles y más.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo ‘ a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del software de chat de código abierto Rocket.Chat en CentOS 8.

requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos: CentOS 8.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • UN non-root sudo user o acceder a la root user . Recomendamos actuar como un non-root sudo user sin embargo, puede dañar su sistema si no tiene cuidado al actuar como raíz.

Instalar Rocket.Chat en CentOS 8

Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado e instale todas las dependencias requeridas.

                      sudo dnf install epel-release
sudo dnf update
sudo dnf groupinstall 'Development Tools'
sudo dnf install curl GraphicsMagick gcc-c++
                    

Paso 2. Instalación de Node.js.

Rocket.Chat Nodejs para ser instalado en su sistema. Ejecute el siguiente comando para instalar Node.js:

                      curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
sudo dnf install nodejs
                    

Paso 3. Instalación del servidor web Nginx en CentOS 8.

Nginx es un servidor web de alto rendimiento y muy popular en estos días. El primer paso es instalar Nginx. Así que abra una sesión de terminal o conéctese a su servidor usando SSH:

                      sudo dnf install nginx
                    

Una vez que la instalación sea exitosa, inicie y habilite Nginx para que se ejecute en el arranque del sistema:

                      systemctl enable --now nginx
                    

El siguiente paso es abrir los puertos en el Firewall para que podamos usar Nginx:

                      sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
                    

Paso 4. Instalación de MongoDB en CentOS 8.

Abra una sesión de terminal y tenemos que configurar el repositorio de MongoDB. Para hacer esto, abra un nuevo archivo:

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

Agregue lo siguiente:

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

Ahora instalar MongoDB es tan simple como ejecutar un solo comando:

                      dnf install mongodb-org
                    

El demonio MongoDB debe estar habilitado para iniciarse en el arranque:

                      sudo systemctl enable mongodb
sudo systemctl start mongodb
                    

A continuación, deberá definir un conjunto de réplicas en MongoDB. Puedes definirlo con el siguiente comando:

                      nano /etc/mongod.conf
                    

Agregue las siguientes líneas:

                      replication:
replSetName: "myreplica01"
                    

Guardar y close el archivo y luego reinicie el servicio MongoDB:

                      sudo systemctl restart mongod
                    

Luego, inicie sesión en el shell de MongoDB e inicie el conjunto de réplicas con el siguiente comando:

                      mongo

> rs.initiate()
                    

Debería obtener los siguientes resultados:

                      {
    "info2" : "no configuration specified. Using a default configuration for the set",
    "me" : "127.0.0.1:27017",
    "ok" : 1,
    "operationTime" : Timestamp(160666164, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(160666164, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
}
                    

Paso 5. Instalación de Rocket.Chat en CentOS 8.

Primero, deberá crear un usuario separado para ejecutar Rocket.Chat:

                      useradd -m -U -r -d /opt/rocket rocket
usermod -a -G rocket nginx
chmod 750 /opt/rocket
                    

Ahora descargamos la última versión de Rocket Chat usando el siguiente comando:

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

A continuación, extraiga el archivo descargado:

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

Luego, cambie el directorio al servidor Rocket.Chat e instale los módulos requeridos con el siguiente comando:

                      cd Rocket.Chat/programs/server
npm install
                    

Paso 6. Cree un servicio Systemd para Rocket.Chat.

Ahora creamos un systemd archivo de servicio para administrar el servicio Rocket.Chat:

                      nano /etc/systemd/system/rocketchat.service
                    

Agregue las siguientes líneas:

                      [Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.googlesyndication.com:3000/ PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target
                    

Guardar y close el archivo luego inicia el servicio Rocket.Chat también permite que se inicie al reiniciar el sistema con el siguiente comando:

                      sudo systemctl daemon-reload
sudo systemctl start rocketchat
sudo systemctl enable rocketchat
                    

Paso 7. Configure Nginx como proxy inverso.

Ahora creamos un archivo de configuración de host virtual Nginx con el siguiente comando:

                      nano /etc/nginx/conf.d/rocket.conf
                    

Agregue las siguientes líneas:

                      upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.mydomain.com;

    location / {
        proxy_pass https://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;
    }
}
                    

Guardar y close el archivo y luego reinicie el servicio Nginx para aplicar los cambios:

                      sudo systemctl restart nginx
                    

Paso 8. Acceso a la interfaz web de Rocket.Chat.

Rocket.Chat estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y vaya a https://chat.mydomain.com y complete los pasos necesarios para finalizar la instalación.

¡Felicidades! Ha instalado con éxito Rocket.Chat. Gracias por usar este tutorial para instalar el software de chat de código abierto Rocket.Chat en su sistema CentOS 8. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Rocket.Chat .

Related Posts