jueves, 25 de agosto de 2022

Oracel Linux 8.6 | Ambiente de auto estudio

Basado en mi situación de salud actual digamos que tengo un poco de tiempo libre para auto estudiar los temas que son importantes y básicos en la administración de sistemas linux en entornos Enterprise.

Para esta tarde tomamos la decisión de jugar un poco con un entorno Oracle Linux 8.6 y agregamos configuraciones básicas como agregar un texto en el .bashrc así como la instalación de stack de Linux Apache MySQL PHP (LAMP)



Iniciamos

Iniciamos actualizando el sistema operativo

sudo yum update -y



instalamos httpd

sudo dnf -y install httpd



Iniciamos y habilitamos httpd

sudo systemctl start httpd

sudo systemctl enable httpd


bajamos la intensidad de selinux o me dará dolores de cabeza como en el video

sudo setenforce Permissive

instalamos PHP

sudo dnf -y install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring

sudo systemctl start php-fpm

sudo systemctl enable php-fpm


validamos que php se encuentre en ejecución

sudo systemctl status php-fpm

reiniciamos servicio httpd

sudo systemctl restart httpd



creamos info.php en el directorio /var/www/html

sudo vi /var/www/html/info.php

NOTA

Recuerda que para iniciar a insertar datos con vi es necesario presionar la tecla “i”

Modificamos el archivo info.php y guardamos y salimos presionando la tecla “esc” después la tecla “:” y la tecla”wq”

Para que guarde lo que insertamos en el archivo.

Insertamos en el archivo lo siguiente



<?php

phpinfo();

?>




Reiniciamos httpd

sudo systemctl restart httpd



Instalamos mariadb

sudo dnf -y install mariadb mariadb-server

iniciamos mariadb y habilitamos el servicio a nivel Os

sudo systemctl start mariadb

sudo systemctl enable mariadb


ejecutamos el asistente de configuración

sudo mysql_secure_installation



creamos el virtual host .conf



sudo vim /etc/httpd/conf.d/yourdomain.com.conf



agregamos el contenido (cambiar el dominio por el cual tu estes configurando)

<VirtualHost *:80>

ServerName www.yourdomain.com

ServerAlias yourdomain.com

DocumentRoot /var/www/yourdomain.com

ErrorLog /var/www/yourdomain.com/error.log

CustomLog /var/www/yourdomain.com/requests.log combined

</VirtualHost>




Cambiamos el dueño del directorio, asignamos permisos y reiniciamos httpd

sudo chown -R apache:apache /var/www/yourdomain.com/*

sudo chmod -R 755 /var/www


Reiniciamos httpd

sudo systemctl restart httpd


Video de referencia 



domingo, 14 de agosto de 2022

Cómo agregar espacio de intercambio SWAP en Ubuntu 22.04 LTS

En ocasiones tenemos equipos para uso ligero, hogareño o de uso estudiante como es la Huawei D15 con apenas 8GB de RAM pero excelente SSD + 1TB de HDD, sus materiales son excelentes en relación a su costo vs beneficios que obtienes al instalar (como es mi particular escenario) el sistema operativo de Canonical Linux Ubuntu ahora en su versión 22.04 LTS

Sitio de descarga de Ubuntu 

https://ubuntu.com/download/desktop/thank-you?version=22.04&architecture=amd64


si usted pone un poco de atención notará en el uso de la memoria RAM un apartado que indica en su parte derecha el uso de SWAP el cual cuenta apenas con 2.1 GB. Pensando en aumentar el uso del espacio de intercambio o también denominado como SWAP esto con el fin de evitar errores futuros por memoria insuficiente para realizar actividades. 

Como saben el realizar esta actividad en discos SSD no es muy recomendable, ya que al área de intercambio fue pensada para discos mecánicos, aprovechando que nosotros tenemos uno de secundario, vamos a utilizar esta modificación para poder contar con un poco mas de espacio de almacenamiento para el intercambio o también conocida como la memoria Swap, con esto evitare en mis entornos de desarrollo y administración de sistemas Linux problemas futuros por memoria insuficiente. 


sudo swapon --show


Validando el espacio de mis unidades y directorios 

df -h


Como podrá notar como resultado del comando sudo swapon --show tenemos la configuración default de 2GB lo cual es lo default pero yo quiero evitar volcados de memoria por mis actividades de administración de sistemas, uno que otro desarrollo en mi ambiente ligero con el que suelo tener actividades de poca demanda pero en otras no quiero tener la limitante de 2GB para el Swap, pensando en ello es que valido la estructura de mis directorios para identificar el disco duro el cual usare para la memoria de intercambio, yo en este ejercicio practico me enfocare en mi unidad de almacenamiento mecánico montado en  /media/oposada/Datos 


Al intentar usar el comando 

sudo fallocate -l 64G /swapfile

no me permitió ya que el sistema estaba ya usando la memoria de intercambio, para solicitar al sistema dejar de usar la memoria de intercambio ejecute el comando 

sudo swapoff -a 

con el cual se libero y puede de nuevo ejecutar  

sudo fallocate -l 64G /swapfile


valido la creación del archivo de intercambio con el comando

ls -lh /swapfile

y como resultado me entrega la salida estándar de una archivo con la dimensión que indique 64GB, hasta aquí todo bien. Ahora vamos a indicarle al sistema que ese archivo es el que tiene que usar de ahora en adelante como archivo de memoria de intercambio o también llamado swap 

sudo mkswap /swapfile

Valido el incremento de swap con 

sudo swapon --show  

y tengo como salida estándar el incremento indicado en los pasos anteriores 

valido con el comando free que efectivamente ese incremento ya se encuentre en el sistema

free -h

con ello ya le indicamos al sistema el incremento de la memoria de intercambio y le indicamos que ahora el archivo de intercambio tienen un peso de 64GB disponible para su uso. 

ahora si regreso a mi sistema de monitoreo identifico que efectivamente ya el sistema cambio el archivo de intercambio por el limitado a 2GB por el nuevo expandido a una capacidad la cual no creo que llegue a llenar con mis actividades en este equipo por lo que estoy cubierto de problemas.

martes, 2 de agosto de 2022

[AppLoader] Use shipped Linux kernel AIO access library. An up-to-date "libaio" or "libaio1" package from your system is preferred | VMware Work Station en Ubuntu 20.04

En este hermoso mundo de tecnologias de la información, entender Linux, usarlo y sufrirlo es mandatorio para los que nos hacemos llamar especialistas de TI. ahora que tengo la Laptop Huawei D15 instale el Os Linux Ubuntu el cual corre marabilloso sobre este hardware. instalando mis aplicaciones de uso personal y algunas otras herramientas con las cuales suelo auto estudiar me tope al instalar VMware 

URL de descarga del Software de su sitio oficial 

https://www.vmware.com/mx/products/workstation-pro/workstation-pro-evaluation.html 


Fuia terminal y ejecute las siguientes lineas 

sudo apt-get install net-tools

sudo apt-get install gcc-6 gcc-6-multilib

sudo apt-get install linux-headers-$(uname -r) libx11-6 libx11-dev xorg xorg-docs libxtst6 psmisc build-essential

al terminar valide si existen actualizaciones de los paquetes o del sistema operativo





al final un comando que valide que no hace falta actualizaciones a nivel sistema operativo, asi como en sus paquetes con los que trabaja. 

sudo apt-get update && sudo apt-get upgrade -y


viernes, 5 de noviembre de 2021

Como instalar GUI a Linux Ubuntu 20.04 y permitir acceso desde WIndows 11 por RDP (Con XFCE4)

En ocaciones muy particulares tendras la duda de como poder acceder a Ubuntu Linux Server mediante RDP, para este tipo de requerimietnos aun que NO es nada recomendable instalar una interface grafica a un server Linux, con fines educativos compartimos el como podrias tener GUI y RDP accediendo desde un equipo Windows 11 a Linux Ubuntu Server 20.04 

Ubuntu  commands

sudo apt update
sudo apt -y upgrade
sudo apt-get purge xrdp 
sudo apt install -y xrdp
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies

sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession

sudo vi /etc/xrdp/startwm.sh

Comenta las siguientes lineas#
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
Agregar las siguientes lineas al final del archivo

# xfce
startxfce4

Guarda archivo y sal
ahora inicia el servicio

sudo /etc/init.d/xrdp start
Ahora puedes ingresar por RDP 
tuIPdeServidorUbuntu:3390

Video Ejemplo.


miércoles, 3 de noviembre de 2021

Oracle Cloud Infrastructure | Foundation | 1ra Parte

En la actualidad hoy 2021 oracle tiene mi total respeto y cariño, libero de forma gratuita toda la linea de educación para su nube. Certificación Oracle Cloud Infrastructure Foundation, professional, architech y mas. Me alegro mucho que compañías de el nivel de oracle cuenten con iniciativas como Microsoft con su MVA hoy docs, freshworks con su ITSM frameworks, amazon y Google. Contenido muy bueno y libre para ser consumido por esa mentalidad de hacker consumir mas información, practicar y estudio para el dominio de los temas de interés de IT.

OCI se creó específicamente para que comience a aprender Oracle Cloud Infrastructure y se familiarice con los fundamentos, lo cual de nuevo es una excelente idea tomando en cuenta que la nube para muchos en un mundo nuevo.
 

He tenido la suerte de pasar más de 10 años en el espacio de virtualización, en servidores,  workstation, en servidores, KVM, XEN, VirtualBox, VMware ESXi, VMware WorkStation a la evolución a nube y ser parte del equipo de Virtualización Cloud desde el principio.

OCI brindará el conocimiento, las habilidades y la confianza para aprobar el examen de fundamentos de OCI y, más allá de eso, le brindará el conocimiento básico necesario para los proyectos de OCI lo cual es genial para los que iniciamos con lo básico.
 

Comenzaremos con una introducción rápida de la plataforma OCI, y luego profundizaremos en futuros post los puntos  centrales, computación, almacenamiento, redes, identidad, bases de datos, seguridad y poco más. Cubriré arquitecturas impulsadas por eventos y servicios para desarrolladores. También hablaré sobre plataforma de Observabilidad y Gestión esto relacionado a las Capacidades Híbridas. Por último, pero no menos importante, hablaré sobre  SLA y opciones de soporte enterprise.

Overview

Algunas de las empresas más grandes del mundo están ejecutando sus cargas de trabajo de misión crítica en la plataforma de nube de próxima generación de Oracle, El Servicio de Oracle para nube lleva el nombre de OCI por su definición Oracle Cloud Infrastructure.

Para simplificar las cosas desglosémoslas en siete categorías principales: 

  1. Infraestructura central
  2. Servicios de bases de datos
  3. Datos e inteligencia artificial
  4. Análisis
  5. Gobernanza y administración
  6. Servicios para desarrolladores
  7. Servicios de aplicaciones.

 

 


Primero, la base de cualquier plataforma en la nube es la huella global de las regiones. Oracle tiene muchas regiones generalmente disponibles en el mundo, junto con soporte Multi-Cloud el cual soporte 

  • Microsoft Azure 
  • oferta híbrida diferenciada llamada Dedicated Region Cloud at Customer.


Oracle cuenta con bloques de construcción además de esta huella global, las siete categorías que acabamos de mencionar. En la parte inferior, tenemos las principales: 

  • computación
  • almacenamiento
  • redes. 
Los servicios informáticos cubren máquinas virtuales, servidores nativos, contenedores, un servicio Kubernetes administrado y un servicio VMWare administrado.


Estos servicios son principalmente para realizar cálculos, ejecutar lógica y ejecutar aplicaciones. El almacenamiento en la nube incluye discos conectados a máquinas virtuales, almacenamiento de archivos, almacenamiento de objetos, almacenamiento de servicios de migración de datos. OCI ofrece amplia gama de servicios para almacenamiento con esto podrás  almacenar, acceder, controlar y analizar datos estructurados o no estructurados.

Las funciones de red le permiten configurar redes privadas definidas por software en Oracle Cloud. OCI proporciona el conjunto más amplio y profundo de servicios de red a mi punto particular de experiencia.

Luego tenemos los servicios de base de datos, OCI cuenta con varios tipos de servicios de base de datos, tanto de Oracle como de código abierto. OCI a hoy en mi experiencia es la única nube que ejecuta bases de datos autónomas y varios sabores, incluidos OLTP, OLAP y JSON. (por favor si alguien tienen otro dato ampliar mi conocimiento con referencias, gracias. )

Podemos ejecutar bases de datos y máquinas virtuales, servidores Exadata en la nube. También puede ejecutar bases de datos de código abierto, como MySQL y NoSQL en Oracle Cloud Infrastructure.

Arquitectura OCI.

La arquitectura física de OCI, iniciamos con comentar que OCI cuenta con multiples regiones. La región es un área geográfica localizada que comprende uno o más dominios de disponibilidad.




Los medios de disponibilidad son uno o más centros de datos tolerantes a fallas ubicados dentro de una región, pero conectados entre sí por una red de baja latencia y alto ancho de banda. 

 Los dominios de falla son una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad para proporcionar antiafinidad. Así que piense en estos como centros de datos lógicos.
 

OCI tiene una huella geográfica masiva en todo el mundo con múltiples regiones. Oracle cuenta con asociación de múltiples nubes con Microsoft Azure. Y tenemos una oferta de nube híbrida diferenciada llamada Dedicated Region Cloud @ Customer. 

¿Cómo eliges una región?. Lo primero es elegir una región, elige la región más cercana a sus usuarios para obtener la latencia más baja y el mayor rendimiento. Entonces ese es un criterio clave.

El segundo criterio clave es la residencia de datos y los requisitos de cumplimiento. Muchos países tienen requisitos estrictos de residencia de datos y debe cumplirlos. Entonces, elige una región en función de estos requisitos de cumplimiento.

El tercer criterio clave es la disponibilidad del servicio. Los nuevos servicios en la nube están disponibles en función de la demanda regional en ocasiones, las razones de cumplimiento normativo y la disponibilidad de recursos, y varios otros factores. Tenga en cuenta estos tres criterios al elegir una región.

Así que veamos cada uno de estos con un poco más de detalle. 

Dominio de disponibilidad.

Los dominios de disponibilidad están aislados entre sí, son tolerantes a errores y es muy poco probable que fallen simultáneamente. Debido a que los dominios de disponibilidad no comparten la infraestructura física, como la energía o la refrigeración o la red interna, es poco probable que una falla que afecte a un dominio de disponibilidad afecte la disponibilidad de otros.

 ¿Qué son los dominios de falla? 

Piense en que cada dominio de disponibilidad tiene tres dominios de falla. Por lo tanto, piense en los dominios de fallas como centros de datos lógicos dentro del dominio de disponibilidad.
 

La idea es colocar los recursos en diferentes dominios de falla, y no comparten un solo punto de falla de hardware, como servidores físicos, rack físico, tipo de conmutadores de rack, una unidad de distribución de energía. Puede obtener alta disponibilidad aprovechando los dominios de fallas.

También aprovechamos los dominios de fallas para nuestros propios servicios. Por lo tanto, en cualquier región, los recursos en la mayoría de los dominios de fallas se están modificando activamente en cualquier momento. Esto significa que los problemas de disponibilidad causados ​​por los procedimientos de cambio se aíslan en el nivel del dominio de errores. 

Además, puede controlar la ubicación de las instancias de la base de datos de su computadora en el dominio de fallas en el momento del lanzamiento de la instancia. Por tanto, puede especificar qué dominio de error desea utilizar.

¿cuál es la guía general? 

La guía general es que tenemos estas construcciones, como dominios de falla y dominios de disponibilidad, para ayudarlo a evitar puntos únicos de falla. Hacemos eso por nuestra cuenta.

Así que nos aseguramos de que los servidores, la parte superior del conmutador del bastidor, sean redundantes. Para que no tenga fallas de hardware oracle intenta minimizar esas fallas de hardware tanto como sea posible. (piensa en esto cuando diseñe su propia arquitectura de servicios).

Así que veamos un ejemplo. Tienes una región. Tienes un dominio de habilidad. Y como dijimos, un AD tiene tres dominios de falla, por lo que puede ver esos dominios de falla aquí.



Entonces, lo primero que debe hacer es cuando crea una aplicación, crea esta red virtual definida por software. Y luego digamos que es una aplicación muy simple. Tiene un nivel de aplicación. Tiene un nivel de base de datos.

Entonces, lo primero que puede hacer es ejecutar varias copias de su aplicación. Tiene un nivel de aplicación que se replica en los dominios de falla. Y luego tiene una base de datos, que también se replica en los dominios de fallas.

¿Por qué haces eso?

Bueno, te da esa capa extra de redundancia. algo le sucede a un dominio de falla, su aplicación aún está en funcionamiento. (Como lo que paso en estos semanas con mencionada AppWeb Social & mencionado Banco en México el cual se murieron sus servicios financieros a nivel nacional...... tu sabes quien eres...)

Ahora, para llevarlo al siguiente paso, puede replicar el mismo diseño en otro dominio de disponibilidad. Entonces podría tener dos copias de su aplicación ejecutándose. Y puede tener dos copias de su base de datos en ejecución. 

Ahora seguramente te estas preguntando ¿cómo se asegura de que sus datos estén sincronizados entre estas copias?. La respuesta esta en tecnologías como Oracle Data Guard para asegurarse de que los datos principales y en espera se mantengan sincronizados.

Creación de una cuenta de Oracle Cloud FreeTier. 

Pero ¿qué es Oracle Cloud FreeTier.? Oracle Cloud FreeTier le permite registrarse para obtener una cuenta de Oracle Cloud, que proporciona una serie de todos estos servicios gratuitos y una prueba gratuita, los $ 300 de crédito gratuito para usar en todos los servicios OCI elegibles por hasta 30 días. Entonces es una combinación de dos cosas diferentes. 

Hablemos un poco más sobre estos.

Los servicios Always Free están disponibles por un período de tiempo ilimitado para cualquier persona. La prueba gratuita, por otro lado, debe usarse hasta que se consuman sus $ 300 de créditos gratuitos o hasta que hayan expirado los 30 días, lo que ocurra primero. Por lo tanto, el proceso de creación de una cuenta de Oracle Cloud FreeTier es bastante sencillo. 

Déjame guiarte a través de esto.

Así que aquí estoy, estás en la página web Oracle.com/cloud/free. 


 

Y puede ver este botón aquí, que es Comenzar gratis. 

 


Si tuviera una cuenta existente, haría clic aquí, iniciaría sesión en Oracle Cloud y eso me permitiría ingresar a mi cuenta. 

Yo no tengo uno. Voy a explicarte cómo crear uno gratis.

 
Complete los formularios para poder continuar con las siguientes pantallas de registro.

NOTA importante mandatario, se solicitara Tarjeta de crédito, por lo que es mandatario contar con una para el registro, puede ser crédito / débito. 




Se envía un correo de notificación a tu cuenta registrada. 
 


 
Con estos pasos concluimos el registro, validación y verificación de ambiente Cloud.
 


 

Primer acceso a mi ambiente Cloud


Espero que el contenido de esta publicación les ayude a perderle el miedo a a prender y con esto tener en cuenta que todos tenemos la capacidad, solo es cuestión de estudiar, practicar y ampliar el campo de estudio a nuevos horizontes.


El post continuara para mayor información y continuidad del tema.

viernes, 29 de octubre de 2021

Windows Server 2016 | ¿Como retiro IPv6?

 En mi particular escenario como amante de las tecnologías de la información y apasionado por mi área de trabajo y estudio en muchos de mis escenarios cuanto trabajo en laboratorio en casa con mi ESXi 7 SP3 la mayoría de las Maquinas virtuales con Windows Server 2016 por default cuentan con configuración nativa a IPv6, Por este motivo cuando ejecuto mis configuraciones de DB o aplicativos la mayoría de mis aplicaciones no resuelven IPV6 y esto causa conflictos en la comunicaciones entre ellas cuando trabajo con laboratorios con nodos ESXi distintos. tratando de documentar lo que me ayuda en casa para eliminar esta configuración comparto el como si poder realizar la baja de IPV6 en ambientes Windows Server 2016 en laboratorios de auto estudio. 

Vídeo de ejemplo. 



martes, 26 de octubre de 2021

Laboratorio de pruebas windows 11 ¿Como lograr instalarlo?

Los que me rodean saben que me gusta estar probando distintas soluciones que salen al mercado, en mucha de ellas hay que darle tiempo estudio y practica, lo cual está receta de cocina es muy familiar pues toda la vida se a aplicado en mi pasa tiempos. Hoy nos toco hacer un laboratorio windows 11, lo instale en varios dispositivos desde un servidor Dell Power edge R40 con dual Xeon E5-2370v2 y 128GB de RAM hasta un acer con Intel átomo con 4GB de RAM y apenas 256GB de disco duro Mecanico. Inmediatamente a realizar un o usb BOOT e insertarlo para ingresar desde el archivo .ISO 



Inmediatamente después de pasar por la primera selección de versión a instalar ya el instalador nos está indicando que no es compatible / No hay soporte / etc. Muchas otras necesidades puntuales del instalador están justificadas en el sitio de microsoft, dando a la tarea y recordando que el sistema operativo windows 7 y windows vista en su momento también en las primeras versiones de .ISO sacadas al mercado tenían particularidades por lo que me di a la tarea a investigar un poco, entender básicamente el por qué no y el como si, dando como resultado la forma de pasar todos estos lineamientos que básicamente a mí me funcionaron tres 

  • Bypass TPA
  • Bypass RAM Check 
  • Bypass Secure boot check 


Con esto y modificando un poco el registro de .ISO que temporalmente se carga en memoria cuando iniciamos el USBBOOT nos dejo instalarlo en los siguientes dispositivos listados del menos potente al más potente 

- acer veriton vn282

- lenovo thinkPad T440

- servidor Dell Poweredge R420 

El método para instalación es totalmente normal a cualquier versión de windows, si alguna ocasión instalaste 7,8,10 la versión 11 no te dará problemas en su instalación ejecutando las siguientes modificaciones en el registro de sistema del USB. 


Vídeo Ejemplo en un ESXi 7 SP3

Vídeo Ejemplo en Virtual Box



Recomendaciones 

- no intentes instalarlo en el mismo disco duro donde tienes tu Os tema operativo de trabajo, escuela, hogar o pasa tiempos. 

- para fines educativos 👍, ver las mejoras este método es adecuado

- para fines de trabajo no es nada recomendable, de momento.

- actualiza el sistema y coloca una licencia válida de windows 10 👌

Espero tengas buenos resultados como yo con mis experimentos, el objetivo de esto es estudiar, aprender, practicar y compartir el conocimiento. 👍🏾 Hasta luego milo. 

domingo, 24 de octubre de 2021

Activando Windows Server 2016

 En ocaciones solo tienes recursos de descargas y tienes que hacer lo mejor con lo que tienes a la mano, en ese particular escenario hoy me doy a la tarea de compartir un pequeño comando que me ayudo en mucho de mis laboratorios en casa para auto estudio, 

todo inicio cuando compre una licencia en https://es.gvgmall.com/ la cual a funcionado a la perfección a lo largo de ya dos años, de igual manera compre licenciamiento para Windows 10 y ahora Windows 11 con la nueva salida de este Os. Previamente solo tenia el .ISO de Windows Server 2016 de evaluación, el cual como saben tienen un mensaje de activación pendiente y un periodo de evaluación en el escritorio que va en retroceso cada dia que pasa. 

Tenia ya la licencia adquirida y no me dejo el Os activarlo desde los metodos tradicionales desde el menu de activación de Windows Server por lo que me di a la tarea de buscar opciones, ya tenia mi inverción de licencia original no me conformaria solo con el periodo de valuación, la solucion fue el comando.....


dism /online /Set-Edition:ServerStandard  /AcceptEula /ProductKey:XXXX-XXXX-XXXX-XXXX-XXXX


Con este comando y tras un reinicio del sistema logre tener mi sistema operativo licenciado, actualizado y sin ese mensaje de Windows Server 2016 Standard Evaluation en el escritorio, de igual forma se aperturaron distintas opciones de perzonalización que anteriormente no contaba, totalmente recomendado tener el licencimainto en forma para nuestros laboratorios en casa para auto estudio. 

viernes, 4 de junio de 2021

Ubuntu 20.04.2 LTS | Actualizar y instalar NGINX de forma automatica en script automatico

Tras estar esta semana estudiando los temas de Os Ubuntu 20.04.2 LTS cuando uno de los colegas me preguntaba si en escribir los comandos en terminar concatenados podriamos hacer que se instalara de forma automatica el servicio de web server, pensando en que no tenemos opciones de instalar docker y hacer desplieges a la viaje escuela es por ello que comparto este sencillo script  que para los que inician en este mundo de IT se den una idea de como poder iniciar a penzar en la automatización de una forma practica y muy descritiva.

 

Programa

#!/bin/bash
# Inicio de programa
echo "actualizando completamente sistema operativo"
echo "por favor coloca contraseña de super usuario"
sudo apt-get update && sudo apt-get -y dist-upgrade
echo " Instalando servicio de FireWall"
sudo apt install ufw
sudo apt update -y
sudo apt install default-jre -y
sudo apt install default-jdk -y
echo "Instalación de WebService nginx"
sudo apt install nginx -y
echo "Muestra la lista de Firewall permitidos de web server"
 sudo ufw app list | grep Nginx
echo "Inicia servicios de Web Server"
systemctl status nginx
sudo ufw allow 'Nginx HTTP'
echo "Instalación de Nginx concluida"
# Fin de programa

 

 Video de ejemplo de su ejecución y resultados.  


 

martes, 1 de junio de 2021

ELK | Elasticsearch, Logstash y Kibana en Ubuntu 21.04 ¿funciona a su reciente liberación?


Como saben el pasado 22 de abril de 2021 Canonical lanzó Ubuntu 21.04 con integración nativa de Microsoft Active Directory, gráficos Wayland de forma predeterminada y un SDK de desarrollo de aplicaciones Flutter. Por separado, Canonical y Microsoft anunciaron la optimización del rendimiento y el soporte conjunto para Microsoft SQL Server en Ubuntu, esta ultima una excelente noticia para los amantes del sistema operativo Ubuntu para entornos profesionales.

La integración nativa de Active Directory y Microsoft SQL Server certificado en Ubuntu son las principales prioridades indico Mark Shuttleworth, director ejecutivo de Canonical.

Aun no se encuentra como una versión LTS, pero la pregunta que me lanzo uno de mis sobrinos fue ¿y por que no instalamos la ultima versión para probar su estabilidad y optimización de recursos que indica Canonical. Por esto ultimo es que ahora en este Post vamos a replicar. como en el post pasado las instrucciones en terminal para ejecutar la instalación y configuración de ELK aplican de igual forma a versiones anteriores por lo que tomaremos de referencia esos comandos publicados en el post anterior en este LINK

Primero los Pre requerimientos de buena practica 

1.- Actualizar completamente tu sistema operativo, este cerrara las oportunidades de mejora del propio Os y cerrara brechas de seguridad del sistema operativo. 

 El comando en terminal que usaremos es

 sudo apt-get update && sudo apt-get upgrade -y

Para fines de tener claridad de estar en el sistema operativo correcto y el hostname correcto, validamos estos dos últimos con los comandos.

cat /etc/issue.net

hostname

 

2.- Instalación de NGINX

Para leer el post publicado anteriormente por favor ve a este LINK

 Comando de instalación nginx

sudo apt install nginx 

(previamente actualizamos todo el Os)

Con el comando curl validaremos que el servicio del web server esta ok

Comando de validación  curl -4 ubuntusrv.oposada.mx

Resultado esperado (algo similar en tu ambiente, cambiara según personalizaciones.)

UFW es el firewall de Ubuntu Server, con el siguiente comando lo que indicamos al sistema operativo es que el trafico este permitido sin restricciones a http y https

 sudo ufw allow 'Nginx HTTP' 

 

Ahora listamos los permisos por aplicación segun su trafico, el nombre de la aplicación Nginx, trafico http y https

sudo ufw app list | grep Nginx 

 

A este punto, todo esta ok. para fines de hacer esto algo mas interesante vamos a agregar resolución por nombre FQDN, fully qualified domain name para que nuestro equipo local resuelva por nombre configurando el nombre en nuestro archivo host local, para esto vamos a ejecutar de nuestro sistema operativo (suponiendo que estas usando windows 10)


Accedemos  y vamos a etc

Aquí, en este directorio como podemos ver tenemos varios archivos, la buena practica en cualquier actividad en producción es tener un respaldo, un archivo de configuración o estado actual del ambiente que vamos a manipular previo a los cambios, de tal forma que, en el escenario que algo salga mal..... tengamos un punto de restauración seguro con el cual podamos continuar con la continuidad del servicio.

Abrimos el archivo host en el edutor de texto de nuestra elección,

 
En mi particular gusto, yo uso Sublime text  con el edito el archivo hosts y agrego la linea que indica dirección IP y nombre para resolver localmente,de tal forma diciendo de otro modo la dirección 192.168.0.20 la resolverá en el navegador como ubuntusrv.oposada.mx así de fácil.


Validamos accediendo desde nuestro navegador favorito a la dirección FQDN, fully qualified domain name y ya podra resolverlo nuestro equipo local.

 3.- Instalación de ELK

Para los que estan atentos a los post, ya escribi sobre ELK en el post del siguiente LINK

 Vamos a los comandos, Usaremos Curl para importar la clave GPG pública de Elasticsearch a APT.


curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

continuaremos  agregando a lista de fuentes de Elastic al directorio sources.list.d, donde APT buscará nuevas fuentes:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Instalación de elasticsearch

Comando sudo apt install elasticsearch


Hasta este Punto todo bien. 


Ejecutamos el comando 

sudo vi /etc/elasticsearch/elasticsearch.yml

 

Ahora con el archivo configurado para el trafico a localhost podemos continuar con la definición del site disponible y el site activo y la definiciónde usuario y password. 


Iniciemos con la restricción de usuario, como saben por default elastic te permite el acceso sin ningún tipo de restricción lo cual para ambientes de laboratorio es ok, pero en ambientes pre productivos o productivos no es opción, por lo que con el siguiente comando definiremos un usuario y password el cual después de va a encriptar para no poder ser leído desde el archivo htpasswd.users.

echo "oposada:`openssl passwd Temporal.2021`" | sudo tee -a /etc/nginx/htpasswd.users

 
 

ahora continuamos definiendo el dominio y el archivo de configuraciónde ese dominio

comando /etc/nginx/sites-available/nombre_de_tu_dominio

 

ejemplo del comando ejecutado

sudo vi /etc/nginx/sites-available/ubuntusrv.oposada.mx

en el contenido del dominio coloque 

 

server {
    listen 80;

    server_name ubuntusrv.oposada.mx;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

 

donde el valor de valor aqui es    server_name ubuntusrv.oposada.mx; donde "ubuntusrv.oposada.mx" es el critico con el cual hay que tener cuidado, este tiene que tener el mismo nombre para el link simbólico que ejecutaremos a continuación. 


sudo ln -s /etc/nginx/sites-available/ubuntusrv.oposada.mx /etc/nginx/sites-enabled/ubuntusrv.oposada.mx

Validamos que los archivos configurados esten en ok con el comando siguiente

sudo nginx -t

 tendriamos que tener como salida estándar algo como esto  

oposada@ubuntusrv:/etc/nginx/sites-available$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reiniciamos el web server nginxcon el comando siguiente

sudo systemctl reload nginx




 


 


viernes, 21 de mayo de 2021

ELK, Elastic Stack en tu ambiente GNU/Linux Ubuntu Server 20.04

 Vamos desde el inicio, ¿Que ....... es ELK?

 

Una imagen dice mas que mil palabras. 


 ELK es el nombre que se le da al stack de soluciones de elastic pare referir a los proyectos open source Elasticsearch, Logstash y Kibana.

 En pocas palabras sin demeritar el excelente trabajo que a realizado los integrantes de este proyecto Elasticsearch es un motor de búsqueda y analítica.

Logstash es un pipeline de procesamiento de datos del lado del servidor que ingesta datos de una multitud de fuentes simultáneamente, los transforma y luego los envía a  Elasticsearch.

Kibana permite a usuarios visualizar los datos en gráficos con Elasticsearch.

Todo esto gracias al motor de búsqueda de código abierto distribuido RESTful, basado en JSON. esto ayuda en mucho a ser menos complejo de utilizar, totalmente escalable y súper flexible. por estos atributos inicio a tener mucha popularidad hasta el día de hoy de ser una de las tecnologías para manejo, analítica y visualización de datos muy popular entre los usuarios, compañías y departamentos de IT.


¡Cuando algo es bueno, muchos queremos aprenderlo y usarlo!

Logstash + Kibana sumaron funcionalidades que el stack necesitaba, mejoraron con el paso del tiempo, los usuarios lo estudiaron, aprendieron y creció su popularidad por una sencilla razón ¡funciona!, soy usuario, en mi particular opinión, hace lo que esta diseñada para hacer y con conocimientos, ganas e interés puedes lograr desarrollar una plataforma de recolección de datos, alarmas, Monitoreo, dando cumplimiento a la gestión de activos, gestión de consulta de información, gestión de monitoreo incluso con el desarrollo adecuado gestión de incidentes con ijntegraci9ones a terceros. Ahora con la integración de Beat que prácticamente recolecta información a nivel performance de equipos, servidores, desktop no dudo que muchos como nosotros lo estén aplicando para sistemas de monitoreo de performance (Monitoreo de CPU, Memoria, Red, procesos, Disponibilidad por ICMP).

ahora iniciemos la instalación de este excelente stack. (para que veas que no es ciencia de la nasa "tu sabes quien eres")

Si partimos de "no tengo ni idea de como puedo iniciar" amigo estas en problemas, hay ciertos conocimientos de IT / Sistemas / Computación o como le digas a rama de estudio de informática en tu país que si o si tienes que saber previo a meterte en el juego de ELK.

Recomendación

Para ti amigo amante de IT, es necesario que tengas en mente que esto no es excel y puedes usarlo de forma empírica, necesitas que botón presionar en el avión para que no lo estrelles.

Ayudaría mucho que comprendieras o trabajas con un tiempo de aproximadamente 1 a 2 años con sistemas operativos Linux, distribuciones como Ubuntu Server, Centos (RIP), Red Hat Enterprise Server ayudaran mucho a tu camino. 

Conocimiento basicos (de menos) en  RESTful, Json y SQL- en el mejor de los escenarios conocimientos medios de Os Linux, Json, Programación, SQL, ETL, BigData. esto ayuda un mucho. 

Requerimientos de ambiente

  • Un servidor de Ubuntu 20.04, con Mínimo 4 GB de RAM y 2 CPU configuradas con un usuario sudo no root. 

    Ten en cuenta que la cantidad de CPU, RAM y almacenamiento que su servidor de Elasticsearch requiera dependerá del volumen de registros que prevé.

  • OpenJDK 11 instalado. 

  • Nginx instalado en su servidor, Para configurar, siga esta guía 



    Instalación del primer modulo de ELK

    Después de instalar tu Ubuntu Server y actualizar toda tu distribución, tomando en cuenta los pre requerimientos previos mencionados, continuamos con la instalación del producto. Usaremos Curl para importar la clave GPG pública de Elasticsearch a APT

    curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

continuaremos  agregando a lista de fuentes de Elastic al directorio sources.list.d, donde APT buscará nuevas fuentes:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
 

Actualizamos la lista de paquetes de APT

sudo apt update

Continuaremos por instalar elasticsearch con el siguiente comando.

sudo apt install elasticsearch

Ahora que esta  instalado utilizaremos el editor vi para modificar el archivi .yml

sudo vi /etc/elasticsearch/elasticsearch.yml

elasticsearch.yml ofrece opciones de configuración para clúster, nodo, rutas, memoria, red, detección y puerta de enlace. La mayoría de estas opciones están preconfiguradas en el archivo, pero las puede cambiar según sus necesidades.  Elasticsearch escucha todo el tráfico de todo origen por pyuerto 9200. Es recomendable restringir el acceso externo a su instancia de Elasticsearch para evitar que terceros lean sus datos o cierren su clúster de Elasticsearch.

en el archivo /etc/elasticsearch/elasticsearch.yml

ve a network.host y configuralo para localhost con esto podemos iniciar elasticsearch con el siguiente comando desde terminar.

sudo systemctl start elasticsearch

Ahora si tienes intenciones que tu instancia inicie cuando el servidor se reinicie por alguna actualización o razon ejecuta el siguiente comando para declrar que inicie automaticamente.

sudo systemctl enable elasticsearch

Para validar que el modulo se encunetra en ejecución puedes correr el siguiente comando.

curl -X GET "localhost:9200"

Instalación de Kibana

Para su instalación ejecutamos el siguiente comando

sudo apt install kibana

Para indicarle al sistema que inicie kibana cuando el equipo se reinicie ejecutamos el siguiente comando

sudo systemctl enable kibana
 

Iniciamos el servicio de Kibana con el siguiente comando.

sudo systemctl start kibana

Ahora ya tenemos nuestro segundo modulo de ELK, pero por seguridad requiere autenticación para acceso autorizado. 

para espesificar un usuario y password puede ejecutar el siguiente comando

echo "usuario:`openssl passwd mipassworddekibana" | sudo tee -a /etc/nginx/htpasswd.users

echo "oposada:`openssl passwd Temporal.2021`" | sudo tee -a /etc/nginx/htpasswd.users

 

Ahora crearemos el sitio para que el web service lo identifique y envie las configuraciones previamente creadas.
 
sudo vi /etc/nginx/sites-available/your_domain

server {
    listen 80;

    server_name your_domain;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

 

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/your_domain

Reiniciamos nginx

sudo nginx -t

Ejecutamos el reload de nginx

sudo systemctl reload nginx

Permitimos que firewall de servidor permita el trafico 

sudo ufw allow 'Nginx Full'

Validamos que este corriendo el status en nuestro navegador

http://your_domain/status


### Video de ejemplo ####