jueves, 13 de mayo de 2021

Cómo instalar Elasticsearch, Logstash y Kibana (Elastic Stack) en Debian GNU/Linux 10 (primera parte)

¿Qué es Elasticsearch?


Elasticsearch es un motor de analítica y análisis distribuido, gratuito y abierto para todos los tipos de datos, incluidos textuales, numéricos, geoespaciales, estructurados y no estructurados. Elasticsearch está desarrollado a partir de Apache Lucene y fue presentado por primera vez en 2010 por Elasticsearch N.V. (ahora conocido como Elastic). Conocido por sus API REST simples, naturaleza distribuida, velocidad y escalabilidad, Elasticsearch es el componente principal del Elastic Stack, un conjunto de herramientas gratuitas y abiertas para la ingesta, el enriquecimiento, el almacenamiento, el análisis y la visualización de datos. Comúnmente denominado el ELK Stack (por Elasticsearch, Logstash y Kibana), el Elastic Stack ahora incluye una gran colección de agentes ligeros conocidos como Beats para enviar los datos a Elasticsearch.


¿Para qué se usa Elasticsearch?


La velocidad y escalabilidad de Elasticsearch y su capacidad de indexar muchos tipos de contenido significan que puede usarse para una variedad de casos de uso:
  • Búsqueda de aplicaciones
  • Búsqueda de sitio web
  • Búsqueda Empresarial
  • Logging y analíticas de log
  • Métricas de infraestructura y monitoreo de contenedores
  • Monitoreo de rendimiento de aplicaciones
  • Análisis y visualización de datos geoespaciales
  • Analítica de Seguridad
  • Analítica de Negocios

¿Cómo funciona Elasticsearch?
Los datos sin procesar fluyen hacia Elasticsearch desde una variedad de fuentes, incluidos logs, métricas de sistema y aplicaciones web. La ingesta de datos es el proceso mediante el cual estos datos son parseados, normalizados y enriquecidos antes de su indexación en Elasticsearch. Una vez indexados en Elasticsearch, los usuarios pueden ejecutar consultas complejas sobre sus datos y usar agregaciones para recuperar resúmenes complejos de sus datos. Desde Kibana, los usuarios crean visualizaciones poderosas de sus datos, comparten dashboards y gestionan el Elastic Stack.

¿Qué es un índice de Elasticsearch?

Un índice de Elasticsearch es una colección de documentos relacionados entre sí. Elasticsearch almacena datos como documentos JSON. Cada documento correlaciona un conjunto de claves (nombres de campos o propiedades) con sus valores correspondientes (textos, números, Booleanos, fechas, variedades de valores, geolocalizaciones u otros tipos de datos).


Elasticsearch usar una estructura de datos llamada índice invertido, que está diseñado para permitir búsquedas de texto completo muy rápidas. Un índice invertido hace una lista de cada palabra única que aparece en cualquier documento e identifica todos los documentos en que ocurre cada palabra.

Durante el proceso de indexación, Elasticsearch almacena documentos y construye un índice invertido para poder buscar datos en el documento casi en tiempo real. La indexación comienza con la API de índice, a través de la cual puedes agregar o actualizar un documento JSON en un índice específico.
¿Para qué se usa Logstash?
Logstash, uno de los productos principales del Elastic Stack, se usa para agregar y procesar datos y enviarlos a Elasticsearch. Logstash es una pipeline de procesamiento de datos open source y del lado del servidor que te permite ingestar datos de múltiples fuentes simultáneamente y enriquecerlos y transformarlos antes de que se indexen en Elasticsearch.

¿Para qué se usa Kibana?


Kibana es una herramienta de visualización y gestión de datos para Elasticsearch que brinda histogramas en tiempo real, gráficos circulares y mapas. Kibana también incluye aplicaciones avanzadas, como Canvas, que permite a los usuarios crear infografías dinámicas personalizadas con base en sus datos, y Elastic Maps para visualizar los datos geoespaciales.


¿Por qué usar Elasticsearch?


Elasticsearch es rápido. Como Elasticsearch está desarrollado sobre Lucene, es excelente en la búsqueda de texto completo. Elasticsearch también es una plataforma de búsqueda en casi tiempo real, lo que implica que la latencia entre el momento en que se indexa un documento hasta el momento en que se puede buscar en él es muy breve: típicamente, un segundo. Como resultado, Elasticsearch está bien preparado para casos de uso con restricciones de tiempo como analítica de seguridad y monitoreo de infraestructura.

Elasticsearch es distribuido por naturaleza. Los documentos almacenados en Elasticsearch se distribuyen en distintos contenedores conocidos como shards, que están duplicados para brindar copias redundantes de los datos en caso de que falle el hardware. La naturaleza distribuida de Elasticsearch le permite escalar horizontalmente a cientos (o incluso miles) de servidores y gestionar petabytes de datos.

Elasticsearch viene con un amplio conjunto de características. Además de su velocidad, la escalabilidad y la resistencia, Elasticsearch tiene una cantidad de características integradas poderosas que contribuyen a que el almacenamiento y la búsqueda de datos sean incluso más eficientes, como data rollup y gestión de ciclo de vida del índice.

El Elastic Stack simplifica la ingesta de datos, la visualización y el reporte. La integración con Beats y Logstash facilita el proceso de datos antes de indexarlos en Elasticsearch. Y Kibana provee visualización en tiempo real de los datos de Elasticsearch así como UI para acceder rápidamente al monitoreo de rendimiento de aplicaciones (APM), los logs y los datos de métricas de infraestructura.
¿Qué lenguajes de programación soporta Elasticsearch?


Elasticsearch soporta una variedad de lenguajes y hay clientes oficiales para los siguientes:
Java
JavaScript (Node.js)
Go
.NET (C#)
PHP
Perl
Python
Ruby

Fuente: https://www.elastic.co/


Instalación

Arquitectura a montar Elastic Stack en ambiente fisico con recursos minimos

CPU Atom 1.0 ghz

4GB RAM DDR3 1200

500GB SSD

ETH0

WLAN

Os Debian GNU/Linux 10
 

Módulos del Stack

Elastic Stack cuenta con cuatro componentes principales:
Elasticsearch: motor de búsqueda de RESTfuldistribuido que almacena todos los datos recopilados.
Logstash: componente de procesamiento de datos de Elastic Stack que envía datos entrantes a Elasticsearch.
Kibana: interfaz web para buscar y visualizar registros.
Beats: transportadores de datos ligeros de uso único que pueden enviar datos de cientos o miles de máquinas a Logstash o Elasticsearch.

Preparando entono

Primero agregaremos un usuario a nivel Os el cual nos ayudará a tener mejor control y administración de recursos segun su rol, para ello ejecutaremos el comando en terminal
 

pi@elastic:~ $ sudo adduser oposada
Adding user `oposada' ...
Adding new group `oposada' (1001) ...
Adding new user `oposada' (1001) with group `oposada' ...
Creating home directory `/home/oposada' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for oposada
Enter the new value, or press ENTER for the default
Full Name []: Oscar Omar Posada Sanchez
Room Number []: 23
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
pi@elastic:~ $


Segundo, salir del usuario actual y acceder con el usuario ya previamente creado para iniciar con los modulos.

pi@elastic:~ $ exit
logout
Connection to 192.168.0.133 closed.
oposada@NTSRV023:~$ ssh oposada@192.168.0.133
oposada@192.168.0.133's password:
Linux elastic.oposada.mx 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
oposada@elastic:~ $



Como notara, ya tiene un mensaje de bienvenida cuando nos firmamos por SSH, ya en ocaciones pasadas publique como editar este mensaje por lo que no tocaremos este tema en este momento.

Iniciamos validando que el Linux Debian se encuentre totalmente actualizado.


sudo apt install update && sudo apt install upgrade -y

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for oposada:
oposada is not in the sudoers file. This incident will be reported.


Cuando creamos el usuario con el cual trabajaremos la gestión del sistema operativo y la administración de nuestra stack de elastic, kibana y el resto de los modulos no entregamos permisoso para super usuario, para esto es requerido que definamos este rol de ejecución.

Para esto es requerido firmarnos con un usuario el cual pueda editar con el siguiente comando la linea

pi@elastic:~ $ sudo visudo


y buscar y colocar la linea con el usuario seguido de los permisos, en este laboratorio su servidor coloco su usuario el cual previamente creo a nivel sistema operativo y entrego todos los permisos para ejecición. En negritas la linea que se agrego al archivo de configuración visudo.


# User privilege specification
root ALL=(ALL:ALL) ALL
oposada ALL=(ALL:ALL) ALL



Regreso al usuario y confirmo con la ejecución de comandos con sudo


oposada@elastic:~ $ sudo apt-get update && sudo apt-get upgrade -y
Hit:1 http://ftp.debian.org/debian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Hit:3 http://security.debian.org buster/updates InRelease
Hit:4 http://ftp.debian.org/debian buster-updates InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
linux-image-amd64:amd64
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
oposada@elastic:~ $


Con esto configurado a nivel sistema operativo ya tenemos el rol adecuado para poder iniciar a instalar los paquetes necesarios para ejecutar el stack.

Firewall

Todo ambiente en producción cuenta con el firewall cal / acl / lista blanca / etc, por esto es buena practica tratar de utilizar el ambiente lo mas apegado a producción posible, bajo este esquema instalaremos el firewall a sistema operativo Linux Debian con el cual permiteremos el trafico de entrada a cierto puerto en concreto, evitando todo el resto del trafico incluuido respuesta por ICMP.+

oposada@elastic:~ $ sudo apt install ufw
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
ufw
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 164 kB of archives.
After this operation, 852 kB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian buster/main i386 ufw all 0.36-1 [164 kB]
Fetched 164 kB in 0s (658 kB/s)
Preconfiguring packages ...
Selecting previously unselected package ufw.
(Reading database ... 161602 files and directories currently installed.)
Preparing to unpack .../archives/ufw_0.36-1_all.deb ...
Unpacking ufw (0.36-1) ...
Setting up ufw (0.36-1) ...

Creating config file /etc/ufw/before.rules with new version

Creating config file /etc/ufw/before6.rules with new version

Creating config file /etc/ufw/after.rules with new version

Creating config file /etc/ufw/after6.rules with new version
Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service -> /lib/system
d/system/ufw.service.
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for rsyslog (8.1901.0-1) ...
Processing triggers for systemd (241-7~deb10u7) ...
oposada@elastic:~ $ sudo ufw status
Status: inactive


Permitimos el acceso remoto mediante ssh con el comando

sudo ufw allow openssh

Instalación de requerimientos previos a stack elastic


oposada@elastic:~ $ sudo apt update
Hit:1 http://security.debian.org buster/updates InRelease
Hit:2 http://ftp.debian.org/debian buster InRelease
Get:3 http://archive.raspberrypi.org/debian buster InRelease [32.9 kB]
Hit:4 http://ftp.debian.org/debian buster-updates InRelease
Get:5 http://archive.raspberrypi.org/debian buster/main amd64 Packages [196 kB]
Fetched 229 kB in 3s (65.8 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
oposada@elastic:~ $ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)
oposada@elastic:~ $ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)
oposada@elastic:~ $ sudo apt install default-jre
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
default-jre-headless
The following NEW packages will be installed:
default-jre default-jre-headless
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 11.9 kB of archives.
After this operation, 26.6 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ftp.debian.org/debian buster/main i386 default-jre-headless i386 2:1.11-71 [10.9 kB]
Get:2 http://ftp.debian.org/debian buster/main i386 default-jre i386 2:1.11-71 [1,044 B]
Fetched 11.9 kB in 0s (56.0 kB/s)
Selecting previously unselected package default-jre-headless.
(Reading database ... 161710 files and directories currently installed.)
Preparing to unpack .../default-jre-headless_2%3a1.11-71_i386.deb ...
Unpacking default-jre-headless (2:1.11-71) ...
Selecting previously unselected package default-jre.
Preparing to unpack .../default-jre_2%3a1.11-71_i386.deb ...
Unpacking default-jre (2:1.11-71) ...
Setting up default-jre-headless (2:1.11-71) ...
Setting up default-jre (2:1.11-71) ...
oposada@elastic:~ $ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)
oposada@elastic:~ $ sudo apt install default-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
default-jdk-headless
The following NEW packages will be installed:
default-jdk default-jdk-headless
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 2,160 B of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ftp.debian.org/debian buster/main i386 default-jdk-headless i386 2:1.11-71 [1,104 B]
Get:2 http://ftp.debian.org/debian buster/main i386 default-jdk i386 2:1.11-71 [1,056 B]
Fetched 2,160 B in 1s (3,797 B/s)
Selecting previously unselected package default-jdk-headless.
(Reading database ... 161715 files and directories currently installed.)
Preparing to unpack .../default-jdk-headless_2%3a1.11-71_i386.deb ...
Unpacking default-jdk-headless (2:1.11-71) ...
Selecting previously unselected package default-jdk.
Preparing to unpack .../default-jdk_2%3a1.11-71_i386.deb ...
Unpacking default-jdk (2:1.11-71) ...
Setting up default-jdk-headless (2:1.11-71) ...
Setting up default-jdk (2:1.11-71) ...
oposada@elastic:~ $ javac -version

javac 11.0.11

Con ello tenemos paquetes basicos para poder ejecutar nuestro ambiente sin problemas o dependencias.

para continuar damos paso a nginx el cual tendra el rol de aplicación web server, la instalación es mediante la ejecución de los siguientes comandos.

oposada@elastic:~ $ sudo apt install nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-common
nginx-full
Suggested packages:
fcgiwrap nginx-doc
The following NEW packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx
nginx-common nginx-full
0 upgraded, 13 newly installed, 0 to remove and 1 not upgraded.
Need to get 1,809 kB of archives.
After this operation, 3,306 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ftp.debian.org/debian buster/main i386 nginx-common all 1.14.2-2+deb10u3 [121 kB]
Get:2 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-auth-pam i386 1.14.2-2+deb10u3 [92.9 kB]
Get:3 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-dav-ext i386 1.14.2-2+deb10u3 [101 kB]
Get:4 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-echo i386 1.14.2-2+deb10u3 [105 kB]
Get:5 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-geoip i386 1.14.2-2+deb10u3 [94.3 kB]
Get:6 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-image-filter i386 1.14.2-2+deb10u3 [97.9 kB]
Get:7 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-subs-filter i386 1.14.2-2+deb10u3 [96.2 kB]
Get:8 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-upstream-fair i386 1.14.2-2+deb10u3 [96.3 kB]
Get:9 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-xslt-filter i386 1.14.2-2+deb10u3 [96.3 kB]
Get:10 http://ftp.debian.org/debian buster/main i386 libnginx-mod-mail i386 1.14.2-2+deb10u3 [127 kB]
Get:11 http://ftp.debian.org/debian buster/main i386 libnginx-mod-stream i386 1.14.2-2+deb10u3 [153 kB]
Get:12 http://ftp.debian.org/debian buster/main i386 nginx-full i386 1.14.2-2+deb10u3 [539 kB]
Get:13 http://ftp.debian.org/debian buster/main i386 nginx all 1.14.2-2+deb10u3 [88.4 kB]
Fetched 1,809 kB in 3s (621 kB/s)
Preconfiguring packages ...
Selecting previously unselected package nginx-common.
(Reading database ... 161717 files and directories currently installed.)
Preparing to unpack .../00-nginx-common_1.14.2-2+deb10u3_all.deb ...
Unpacking nginx-common (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-auth-pam.
Preparing to unpack .../01-libnginx-mod-http-auth-pam_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-auth-pam (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-dav-ext.
Preparing to unpack .../02-libnginx-mod-http-dav-ext_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-dav-ext (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-echo.
Preparing to unpack .../03-libnginx-mod-http-echo_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-echo (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-geoip.
Preparing to unpack .../04-libnginx-mod-http-geoip_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-geoip (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-image-filter.
Preparing to unpack .../05-libnginx-mod-http-image-filter_1.14.2-2+deb10u3_i386.deb ..
.
Unpacking libnginx-mod-http-image-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-subs-filter.
Preparing to unpack .../06-libnginx-mod-http-subs-filter_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-subs-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-upstream-fair.
Preparing to unpack .../07-libnginx-mod-http-upstream-fair_1.14.2-2+deb10u3_i386.deb .
..
Unpacking libnginx-mod-http-upstream-fair (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-xslt-filter.
Preparing to unpack .../08-libnginx-mod-http-xslt-filter_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-xslt-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-mail.
Preparing to unpack .../09-libnginx-mod-mail_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-mail (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-stream.
Preparing to unpack .../10-libnginx-mod-stream_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-stream (1.14.2-2+deb10u3) ...
Selecting previously unselected package nginx-full.
Preparing to unpack .../11-nginx-full_1.14.2-2+deb10u3_i386.deb ...
Unpacking nginx-full (1.14.2-2+deb10u3) ...
Selecting previously unselected package nginx.
Preparing to unpack .../12-nginx_1.14.2-2+deb10u3_all.deb ...
Unpacking nginx (1.14.2-2+deb10u3) ...
Setting up nginx-common (1.14.2-2+deb10u3) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service -> /lib/syst
emd/system/nginx.service.
Setting up libnginx-mod-http-xslt-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-auth-pam (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-geoip (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-echo (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-subs-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-dav-ext (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-mail (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-image-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-stream (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-upstream-fair (1.14.2-2+deb10u3) ...
Setting up nginx-full (1.14.2-2+deb10u3) ...
Setting up nginx (1.14.2-2+deb
oposada@elastic:~ $ sudo apt install nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-common
nginx-full
Suggested packages:
fcgiwrap nginx-doc
The following NEW packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-geoip libnginx-mod-http-image-filter
libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx
nginx-common nginx-full
0 upgraded, 13 newly installed, 0 to remove and 1 not upgraded.
Need to get 1,809 kB of archives.
After this operation, 3,306 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ftp.debian.org/debian buster/main i386 nginx-common all 1.14.2-2+deb10u3 [121 kB]
Get:2 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-auth-pam i386 1.14.2-2+deb10u3 [92.9 kB]
Get:3 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-dav-ext i386 1.14.2-2+deb10u3 [101 kB]
Get:4 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-echo i386 1.14.2-2+deb10u3 [105 kB]
Get:5 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-geoip i386 1.14.2-2+deb10u3 [94.3 kB]
Get:6 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-image-filter i386 1.14.2-2+deb10u3 [97.9 kB]
Get:7 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-subs-filter i386 1.14.2-2+deb10u3 [96.2 kB]
Get:8 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-upstream-fair i386 1.14.2-2+deb10u3 [96.3 kB]
Get:9 http://ftp.debian.org/debian buster/main i386 libnginx-mod-http-xslt-filter i386 1.14.2-2+deb10u3 [96.3 kB]
Get:10 http://ftp.debian.org/debian buster/main i386 libnginx-mod-mail i386 1.14.2-2+deb10u3 [127 kB]
Get:11 http://ftp.debian.org/debian buster/main i386 libnginx-mod-stream i386 1.14.2-2+deb10u3 [153 kB]
Get:12 http://ftp.debian.org/debian buster/main i386 nginx-full i386 1.14.2-2+deb10u3 [539 kB]
Get:13 http://ftp.debian.org/debian buster/main i386 nginx all 1.14.2-2+deb10u3 [88.4 kB]
Fetched 1,809 kB in 3s (621 kB/s)
Preconfiguring packages ...
Selecting previously unselected package nginx-common.
(Reading database ... 161717 files and directories currently installed.)
Preparing to unpack .../00-nginx-common_1.14.2-2+deb10u3_all.deb ...
Unpacking nginx-common (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-auth-pam.
Preparing to unpack .../01-libnginx-mod-http-auth-pam_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-auth-pam (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-dav-ext.
Preparing to unpack .../02-libnginx-mod-http-dav-ext_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-dav-ext (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-echo.
Preparing to unpack .../03-libnginx-mod-http-echo_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-echo (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-geoip.
Preparing to unpack .../04-libnginx-mod-http-geoip_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-geoip (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-image-filter.
Preparing to unpack .../05-libnginx-mod-http-image-filter_1.14.2-2+deb10u3_i386.deb ..
.
Unpacking libnginx-mod-http-image-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-subs-filter.
Preparing to unpack .../06-libnginx-mod-http-subs-filter_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-subs-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-upstream-fair.
Preparing to unpack .../07-libnginx-mod-http-upstream-fair_1.14.2-2+deb10u3_i386.deb .
..
Unpacking libnginx-mod-http-upstream-fair (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-http-xslt-filter.
Preparing to unpack .../08-libnginx-mod-http-xslt-filter_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-http-xslt-filter (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-mail.
Preparing to unpack .../09-libnginx-mod-mail_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-mail (1.14.2-2+deb10u3) ...
Selecting previously unselected package libnginx-mod-stream.
Preparing to unpack .../10-libnginx-mod-stream_1.14.2-2+deb10u3_i386.deb ...
Unpacking libnginx-mod-stream (1.14.2-2+deb10u3) ...
Selecting previously unselected package nginx-full.
Preparing to unpack .../11-nginx-full_1.14.2-2+deb10u3_i386.deb ...
Unpacking nginx-full (1.14.2-2+deb10u3) ...
Selecting previously unselected package nginx.
Preparing to unpack .../12-nginx_1.14.2-2+deb10u3_all.deb ...
Unpacking nginx (1.14.2-2+deb10u3) ...
Setting up nginx-common (1.14.2-2+deb10u3) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service -> /lib/syst
emd/system/nginx.service.
Setting up libnginx-mod-http-xslt-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-auth-pam (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-geoip (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-echo (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-subs-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-dav-ext (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-mail (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-image-filter (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-stream (1.14.2-2+deb10u3) ...
Setting up libnginx-mod-http-upstream-fair (1.14.2-2+deb10u3) ...
Setting up nginx-full (1.14.2-2+deb10u3) ...
Setting up nginx (1.14.2-2+deb10u3) ...
Processing triggers for systemd (241-7~deb10u7) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for ufw (0.36-1) ...
Rules updated for profile 'OpenSSH'
Skipped reloading firewall
oposada@elastic:~ $
10u3) ...
Processing triggers for systemd (241-7~deb10u7) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for ufw (0.36-1) ...
Rules updated for profile 'OpenSSH'
Skipped reloading firewall
oposada@elastic:~ $


Validamos que a nivel firewall se encuentre las reglas adecuadas para el trafico

oposada@elastic:~ $ sudo ufw app list | grep Nginx
Nginx Full
Nginx HTTP
Nginx HTTPS
oposada@elastic:~ $


Con esto ya tenemos nuestro web server el cual aloja nuestro stack, ahora validaremos que nuestro web server se encuentra en estatus de ok y running


oposada@elastic:~ $ systemctl status nginx
* nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-05-13 02:03:09 CDT; 2min 55s ago
Docs: man:nginx(8)
Main PID: 4704 (nginx)
Tasks: 5 (limit: 2312)
Memory: 5.9M
CGroup: /system.slice/nginx.service
|-4704 nginx: master process /usr/sbin/nginx -g daemon on; master_process o
|-4705 nginx: worker process
|-4706 nginx: worker process
|-4707 nginx: worker process
`-4708 nginx: worker process



Listo, nuestro web server funciona, Otra validación que podemos ejecutar es mandar el comando curl con la concatenación -4 y hostname de nuestro ambiente, en mi particular ambiente tengo como resultado la siguiente salida estandar.


oposada@elastic:~ $ curl -4 elastic.oposada.mx
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
oposada@elastic:~ $

Esto nos indica que el web server esta ok vista funcional a nivel sistema operativo, procedo a agregar en firewall las consultas permitidas por http en IPv4 y IPv6

oposada@elastic:~ $ sudo ufw allow 'Nginx HTTP'
Rule added
Rule added (v6)
oposada@elastic:~ $

Con ello podemos ir a nuestro navegador y consultar la web con la url





Este post continuara...






No hay comentarios.: