Ir al contenido principal

SUSE

En esta guía, desplegarás MyEMS en SUSE Linux Enterprise Server.

Requisitos previos

Esta guía describe cómo instalar MyEMS en SUSE Linux Enterprise Server 15. Los requisitos de hardware dependen de la base de datos elegida y la cantidad de dispositivos conectados al sistema. Para ejecutar MyEMS y MySQL en una sola máquina, necesitarás al menos 4 GB de RAM.

Clona el código fuente:

cd ~
git clone https://github.com/myems/myems

Paso 1 Base de datos

Consulta Base de datos

Paso 2 myems-api

  • Instala el servicio myems-api:
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt

Crea el archivo .env basándote en example.env y edita el archivo .env si es necesario:

sudo cp /myems-api/example.env /myems-api/.env
sudo vi /myems-api/.env

Agrega el puerto al cortafuegos:

sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload

Configura los archivos de configuración de systemd:

sudo cp /myems-api/myems-api.service /lib/systemd/system/
sudo cp /myems-api/myems-api.socket /lib/systemd/system/
sudo cp /myems-api/myems-api.conf /usr/lib/tmpfiles.d/

A continuación, habilita los servicios para que se inicien automáticamente al arrancar el sistema:

sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service

Inicia los servicios:

sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service

Paso 3 myems-admin

  • Instala el servidor NGINX

Consulta http://nginx.org/en/linux_packages.html#Debian

Habilita el servicio nginx:

sudo systemctl start nginx.service
  • Configura NGINX
sudo vi /etc/nginx/nginx.conf

En la sección 'http', agrega algunas directivas:

http{
client_header_timeout 600;
client_max_body_size 512M;
gzip on;
gzip_min_length 512;
gzip_proxied any;
gzip_types *;
gzip_vary on;
proxy_buffering off;
...

}

Agrega un nuevo archivo en /etc/nginx/conf.d/

sudo vi /etc/nginx/conf.d/myems-admin.conf

Escribe las directivas que se muestran a continuación; reemplaza la URL por defecto de myems-api http://127.0.0.1:8000/ por la URL real si el servicio myems-api se aloja en un servidor diferente

server {
listen 8001;
server_name myems-admin;
location / {
root /var/www/myems-admin;
index index.html index.htm;
}
## Para evitar problemas de CORS, usa Nginx para proxyear myems-api al path /api
## Agrega otra ubicación /api en 'server'
## Reemplaza la URL por defecto de myems-api http://127.0.0.1:8000/ por la URL real si el servicio myems-api se aloja en un servidor diferente
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
  • Instala myems-admin: Si el servidor no puede conectarse a internet, comprime la carpeta myems/myems-admin y súbela al servidor, luego extráela en ~/myems/myems-admin
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin  /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin

Verifica el archivo de configuración y modifícalo si es necesario:

sudo vi /var/www/myems-admin/config.js
Nota

La carpeta /var/www/myems-admin/upload es para archivos subidos por el usuario. NO elimines/muevas/sobrescribas la carpeta 'upload' cuando actualices myems-admin.

Agrega el puerto al cortafuegos:

sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
sudo firewall-cmd --reload

Paso 4 myems-modbus-tcp

En este paso, instalarás el servicio myems-modbus-tcp.

sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt

Copia el archivo example.env a .env y modifica el archivo .env:

sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo vi /myems-modbus-tcp/.env

Configura el servicio systemd:

sudo cp myems-modbus-tcp.service /lib/systemd/system/

Habilita el servicio:

sudo systemctl enable myems-modbus-tcp.service

Inicia el servicio:

sudo systemctl start myems-modbus-tcp.service

Supervisa el servicio:

sudo systemctl status myems-modbus-tcp.service

Visualiza el registro:

cat /myems-modbus-tcp.log

Paso 5 myems-cleaning

En este paso, instalarás el servicio myems-cleaning.

sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt

Copia el archivo example.env a .env y modifica el archivo .env:

sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo vi /myems-cleaning/.env

Configura el servicio systemd:

sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/

Habilita el servicio:

sudo systemctl enable myems-cleaning.service

Inicia el servicio:

sudo systemctl start myems-cleaning.service

Supervisa el servicio:

sudo systemctl status myems-cleaning.service

Visualiza el registro:

cat /myems-cleaning.log

Paso 6 myems-normalization

En este paso, instalarás el servicio myems-normalization.

sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt

Copia el archivo example.env a .env y modifica el archivo .env:

sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo vi /myems-normalization/.env

Configura el servicio systemd:

sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/

Habilita el servicio:

sudo systemctl enable myems-normalization.service

Inicia el servicio:

sudo systemctl start myems-normalization.service

Supervisa el servicio:

sudo systemctl status myems-normalization.service

Visualiza el registro:

cat /myems-normalization.log

Paso 7 myems-aggregation

En este paso, instalarás el servicio myems-aggregation.

sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
sudo pip install -r requirements.txt

Copia el archivo example.env a .env y modifica el archivo .env:

sudo cp /myems-aggregation/example.env /myems-aggregation/.env
sudo vi /myems-aggregation/.env

Configura el servicio systemd:

sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/

Habilita el servicio:

sudo systemctl enable myems-aggregation.service

Inicia el servicio:

sudo systemctl start myems-aggregation.service

Supervisa el servicio:

sudo systemctl status myems-aggregation.service

Visualiza el registro:

cat /myems-aggregation.log

Paso 8 myems-web

En este paso, instalarás el servicio de interfaz de usuario myems-web.

Elimina los archivos por defecto

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/conf.d/default.conf

Agrega un nuevo archivo en /etc/nginx/conf.d/

sudo nano /etc/nginx/conf.d/myems-web.conf

Agrega una nueva sección 'server' con las directivas que se muestran a continuación:

server {
listen 80;
server_name myems-web;
location / {
root /var/www/myems-web;
index index.html index.htm;
# agrega la directiva try_files para evitar errores 404 al actualizar las páginas
try_files $uri /index.html;
}
## Para evitar problemas de CORS, usa Nginx para proxyear myems-api al path /api
## Agrega otra ubicación /api en 'server' y reemplaza la dirección de demostración http://127.0.0.1:8000/ por la URL real
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}

Reinicia NGINX

sudo systemctl restart nginx
  • Instala la interfaz de usuario web de MyEMS:

Configura NodeJS:

sudo zypper install -y nodejs
  • Modifica el archivo config.js:
Nota

Obtén el mapboxToken en https://mapbox.com y luego establece showOnlineMap en true. Si quieres desactivar la función de mapa en línea, establece showOnlineMap en false

cd myems/myems-web
sudo vi src/config.js

Compila y comprime

sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build

Instala Sube los archivos a tu servidor web. Ten en cuenta que la siguiente ruta debe ser la misma que la configurada en nginx.conf.

sudo mv build  /var/www/myems-web

Agrega el puerto al cortafuegos:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

Postinstalación

¡Felicidades! Ahora puedes iniciar sesión en la interfaz de usuario de administración de MyEMS y la interfaz de usuario web.

Puertos por defecto

Interfaz de usuario web de MyEMS: 80

API de MyEMS: 8000

Interfaz de usuario de administración de MyEMS: 8001

Suponiendo que la dirección del servidor es 192.168.1.8 (reemplázala por la dirección real del servidor) Accede a la interfaz de usuario web de MyEMS en http://192.168.1.8 (se puede omitir el puerto 80) Accede a la interfaz de usuario de administración de MyEMS en http://192.168.1.8:8001

Contraseñas por defecto

Interfaz de usuario de administración de MyEMS

Nombre de usuario:

administrator

Contraseña:

!MyEMS1

Interfaz de usuario web de MyEMS

Nombre de usuario:

administrator@myems.io

Contraseña:

!MyEMS1