En este tutorial, le mostraremos cómo instalar NodeBB en Debian 9. NodeBB es una plataforma de debate gratuita y de código abierto que utiliza sockets web para interacciones instantáneas y notificaciones en tiempo real. de Node.js, NodeBB es rápido, simple y fácil de usar. Tiene muchas funciones, como la integración de redes sociales y la transmisión de debates.
Requisitos previos
- Acceso a un usuario administrador del sistema con privilegios de raíz, o acceso a la cuenta de usuario raíz
- Debian 9 VPS con al menos 1 GB de memoria
- Node.js versión 8 o superior
- Servidor de base de datos MongoDB versión 2.6 o superior
- Servidor web Apache o Nginx
Paso 1:Iniciar sesión y actualizar el sistema
El primer paso de este tutorial es iniciar sesión en su Debian 9 VPS como usuario raíz (o como administrador del sistema) a través de SSH
ssh root@IP_Address -p Port_number
reemplace 'IP_Address' y 'Port_number' con la dirección IP respectiva y el número de puerto SSH que usa su servidor.
Una vez que haya iniciado sesión, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en su servidor estén actualizados a la última versión disponible:
apt update && apt upgrade
Paso 2:Instalar Node.js
Como mencionamos anteriormente, NodeBB funciona con Node.js, por lo que tendremos que instalar Node.js y npm
administrador de paquetes en nuestro servidor. Para hacerlo, primero debemos instalar el repositorio NodeSource Node.js, ya que no es un repositorio de software preinstalado.
apt install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Una vez que se agrega el repositorio, podemos continuar e instalar Node.js y npm. También necesitaremos las herramientas de desarrollo para crear complementos nativos.
apt install -y nodejs gcc g++ make
Una vez completada la instalación, verifique las versiones instaladas de Node.js y npm.
Para Node.js, ejecute:
node -v v10.15.3
Para verificar la versión de npm, ejecute esto:
node -v 6.4.1
Paso 3:Instale el servidor de base de datos MongoDB
NodeBB usa MongoDB como su servidor de base de datos predeterminado, por lo que el siguiente requisito es instalar el servidor de base de datos MongoDB desde el repositorio oficial de MongoDB. Para comenzar, ejecutaremos el siguiente comando para importar la clave pública de MongoDB. Esto garantiza la coherencia y la autenticidad del paquete.
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Salida:
Executing: /tmp/apt-key-gpghome.GX3VagKFsu/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <[email protected]>" imported gpg: Total number processed: 1 gpg: imported: 1
Agregue el repositorio oficial de MongoDB creando un archivo '/etc/apt/sources.list.d/mongodb-org-4.0.list' usando el siguiente comando:
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Ahora, actualice la base de datos del paquete local e instale MongoDB:
apt update && apt install mongodb-org
Una vez que se haya completado la instalación de MongoDB, inicie el servicio MongoDB y habilítelo para que se inicie al reiniciar:
systemctl start mongod systemctl enable mongod
También puede verificar su estado emitiendo el siguiente comando:
systemctl status mongod
Salida:
mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-04-19 07:39:09 EDT; 16s ago Docs: https://docs.mongodb.org/manual Main PID: 14793 (mongod) CGroup: /system.slice/mongod.service ââ14793 /usr/bin/mongod --config /etc/mongod.conf
Paso 4:Crear una base de datos para NodeBB
Ahora tenemos nuestro servidor MongoDB instalado y en ejecución; por lo tanto, lo siguiente que debemos hacer es crear una base de datos MongoDB y un usuario a través de MongoDB Shell para nuestra instalación de NodeBB. Ejecute los siguientes comandos para acceder al shell y cambiar a la base de datos de administración integrada:
mongo use admin
Luego cree un usuario administrador.
db.createUser( { user: "admin", pwd: "PASSWORD", roles: [ { role: "root", db: "admin" } ] } )
Recuerde reemplazar CONTRASEÑA con una contraseña segura.
Una vez que se crea el usuario administrativo, procedemos a crear una base de datos para NodeBB. Se puede hacer fácilmente usando el comando 'usar'
use nodebb
A continuación, cree un usuario de base de datos nodebb con los privilegios necesarios:
db.createUser( { user: "nodebb", pwd: "NODEBBPASSWORD", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
Y nuevamente, no olvide reemplazar 'NODEBBPASSWORD' con una contraseña real.
Finalmente, salga de MongoDB Shell usando el siguiente comando:
quit()
Modifique la configuración de MongoDB para habilitar la autorización de la base de datos, como se muestra a continuación:
nano /etc/mongod.conf security: authorization: enabled
Reinicie el servidor MongoDB para que los cambios surtan efecto:
systemctl restart mongod
Paso 5:Instalar NodeBB
Ahora que tenemos todos los requisitos instalados y configurados, finalmente podemos descargar e instalar NodeBB en el servidor. Primero, necesitamos crear un directorio para la instalación de NodeBB:
mkdir -p /var/www/html/nodebb
Clona el repositorio de NodeBB de la rama v1.11.x.
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git
Una vez clonado el repositorio, ejecute el script de configuración proporcionado por NodeBB para instalar algunos módulos necesarios:
cd nodebb && ./nodebb setup
Durante la configuración, se le pedirá que responda varias preguntas. Una vez completada la configuración, la instalación de NodeBB estará lista para usar. Puede iniciarlo con el siguiente comando.
./nodebb start
Paso 6:Instalar y configurar Nginx
Para poder acceder a NodeBB con un nombre de dominio en lugar de usar la dirección IP y el número de puerto, debemos instalar el servidor web Nginx y configurar un proxy inverso.
Para instalar el servidor web Nginx, ejecute este comando:
apt install nginx
Una vez completada la instalación, inicie el servidor web y habilítelo para que se inicie automáticamente después de reiniciar el servidor:
systemctl start nginx systemctl enable nginx
Cree una directiva de bloque virtual Nginx para su nombre de dominio. Usaremos mydomain.com como nombre de dominio.
/etc/nginx/sites-available/mydomain.com.conf server { listen 80; server_name mydomain.com; 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; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
Guarde los cambios y habilite la directiva de bloque virtual:
ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
Reinicie el servidor web Nginx para que los cambios surtan efecto.
systemctl restart nginx
Con este paso, la instalación y configuración de NodeBB en su servidor Debian 9 ahora está completa. Puede abrir su navegador web preferido y navegar a http://mydomain.com
para acceder a la instancia de NodeBB.
Por supuesto, no tiene que instalar NodeBB en Debian 9 si utiliza uno de nuestros servicios de alojamiento VPS de Debian, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que instalen el software del foro NodeBB por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si le gustó esta publicación sobre cómo instalar NodeBB en Debian 9, compártala con sus amigos en las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.