====== Instalando Rocket.Chat 3 en Debian 9 Stretch ====== //Por Félix Molinuevo, [[axrglobal>|AXR Global]]// **:::** //Fecha creación: **20200327**// ===== Introducción ===== Rocket.Chat es un servicio de comunicación y colaboración para equipos de trabajo. Es práctico, y agradable a la vista, a la vez que ofrece mucha funcionalidad. Se lo instalará en esta receta sobre Debian Stretch debido a que es difícil instalar MongoDB en las nuevas versiones de Debian por las dependencias de los paquetes. ===== Instalación de las dependencias ===== Se seguirá la configuración descrita en el sitio de Rocket.Chat ((https://rocket.chat/docs/installation/manual-installation/debian/)) con algunas pequeñas adaptaciones. Se realizará la instalación ingresando como usuario root. Primero se debe configurar APT para obtener MongoDB de los repositorios oficiales. apt-get -y update && apt-get install -y dirmngr curl && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list Luego configurar Node.js para ser instalado a través del manejador de paquetes: curl -sL https://deb.nodesource.com/setup_12.x | bash - Instalar herramientas de compilación, MongoDB, nodejs y graphicsmagick: apt-get install -y build-essential mongodb-org nodejs graphicsmagick Ahora, usando npm se debe instalar inherits y n, y la versión de node requerida para Rocket.Chat: npm install -g inherits n && n 12.14.0 ===== Instalación de Rocket.Chat ===== Se debe descargar y descomprimir la última versión de Rocket.Chat: curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz tar -xzf /tmp/rocket.chat.tgz -C /tmp Instalar los archivos de Rocket.Chat en /opt: cd /tmp/bundle/programs/server && npm install mv /tmp/bundle /opt/Rocket.Chat Configurar ahora el servicio Rocket.Chat, crear el usuario específico, configurar los permisos sobre la carpeta Rocket.Chat y crear el archivo del servicio Rocket.Chat: useradd -M rocketchat && usermod -L rocketchat chown -R rocketchat:rocketchat /opt/Rocket.Chat cat << EOF | tee -a /lib/systemd/system/rocketchat.service [Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target [Service] ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000 [Install] WantedBy=multi-user.target EOF Si se desea, se puede cambiar el puerto de escucha de Rocket.Chat editando el archivo del servicio y modificando en la línea correspondiente el host y el puerto para acceder a Rocket.Chat, ya que por defecto es localhost y puerto 3000: Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000 Finalmente, configurar el motor de almacenamiento y replicación de MongoDB, y habilitar e iniciar los servicios MongoDB y Rocket.Chat: sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf systemctl enable mongod && systemctl start mongod mongo --eval "printjson(rs.initiate())" systemctl enable rocketchat && systemctl start rocketchat ===== Configurar Rocket.Chat ===== Utilizando un navegador web, ingresar a la URL indicada en la configuración de Rocket.Chat (http://direccion-del-servidor:3000). Se debe seguir los pasos de configuración para crear un usuario administrador, e ingresar los datos de su servidor y organización.