NG Sockets

Descripción

Este manual indica como hacer la instalación del backend de OrfeoNG v1.0 partiendo de los fuentes en un Debian 12 o Ubuntu 22.04 o Windows XAMP.

Prerequistos

Arrancamos con un Linux preferible Kuine-LAMP v6 o Kuine-LAMaP v6 actualizado  o con un Windows usando XAMP configurado según esta guia.

Configuración

0. Instale NODE  Linux / Kuine

La documentacion para instalar nodejs en GNU / Linux

https://github.com/nodesource/distributions/blob/master/README.md

Por ejemplo para instalar la version 18 en Debian 11

$> sudo su - 
$> apt-get install nodejs npm

Si la version no es la 18+ (ejm Ubuntu 22) y toca a mano .. pues viene asi

$> sudo su - 
$> curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
$> sudo apt-get install -y nodejs

https://github.com/nodesource/distributions/blob/master/README.md

0. Instale NODE  Windows

Descargue e instale Node de https://nodejs.org/en/download  (le dije que si que instalara todos los addons)

0.1 Instale Angular

Y ahora si … monte el angular cli

$> sudo su -  (Linux)
$> sudo npm install -g @angular/cli
$> sudo ng version
     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 15.1.0
Node: 18.12.1
Package Manager: npm 9.2.0
OS: linux x64

Angular: undefined
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1501.0 (cli-only)
@angular-devkit/core         15.1.0 (cli-only)
@angular-devkit/schematics   15.1.0 (cli-only)
@schematics/angular          15.1.0 (cli-only)

 

1. Descargue el sockets del repositorio

$> git clone https://aruba.skinatech.com/Orfeo-NG/ng_sockets.git

y en el directorio creado corra

$> npm install

para instalar todas las dependencias y tengo 0 obsoletos

2. Active el Servicio – probando

2.1 Instalación

Pruebe el servicio de angular para que todo este bien

$> npm run dev

En windows XAMP el firewall va a preguntar si se permite el acceso al puerto 3005 que abren los sockets

En Linux puede mandarlo a background para liberar la consola

$> npm start &> /dev/null &                                                 

Pruebe que el puerto esta abierto

$> telnet localhost 3005

En los linux es importante verificar que este puerto también esta disponible desde los clientes (o sea desde afuera)

$> firewall-cmd  --zone=external --permanent --add-port=3005/tcp         
$> firewall-cmd  --reload                                                            

2.2 Agregue un servicio al arranque en Linux / Kuine

Los pasos a seguir del proceso anterior:

   $> sudo su                                                                      
   $> vim /etc/systemd/system/ng_sockets.service                                                                      

Agrege el siguiente texto

[Unit]
Description=OrfeoNG Sockets
Documentation=http://www.orfeolibre.org
After=network.target remote-fs.target nss-lookup.target 

[Service]
Type=simple
User=admin
Group=nogroup
WorkingDirectory=/var/www/html/ng_sockets
ExecStart=/usr/bin/npm start
Restart=on-abort
StartLimitInterval=60
StartLimitBurst=10

[Install]
WantedBy=multi-user.target

Incluirlo en la secuencia de arranque

$> sudo systemctl daemon-reload                                                             
$> sudo systemctl enable ng_sockets.service                                                                      
$> sudo systemctl start ng_sockets.service                                                                      

Verifique que esta corriendo con

$> sudo systemctl status ng_sockets.service

2.2 Agregue un servicio al arranque en Windows

 

2.1. Provea el tunel de SSL en  Linux / Kuine

Como estamos usando Node como servidor de aplicaciones, usamos stunnel para proveer el ciframiento.

Siga este howto Stunnel –>

2.1. Provea el tunel de SSL en  Windows

Trucos

1. Evite que se caiga con Monit en Linux /Kuine

Para evitar que el servico muera y se quede asi usamos monit

En /etc/monit/conf-available/ng_sockets

set daemon 60
 
check host ng_sockets with address 127.0.0.1
    start program = "/usr/bin/systemctl start ng_sockets.service"
    stop program = "/usr/bin/systemctl stop ng_sockets.service"
    if failed port 3005 then restart
    if 5 restarts within 5 cycles then timeout

2. Sacar los sockets por apache

A veces es incomodo exponer el puerto 3005 y no hay mucha seguridad involucrada con node ..entonces puedo sacarlo por un subdirectorio de apache

habilite los modulos de proxy: proxy.conf , proxy_http.load ,  proxy.load

Agregue a apache la redireccion / proxy inverso

<IfModule mod_proxy.c>
      ProxyPreserveHost On
      ProxyPass "/socket" "http://localhost:3005/"
      ProxyPassReverse "/socket" "http://localhost:3005/"
</IfModule>

Problemas

Referencias

FIN