NodeBB instalación · 9 min read · Sep 10, 2025

Cómo instalar NodeBB con Nginx Proxy en un servidor Ubuntu 24.04

NodeBB es un software de foro de código abierto basado en Node.js que proporciona una solución moderna y receptiva para comunidades en línea. Ejecutándose en Ubuntu Linux, NodeBB aprovecha la robustez y flexibilidad del sistema operativo para ofrecer un alto rendimiento y escalabilidad. Utiliza una combinación de MongoDB o Redis para la gestión de bases de datos, lo que le permite manejar grandes volúmenes de contenido generado por los usuarios de manera eficiente. NodeBB es conocido por sus notificaciones en tiempo real, integración fluida con varias plataformas de redes sociales y un extenso ecosistema de complementos, lo que permite a los administradores personalizar sus foros para satisfacer necesidades específicas. Además, su diseño móvil primero garantiza una experiencia de usuario consistente y atractiva en todos los dispositivos. La estabilidad y las características de seguridad de Ubuntu complementan a NodeBB, lo que lo convierte en una opción ideal para alojar y gestionar comunidades en línea dinámicas.

En esta guía, aprenderás cómo instalar NodeBB en el servidor Ubuntu 24.04 con la base de datos MongoDB y el servidor web Nginx. También aprenderás cómo asegurar NodeBB con HTTPS a través de Certbot y Letsencrypt.

Requisitos previos

Para comenzar con esta guía, asegúrate de tener:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalando el servidor MongoDB

NodeBB está escrito con Node.js y utiliza MongoDB como base de datos. Para instalar NodeBB, debes instalar el servidor MongoDB en tu sistema. En esta sección, instalarás el servidor MongoDB 7 en el servidor Ubuntu 24.04.

Primero, ejecuta el siguiente comando para instalar los paquetes gnupg y curl en tu sistema Ubuntu.

sudo apt install gnupg curl

install curl

Ahora agrega la clave GPG y el repositorio para MongoDB usando el siguiente comando. En este momento, MongoDB 7.0 solo está disponible hasta Ubuntu 22.04, así que usaremos esto en nuestro servidor Ubuntu 24.04.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg  
–dearmor
echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

add mongodb repo

A continuación, ejecuta el siguiente comando apt para actualizar el índice de paquetes de Ubuntu e instalar el paquete mongodb-org. Ingresa Y para confirmar la instalación.

sudo apt update  
sudo apt install mongodb-org

install mongodb

Después de que la instalación esté completa, ejecuta el comando systemctl a continuación para recargar el administrador systemd. Esto se debe a que se ha agregado el nuevo archivo de servicio mongod a tu sistema.

sudo systemctl daemon-reload

Ahora ejecuta el comando systemctl a continuación para iniciar y habilitar el servicio MongoDB mongod. Luego, verifica su estado para asegurarte de que el servicio mongod esté en funcionamiento.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Como puedes ver a continuación, el servicio mongod está habilitado y en funcionamiento.

check mongod service

Configurando el servidor y la base de datos MongoDB para NodeBB

Después de haber instalado el servidor MongoDB, habilitarás la autenticación en MongoDB, crearás un usuario administrador y luego crearás un nuevo usuario y base de datos para la instalación de NodeBB.

Inicia sesión en la shell de MongoDB con el comando del cliente mongosh a continuación.

mongosh

En la shell de mongosh, cambia a la base de datos admin y crea un nuevo usuario administrador para MongoDB. En este ejemplo, crearás un usuario de MongoDB admin con la contraseña MongoDBAdminPass. Asegúrate de cambiar los detalles del usuario con tu información.

use admin  
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )

Después de eso, cambia y crea la base de datos nodebb, y luego crea un nuevo usuario nodebb con la contraseña NodeBBPassword. La base de datos y el usuario nodebb se utilizarán para la instalación de NodeBB.

use nodebb  
db.createUser( { user: “nodebb”, pwd: “NodeBBPassword”, roles: [ { role: “readWrite”, db: “nodebb” }, { role: “clusterMonitor”, db: “admin” } ] } )

Ahora escribe quit() para salir de la shell de mongosh.

quit()

create mongodb user and database

A continuación, abre la configuración predeterminada de MongoDB /etc/mongod.conf con el siguiente editor nano.

sudo nano /etc/mongod.conf

Descomenta la opción security y cambia la authorization a enabled. Esto habilitará la autenticación en tu servidor MongoDB.

security:  
  authorization: enabled

Cuando termines, guarda el archivo y sal del editor.

Ahora ejecuta el comando systemctl a continuación para reiniciar el servicio mongod y aplicar tus cambios. Después de que el servicio mongod se reinicie, la autenticación de MongoDB estará habilitada.

sudo systemctl restart mongod

Ejecuta el comando mongosh a continuación para conectarte como usuario nodebb a la base de datos nodebb. Ingresa tu contraseña cuando se te solicite.

mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebb

Ahora ejecuta las siguientes consultas para verificar tu conexión al servidor MongoDB.

db.runCommand( { connectionStatus: 1, showPrivileges: false } )

A continuación, has autenticado como un usuario nodebb a la base de datos nodebb.

Escribe quit() para salir de la shell de MongoDB.

check users

Instalando NodeBB

Ahora que has configurado el servidor MongoDB, instalarás Node.js a través del repositorio oficial de Ubuntu, y luego descargarás e instalarás NodeBB en tu sistema Ubuntu.

Antes de instalar NodeBB, ejecuta el siguiente comando apt para instalar el paquete Node.js y NPM en tu sistema Ubuntu. Ingresa Y para confirmar la instalación.

sudo apt install nodejs npm

install nodejs

Después de la instalación, verifica las versiones de Node.js y NPM con lo siguiente - Puedes ver que Node.js 18 y NPM 9 están instalados.

node --version  
npm --version

Ahora ejecuta el siguiente comando para crear un nuevo usuario y grupo del sistema nodebb. Este usuario se utilizará para ejecutar la instalación de NodeBB.

sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebb

Ejecuta el comando git a continuación para descargar el código fuente de NodeBB en el directorio /opt/nodebb, y luego cambia la propiedad a el usuario nodebb.

git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb  
sudo chown -R nodebb:nodebb /opt/nodebb

add user and download nodebb

Ve al directorio /opt/nodebb y ejecuta el comando de configuración de nodebb para comenzar la instalación de NodeBB.

cd /opt/nodebb  
sudo su -s /bin/bash -c “./nodebb setup” nodebb

Se te preguntará sobre las siguientes configuraciones de NodeBB:

  • Ingresa tu nombre de dominio para NodeBB, como forum.howtoforge.local.
  • Presiona ENTER en la configuración secreta de NodeBB. Déjalo como predeterminado.
  • Ingresa no para deshabilitar el acceso anónimo a NodeBB.
  • Selecciona MongoDB como la base de datos.
  • Ingresa los detalles de tu base de datos MongoDB en el formato como mongodb://nodebb:[email protected]:27017/nodebb.
  • Ingresa el nuevo usuario administrador y la dirección de correo electrónico para NodeBB.
  • Ingresa la contraseña para tu usuario administrador de NodeBB y repítela.

Después de que la instalación esté completa, verás una salida NodeBB Setup Completed.

setup complete

Para ejecutar NodeBB desde la línea de comandos, ejecuta el siguiente comando de inicio de nodebb:

sudo su -s /bin/bash -c "./nodebb start" nodebb

Para detener el proceso de NodeBB, utiliza el comando de detener nodebb a continuación.

sudo su -s /bin/bash -c "./nodebb stop" nodebb

start and stop nodebb

Ejecutando NodeBB como un servicio systemd

En esta guía, ejecutarás NodeBB en segundo plano como un servicio systemd. Así que ahora crearás un nuevo archivo de servicio para NodeBB, lo que facilita la gestión del servicio NodeBB a través de la utilidad systemctl.

Crea un nuevo archivo de servicio systemd /etc/systemd/system/nodebb.service con el siguiente editor nano.

sudo nano /etc/systemd/system/nodebb.service

Pega el siguiente archivo de servicio para NodeBB. En este ejemplo, ejecutarás el servicio nodebb como un usuario nodebb.

[Unit]  
Description=NodeBB  
Documentation=https://docs.nodebb.org  
After=system.slice multi-user.target mongod.service  
  
[Service]  
Type=simple  
User=nodebb  
  
StandardError=syslog  
SyslogIdentifier=nodebb  
  
Environment=NODE_ENV=production  
WorkingDirectory=/opt/nodebb  
ExecStart=/usr/bin/env node loader.js --no-silent --no-daemon  
Restart=always  
  
[Install]  
WantedBy=multi-user.target

Guarda el archivo y sal del editor cuando termines.

Ahora ejecuta el comando systemctl a continuación para recargar el administrador systemd y aplicar tus cambios.

sudo systemctl daemon-reload

Después de eso, inicia, habilita y verifica el servicio nodebb con el siguiente comando.

sudo systemctl enable --now nodebb  
sudo systemctl status nodebb

Puedes ver a continuación que el servicio nodebb se está ejecutando en segundo plano como un servicio systemd.

nodebb service

Configurando Nginx como un proxy inverso

En este tutorial, utilizarás el servidor web Nginx como un proxy inverso para NodeBB. Así que ahora instalarás Nginx y crearás un nuevo bloque de servidor para el proxy inverso. Asegúrate de que tu nombre de dominio apunte a la dirección IP del servidor.

Instala el servidor web Nginx en tu sistema con el siguiente comando apt install.

sudo apt install nginx -y

install nginx

Una vez que la instalación esté completa, crea una nueva configuración de bloque de servidor /etc/nginx/sites-available/nodebb con el editor nano.

sudo nano /etc/nginx/sites-available/nodebb

Inserta la siguiente configuración y asegúrate de cambiar forum.howtoforge.local por tu nombre de dominio. Con esto, configurarás un proxy inverso para NodeBB que se ejecuta en segundo plano en el puerto 4567.

server {  
 listen 80;  
  
 server_name forum.howtoforge.local;  
  
 location / {  
 proxy_set_header X-Real-IP $remote_addr;  
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
 proxy_set_header X-Forwarded-Proto $scheme;  
 proxy_set_header Host $http_host;  
 proxy_set_header X-NginX-Proxy true;  
  
 proxy_pass http://127.0.0.1:4567;  
 proxy_redirect off;  
  
 # Soporte para Socket.IO  
 proxy_http_version 1.1;  
 proxy_set_header Upgrade $http_upgrade;  
 proxy_set_header Connection "upgrade";  
 }  
}

Guarda el archivo y sal del editor.

Ahora ejecuta el comando a continuación para activar el archivo de bloque de servidor nodebb y verificar tu configuración de Nginx. Si estás correcto y tienes una configuración de Nginx adecuada, verás una salida syntax is ok - test is successful.

sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/  
sudo nginx -t

setup nginx

Por último, ejecuta el comando systemctl a continuación para reiniciar el servicio Nginx y aplicar tus cambios. Luego, verifica el estado del servicio Nginx para asegurarte de que esté en funcionamiento.

sudo systemctl restart nginx  
sudo systemctl status nginx

Como puedes ver en la salida a continuación, el servicio Nginx está en funcionamiento.

check nginx

Asegurando NodeBB con HTTPS

En esta sección, asegurarás NodeBB con HTTPS a través de Certbot y Letsencrypt. Combinado con Certbot y Nginx, puedes configurar HTTPS automático en tu servidor web.

Instala los paquetes certbot y python3-certbot-nginx con el siguiente comando:

sudo apt install certbot python3-certbot-nginx -y

Ahora ejecuta el comando certbot a continuación para generar certificados SSL y asegurar tu instalación de NodeBB con HTTPS. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.local

Después de que el proceso esté completo, verás tus certificados en el directorio /etc/letsencrypt/live/domain.com. Y tu instalación de NodeBB estará asegurada con HTTPS automáticamente.

Accediendo a NodeBB

Abre tu nombre de dominio de NodeBB como https://forum.howtoforge.local usando tu navegador web. Si la instalación fue exitosa, verás la página de inicio predeterminada de NodeBB como la siguiente:

homepage

Haz clic en el enlace Login y se te presentará la página de inicio de sesión de NodeBB. Luego, ingresa tu usuario administrador y contraseña, y haz clic en Login para confirmar. Si tienes las credenciales correctas, verás el siguiente panel de administración.

login

En la configuración de administración de NodeBB, verás lo siguiente:

admin settings

Conclusión

¡Felicidades! Has instalado el software de foro de código abierto NodeBB en un servidor Ubuntu 24.04. Tienes NodeBB en funcionamiento con MongoDB como base de datos y Nginx como proxy inverso. También has asegurado NodeBB con HTTPS a través de Certbot y Letsencrypt. Ahora puedes agregar un servidor SMTP para configurar el registro y la confirmación a través de un enlace de correo electrónico.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.