Hay muchos buenos recursos para los servicios de Node.js que hacen casi cualquier cosa. Así que en este proyecto me centraré en todo el afeitado de yak que va a hacer que toda la configuración realmente funcione. Cuando todo está funcionando, depende de ti hacer algo útil. Esta guía debería funcionar en la mayoría de los servidores NAS de Synology, desde los más pequeños con un procesador ARM antiguo y 512 MB de RAM como el DS214se, hasta las versiones más grandes con una CPU Intel más reciente y +4 GB de RAM como el DS918+.
El propósito de este proyecto es explicar todos los pasos para que Node.js funcione en su NAS de Synology y mantenerlo funcionando incluso después de reiniciar el servidor.
Tabla de contenidos
Iniciamos sesión en DSM y vamos a Administrador de paquetes.
Instale el paquete «Node.js v8» o el que sea el más reciente en ese momento. (En la versión anterior de DSM puede estar en «Herramientas para desarrolladores«, la última versión sólo tiene una pestaña «Todos los paquetes».) Buscamos «Nodejs» en la barra de búsqueda.
Instale el paquete «MariaDB», cualquier versión estará bien, sólo tenga en cuenta que la versión 5 utiliza el puerto MySQL por defecto (3306) y la versión 10 utiliza el 3307. Por lo tanto, cuando utilice v10, deberá especificar el puerto en todas las conexiones. Buscamos «mariadb» en la barra de búsqueda.
Crear Carpeta Compartida para proyectos
Sigue en DSM. Vaya al Panel de Control, y en la sección de Compartir Archivos seleccione «Carpeta Compartida«.
Cree una nueva carpeta llamada «server«. Puedes llamarlo como quieras (o usar una carpeta existente) pero por el bien de este proyecto asumo que estás usando la carpeta «server«.
Habilitar SSH en nuestro synology
En el panel de control, vaya a «Terminal & SNMP«. Asegúrese de que la opción «Habilitar servicio SSH» esté marcada. Necesitamos acceso SSH más adelante en esta guía, pero puede desactivarlo después de que todo esté hecho. Esto le permitirá iniciar un Secure SHell (línea de comandos) en el servidor.
Recomendamos poner un puerto que no sea el predeterminado «22». podemos utilizar el 8822.
Accedemos a la carpeta compartida desde un Ordenador
Utilizando un Ordenador de sobremesa, abra la carpeta «server» y cree una carpeta llamada «mi_api_rest«.
Instalamos Putty para ejecutar los comandos SSH
Instale Putty o un cliente SSH similar para obtener acceso de consola a su dispositivo NAS.
Escribir el código en JS
Para hacer una aplicación de prueba de conexión, añada un archivo llamado «index.js»
Para editar JS, recomiendo usar Visual Studio Code – https://code.visualstudio.com/
VS Code puede crear archivos directamente desde la línea de comandos – así que si está en la carpeta correcta, ejecutando index.js creará el archivo e iniciará el editor de una sola vez.
const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('Hola Synologia')); app.listen(4069, () => console.log('App de Ejemplo en el puerto 4069'));
Inicie sesión en un shell de comandos en su Synology usando Putty (u otro cliente SSH – si está en un Mac hay uno integrado en la aplicación Terminal) usando su cuenta de administrador.
Cambiar a la carpeta Server/mi_api_rest– lo más probable es que se llame «/volume1/server/mi_api_rest» o algo similar, por lo que el comando sería:
cd /volume1/server/mi_api_rest
Si la instalación de tu Node está completa – deberías poder usar npm para instalar las dependencias. Escriba los comandos:
npm init --yes
para iniciar el proyecto con todos los valores predeterminados.
npm install express --save
para instalar y guardar la dependencia del servidor Express
Iniciar el proyecto Node:
node index.js
Debería ver un mensaje que dice «App de Ejemplo en el puerto 4069!»
En su navegador debería poder acceder a la aplicación a través de la URL:
http://[ip-local-del-Synology]:4069
Nosotros hemos utilizado http://192.168.1.12:4069
(4069 es el puerto que su servidor Express está escuchando).
Iniciar Servidor Node Al Arrancar Y Detener Al Apagar En Synology Desde Ssh
Crear Archivo bash Para Ejecutar el codigo de Arranque
Ahora Vamos a Crear un archivo para que ejecute nuestro servidor Node.js siempre que arranquemos nuestro Synology.
sudo su
cd /usr/local/etc/rc.d/
vim iniciaralarrancar.sh
Escribir dentro del archivo
#!/bin/sh if [[ $1 = "start" ]]; then echo "INICIANDO SERVIDOR NODE" node /volume1/server/mi_api_rest/index.js else if [[ $1 = "stop" ]]; then echo "DETENIENDO SERVIDOR NODE " killall node else echo 'No se ha seleccionado ninguna opcion...'; fi fi
-Presionamos la tecla ESC
-Escribimos :wq (guardar y salir en VIM)
dar permisos al archivo
Ahora damos permiso al archivo bash para que no haya problemas al ejecutar al inicio.
chmod 755 iniciaralarrancar.sh
Para ejecutar y probar el archivo:
Si queremos probar nuestro codigo bash si estamos en la carpeta /usr/local/etc/rc.d/
Para iniciar
./iniciaralarrancar.sh start
Para detener
./iniciaralarrancar.sh stop
Como podemos hacer para usar el puerto 80 por defecto?
Genial manual, gracias.
Debes de Instalar WEbStation, y redirigir los puertos desde el router.
después en webstation configuras el host y ahí instalas tu aplicación NodeJS.