Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »



DIRECTOR - Checklist de instalación Servidor



REVISIONES

Fecha

Versión

Descripción

Autor

 

1.0

Creación del documento

 

1.1Actualización del Documento
CONTENIDO

1. Acerca de este manual

1.1 Propósito y alcance.  

El presente manual tiene por finalidad capacitar a  los usuarios que deseen utilizar la consola de administración del producto Director. Listando los pre-requisitos a  instalar  en el sistema  con sus respectivas  configuraciones  para la inicialización del mismo. Y asi poder tener  la información necesaria, con el nivel suficiente de detalle para que el usuario   y realizar las tareas de administración correspondientes. 



2. Introducción

2.1 ¿Qué es un Checklist de instalación Servidor?

Es la lista de verificación, para controlar  las diversas tareas y/o actividades, la cual tiene como objetivo  garantizar que se cumplan de forma organizada  el proceso de ejecución de las diferentes configuración para la inicialización del sistema.



3. Componentes de instalación

Director requiere  de los  siguientes componentes de instalación:

  • Sistema Operativo

  • NodeJS

  • PM2

  • MongoDB

  • Redis

  • Gitlab


3.1 Sistema Operativo Recomendados

  • Instalación SO

Se recomienda instalar SO ubuntu-20.04.2-live-server-amd64.iso


3.2 Instalación NodeJS

  • Descargar nodeJS

curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -

  • Instalar nodeJS

sudo apt -y install nodejs

  • Verificar que se instaló

node -v


3.3 Instalación PM2

  • Instalar PM2

sudo npm i -g pm2

  • Luego, se instala logrotate para que PM2 vaya eliminando los logs

pm2 install pm2-logrotate

pm2 set pm2-logrotate:max_size 50M

pm2 set pm2-logrotate:retain 10

pm2 set pm2-logrotate:compress true


3.4 Instalación MongoDB

  • Instalar MongoDB

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

  • Instalar los advanced pack tolos

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

  • Actualizar el sistema

sudo apt-get update

  • Instalamos MongoDB

sudo apt install mongodb-org=4.4.1 mongodb-org-server=4.4.1 mongodb-org-shell=4.4.1 mongodb-org-mongos=4.4.1 mongodb-org-tools=4.4.1

  • Iniciamos MongoDB

sudo systemctl start mongod

  • Verificar que se encuentre activo (Debería mostrar la siguiente imagen)

sudo systemctl status mongod

  • Para  detener o reiniciar el servicio MongoDB  se debe realizar lo siguiente:

sudo systemctl stop mongod

sudo systemctl restart mongod

  • Para  modificar el archivo de configuración y dejarlo  en modo ReplicaSet (Solo en caso de ser  requerido por el producto, caso contrario no hacerlo)
    • Crear una llave  para el  caso de necesitarlo a futuro, se debe  poner ese servidor con otros en replica. Es un paso  obligatorio, se debe ejecutar  siempre.

openssl rand -base64 756 > /etc/mongodb.key

    • Luego, se deben dar  los permisos necesarios

chmod 400 /etc/mongodb.key

chown mongodb:mongodb /etc/mongodb.key

    • Se debe realizar  un cambio en el archivo de configuración, ubicado en:  /etc/mongod.conf para habilitar el acceso desde afuera.

La sección net debería quedar así: tal como se muestra en la imagen adjunta,


    • Una vez hecho esto, se debe ingresar en MongoDB con alguna interfaz ya que se debe crear un usuario administrador. Por ejemplo: " 3tStudio"


Lo que se hace es crear un usuario llamado "sa" en la base de datos admin (la principal de mongodb).

El cual se debe  asignar los roles que constan en la imagen.

Una vez hecho esto, se debe  configurar mongodb en modo seguro y con replica set.

Para ello, se  edita nuevamente el archivo de configuracion que se encuentra en /etc/mongod.conf

El tag Security y Replication, deben quedar así: 


Finalmente, debemos configurar la replicación, para eso debemos ingresar a MongoDB, en la base admin, y tipear lo siguiente: 



3.5 Instalación Redis

  • Instalamos Redis

sudo apt install lsb-release curl gpg

  • Agregar el repositorio Redis y actualizar la aplicación

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update

sudo apt-get install redis

  • Instalar Redis como servicio

sudo systemctl enable redis



3.6 Instalación GitLab

  • Descargar GitLab

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

  • Instalar GitLab

apt-get install gitlab-ee

  • Configurar external url (Sirve para poder acceder desde afuera del servidor)
    • Sin certificados

Editar el archivo gitlab.rb ubicado en /etc/gitlab

Modificar el valor external_url con la ip del servidor

  • Con certificados

Crear la carpeta ssl en la raíz de gitlab (/etc/gitlab) y copiar los certificados necesarios

Editar el archivo gitlab.rb ubicado en /etc/gitlab

Modificar el valor external_url con los dns del servidor


Habilitar las opciones nginx como muestra en la imagen y especificar los certificados (previamente agregados en el servidor)

  • Deshabilitar prometheus

Se necesita deshabilitar el prometheus ya que no es necesario monitorear gitlab.

  • Reconfigurar el GitLab

sudo gitlab-ctl reconfigure

  • Primer logueo y cambio de password

Cuando se termina de instala el gitlab se genera una password provisoria que hay que usar para loguearse por primera vez. La misma se encuentra en: /etc/gitlab/

  • Copiar password provisoria

sudo nano /etc/gitlab/initial_root_password

  • Loguearnos y cambiar la password provisoria (en edit profile -> password)

http://ip/dns-servidor:8139

  • Reconfigurar el GitLab

sudo gitlab-ctl reconfigure

  • Primer logueo y cambio de password

Cuando se termina de instala el gitlab se genera una password provisoria que hay que usar para loguearse por primera vez. La misma se encuentra en: /etc/gitlab/

  • Copiar password provisoria

sudo nano /etc/gitlab/initial_root_password

  • Loguearnos y cambiar la password provisoria (en edit profile -> password)

http://ip/dns-servidor:8139


4. Instalación Proyecto Director 2.x

  • Descargar los binarios indicados por el equipo de Producto (Director-Server , Log-server y el ecosystem.config.json)  \\stsfs1\GruposPrivados\Director\Releases

  • Pasar los proyectos descargados al servidor a instalar (Generalmente se descarga en  la carpeta /home/usuarioServidor)

  • Crear estructura aplicación

  • Crear la carpeta /datadrive/director

  • Dentro de /datadrive/director crear las siguiente 4 carpetas

    • actualizadorAgentes

    • directorLogs

    • director-server

    • director-log-server

  • Descomprimir Director-Server.zip dentro de la carpeta director-server
  • Descomprimir director-log-server.zip dentro de la carpeta director-log-server
  • Copiar el archivo ecosystem.config.json en /datadrive
    • Validar el ecosystem.config.json para que tenga la información tal cual se instaló en el servidor.
  • Modificar el mongoUrl del archivo default.json de Director-Server poniendo los datos de la base de datos, por ej:

  • Si la consola se ejecuta con certificados, poner "true" en la propiedad isSsl

Y Crear la carpeta certificates dentro de la raíz del  servidor(/datadrive/director/director-server) e incluir dichos certificados

  • Modificar el archivo posProduct.ejs de la carpeta datadrive/director/director-server/views/pos/, indicar en el socket la url del servidor donde esta instalado. Por ejemplo:
    • Con certificados

 const socket = io.connect("wss://director-tasa.napse.global:4000", {rejectUnauthorized: false, secure: true, transports: ['websocket', 'polling', 'flashsocket']});

    • Sin certificados

const socket = io.connect("ws://192.168.102.1:4000", {rejectUnauthorized: false, secure: true, transports: ['websocket', 'polling', 'flashsocket']});

  • Habilitar el puerto 4000 en el servidor, dicho puerto es para la funcionalidad del webSocket
  • Iniciar el pm2 para que inicie Director Server y Director Server Log
  • cd /datadrive
  • pm2 start ecosystem.config.json (inicia Director Server y Director Server Log)
  • pm2 save (guarda el pm2)
  • pm2 startup (inicia el pm2 cuando se reinicia el servidor)


  • Sem rótulos