En este artículo, le mostraremos cómo instalar NodeBB en un Ubuntu 18.04 VPS .
NodeBB es un software de foro de código abierto que se ejecuta en la plataforma Node.js, que es gratuito y fácil de usar. Es ideal para impulsar cualquier tipo de foros comunitarios, debates o tableros de anuncios. NodeBB utiliza sockets web para interacciones instantáneas y notificaciones en tiempo real.
Requisitos previos:
- Un VPS con Ubuntu 18.04
- Node.js
- Base de datos:usaremos MongoDB en este tutorial
- Servidor web Nginx
- Acceso SSH con privilegios de root
Paso 1:Conéctese a su servidor
Para conectarse a su servidor a través de SSH como usuario raíz, use el siguiente comando:
ssh root@IP_ADDRESS -p PORT_NUMBER
y reemplace "IP_ADDRESS" y "PORT_NUMBER" con la dirección IP de su servidor real y el número de puerto SSH.
Una vez que haya iniciado sesión, asegúrese de que su servidor esté actualizado ejecutando los siguientes comandos:
$ apt-get update $ apt-get upgrade
Paso 2:Instalar Node.js
En los sistemas Ubuntu, puede instalar Node.js desde el repositorio de NodeSource:
$ apt-get update $ apt-get install curl git gcc g++ make
Después de eso, instala el repositorio de Node.js con el siguiente comando
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Después de eso, ejecute los siguientes comandos para instalar Node.js:
$ apt-get install nodejs
Eso debería instalar la versión 10 de Node.js junto con 'npm'. Puede verificar versiones usando:
$ node -v v10.15.3 $ npm -v 6.4.1
Paso 3:Instalar MongoDB
MongoDB es la base de datos predeterminada para NodeBB. Inicie la instalación importando la clave pública utilizada por el sistema de gestión de paquetes.
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Agregue el repositorio de MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
Actualice el índice del paquete apt e instale el servidor MongoDB:
$ apt-get update $ apt-get install -y mongodb-org
Inicie el servicio MongoDB:
$ systemctl start mongod.service $ systemctl enable mongod.service
Verifique la instalación de MongoDB. Debe tener al menos la versión 4.0:
$ mongod --version db version v4.0.6 git version: caa42a1f75a56c7643d0b68d3880444375ec42e3 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
Paso 4:Configurar MongoDB
Inicie sesión en MongoDB ejecutando los siguientes comandos:
$ mongo
Luego cambie la base de datos a 'admin' y cree un nuevo usuario administrador...
use admin
Cree un nuevo usuario administrador llamado 'admin' con una nueva contraseña...
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
No olvide reemplazar 'admin_password' con una contraseña segura.
A continuación, cree una nueva base de datos llamada nodebb
use nodebb
Luego cree un nuevo usuario de NodeBB llamado 'nodebbuser' con derechos para administrar la base de datos…
db.createUser( { user: "nodebbuser", pwd: "strong_password", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
Una vez más, no olvide reemplazar 'strong_password' con una contraseña real y compleja.
Después de eso, salga del shell de MongoDB.
quit()
Después de eso, ejecute los siguientes comandos para abrir el archivo de configuración de MongoDB...
$ nano /etc/mongod.conf
cambie la línea resaltada a habilitada.
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled #operationProfiling: #replication: #sharding:
cuando haya terminado, guarde los cambios.
Paso 5:Instalar Nginx
NodeBB puede funcionar bien con muchos servidores web. En este tutorial, lo configuraremos para que funcione con Nginx, uno de los servidores web más personalizables que existen.
Para instalar Nginx en su servidor Ubuntu 18.04, debe ejecutar el siguiente comando:
$ apt-get install nginx
Una vez completada la instalación, inicie Nginx y habilítelo para que se inicie automáticamente después de reiniciar con estos dos comandos:
$ systemctl start nginx.service $ systemctl enable nginx.service
Paso 6:Instalar NodeBB
Vaya al directorio recién creado ejecutando:
$ cd /var/www
Clone NodeBB en este directorio ejecutando este comando:
$ git clone -b v1.12.0 https://github.com/NodeBB/NodeBB.git nodebb
Crear un nuevo nodebb
usuario:
$ useradd nodebb
Ahora aplique los permisos recomendados de archivos y carpetas de /var/www/nodebb
directorio al nodebb
usuario:
sudo chown -R nodebb:nodebb /var/www/nodebb
Ingrese al directorio nodeBB con
$ cd nodebb
Inicie la instalación usando el siguiente comando:
$ ./nodebb setup
Contesta cada una de las preguntas. Esto instalará módulos desde npm y luego ingresará a la utilidad de configuración.
Ahora inicia NodeBB con este comando:
$ ./nodebb start Starting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
Paso 7:Cree un archivo de unidad systemd
Este paso nos permitirá ejecutar NodeBB como un servicio dentro de systemd. Esto nos permite que se inicie en el arranque, así como que se ejecute independientemente de nuestra sesión de terminal.
Si ya se está ejecutando, detenga NodeBB:
$ ./nodebb stop
En el próximo paso, crearemos un archivo de unidad de servicio para que podamos ejecutar NodeBB como un servicio.
Abre tu editor de texto (usaremos nano):
$ nano /etc/systemd/system/nodebb.service
y pegue la configuración a continuación:
[Unit] Description=NodeBB Documentation=https://docs.nodebb.org After=system.slice multi-user.goal mongod.service [Service] Kind=forking Person=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb Setting=NODE_ENV=manufacturing WorkingDirectory=/var/www/nodebb PIDFile=/var/www/nodebb/pidfile ExecStart=/usr/bin/env node loader.js Restart=at all times [Install] WantedBy=multi-user.goal
Guardar y salir del archivo. Ahora necesita recargar el daemon para que el sistema pueda tomar la nueva unidad que creamos para systemd.
$ systemctl daemon-reload
Finalmente, podemos iniciar la instancia de NodeBB con el comando:
$ systemctl start nodebb
Para verificar el estado del servicio NodeBB, puede ejecutar el siguiente comando:
$ systemctl status nodebb
Paso 8:Configurar Nginx
NodeBB se ejecuta de forma predeterminada en el puerto 4567. Configuraremos Nginx para que le envíe solicitudes de proxy.
Cree un archivo de configuración de Nginx:
$ nano /etc/nginx/conf.d/nodebb.conf
Luego agrega el siguiente contenido:
server { listen 80; server_name forum.your_domain.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"; } }
Ahora, verifique el archivo de configuración para asegurarse de que no haya errores de sintaxis. Cualquier error podría bloquear el servidor web al reiniciar.
$ nginx -t
Salida:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Si no hay errores, puede volver a cargar la configuración de Nginx.
$ systemctl reload nginx
Paso 9:acceda a la interfaz web de NodeBB
En este punto, debería haber instalado correctamente NodeBB en su servidor Ubuntu 18.04. Debería poder acceder a http://forum.your_domain.com
e interactuar con su foro.
Para acceder al administrador panel, use http://forum.your_domain.com/admin
en su lugar, utilice las credenciales que configuró anteriormente.
Si siguió los pasos correctamente, debería tener una copia exitosa de NodeBB ejecutándose en su servidor.
Por supuesto, no tienes que i nstall NodeBB en Ubuntu 18.04 si tiene un VPS de Ubuntu con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale NodeBB en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar NodeBB en Ubuntu 18.04, o si la encontró útil, siéntase libre de compartirla en las redes sociales usando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.