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