Listado de la etiqueta: Linux



NetBox es un software de Modelado de Medios de Infraestructura (IRM) diseñado para la automatización de redes y la ingeniería de infraestructuras. Inicialmente, fue creado por el equipo de DigitalOcean, y ahora se ha convertido en un plan de código despejado publicado bajo la Inmoralidad Apache 2. NetBox se creó en el ámbito web Python Django con PostgreSQL como pulvínulo de datos por defecto, y la instalación de NetBox es asaz similar a la de otras aplicaciones web Python Django.

NetBox te ayuda a administrar tu infraestructura, lo que incluye

  • DCIM (Mandato de la Infraestructura del Centro de Datos)
  • IPAM (Mandato de Direcciones IP)
  • Circuitos de datos
  • Conexiones (red, consola y provisiones)
  • Bastidores de equipos
  • Virtualización
  • Secretos

En este tutorial, instalarás NetBox IRM (Mandato de Medios de Infraestructura) en un servidor Rocky Linux 9. Configurarás NetBox con PostgreSQL como sistema de pulvínulo de datos y Apache/httpd como proxy inverso en un sistema Rocky Linux. Todavía asegurarás NetBox con certificados SSL/TLS mediante Certbot y Letsencrypt.

Requisitos previos

Ayer de originarse, asegúrate de que tienes los siguientes requisitos:

  • Un servidor Rocky Linux 9 – Este ejemplo utiliza un servidor Rocky Linux con el nombre de host‘netbox-rocky‘.
  • Un afortunado no root con privilegios de administrador sudo/root.
  • Un SELinux funcionando en modo permisivo.
  • Un nombre de dominio o subdominio apuntando a una dirección IP del servidor – Este ejemplo utiliza un subdominio ‘netbox.hwdomain.io‘ para ejecutar NetBox.

Con estos requisitos previos, estás ligero para instalar NetBox.

Instalar y configurar PostgreSQL

El IRM de NetBox admite por defecto el servidor de bases de datos PostgreSQL. En el momento de escribir esto, se requiere al menos PostgreSQL v10 y superior. Por defecto, el repositorio Rocky Linux proporciona el servidor PostgreSQL v13, que es adecuado para el despliegue de NetBox.

En este paso, instalarás el servidor de pulvínulo de datos PostgreSQL, configurarás la autenticación por contraseña y, a continuación, crearás una nueva pulvínulo de datos y un nuevo afortunado que utilizará NetBox.

Para originarse, ejecuta el posterior comando para instalar el servidor PostgreSQL en el servidor Rocky Linux.

sudo dnf install postgresql-server

Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

instalar postgresql

Posteriormente de instalar el servidor PostgreSQL, ejecuta el posterior comando para inicializar la pulvínulo de datos PostgreSQL y la configuración.

sudo postgresql-setup --initdb

Deberías cobrar una salida como ‘Inicializando pulvínulo de datos en …’.

inicializar base de datos

Con el servidor PostgreSQL inicializado, a continuación configurarás el enigmático de contraseñas y la autenticación para los usuarios de PostgreSQL.

Abre el archivo de configuración de PostgreSQL ‘/var/lib/pgsql/data/postgresql.conf ‘ utilizando el posterior comando del editor nano.

sudo nano /var/lib/pgsql/data/postgresql.conf

Descomenta el parámetro ‘password_encryption’ y cambia el valía a ‘scram-sha-256’. Esto establecerá el enigmático de contraseña por defecto para los usuarios de PostgreSQL en‘scram-sha-256‘.

password_encryption = scram-sha-256

Protector el archivo y sal del editor.

A continuación, abre otro archivo de configuración PostgreSQL ‘/var/lib/pgsql/data/pg_hba.conf ‘ utilizando el posterior comando. En este archivo es donde puedes aclarar los métodos de autenticación para tu PostgreSQL.

sudo nano /var/lib/pgsql/data/pg_hba.conf

Cambia los métodos de autenticación por defecto para el host‘127.0.0.1/32‘ y ‘::1/128‘ a‘scram-sha-256‘. Con esto, establecerás los métodos de autenticación por defecto para los usuarios de PostgreSQL a ‘scram-sha-256‘.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# «específico» is for Unix domain socket connections only
específico   all             all                                     peer
# IPv4 específico connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 específico connections:
host    all             all             ::1/128                 scram-sha-256

Protector el archivo y sal del editor cuando hayas terminado.

configuración autentificación

Ahora ejecuta el posterior comando systemctl para iniciar y habilitar el servicio PostgreSQL.

sudo systemctl start postgresql
sudo systemctl enable postgresql

A continuación, verifica el servicio PostgreSQL utilizando el posterior comando.

sudo systemctl status postgresql

Deberías cobrar un resultado como éste: el servicio PostgreSQL se está ejecutando y está recaudador, lo que significa que PostgreSQL se iniciará automáticamente al nacer.

verificar postgresql

Ahora que has configurado la autenticación de contraseña para el servidor PostgreSQL, ya está en marcha. A continuación, configurarás una nueva contraseña para el afortunado«postgres» por defecto y crearás una nueva pulvínulo de datos y un nuevo afortunado que utilizará NetBox.

Accede al shell de PostgreSQL mediante el posterior comando.

sudo -u postgres psql

Ejecuta la posterior consulta para establecer una nueva contraseña para el afortunado«postgres» predeterminado de PostgreSQL. Asegúrate de cambiar la contraseña en la posterior consulta.

ALTER USER postgres WITH PASSWORD 'PostgreSQLPass';

cambiar contraseña postgres

A continuación, ejecuta la posterior consulta para crear una nueva pulvínulo de datos PostgreSQL y un nuevo afortunado. Asegúrate incluso de cambiar la contraseña por defecto en la posterior consulta.

En este ejemplo, crearás una nueva pulvínulo de datos‘netboxdb‘ con el afortunado‘netbox‘ que se utilizará para la instalación de NetBox.

CREATE DATABASE netboxdb;
CREATE USER netbox WITH ENCRYPTED PASSWORD 'NetBoxRocks';
GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netbox;

Ahora pulsa Ctrl+d o escribe quit para salir.

crear base de datos y usuario

Por postrer, ejecuta el posterior comando para ceder al shell PostgreSQL a través del nuevo afortunado ‘netbox‘ a la nueva pulvínulo de datos ‘netboxdb‘. Cuando se te pida la contraseña, introdúcela.

sudo -u postgres psql --username netbox --password --host localhost netboxdb

Tras ceder al shell PostgreSQL, ejecuta la posterior consulta para compulsar tu conexión contemporáneo.

conninfo

Recibirás una salida como ésta – Te has conectado al servidor PostgreSQL a través del afortunado‘netbox‘ a la pulvínulo de datos‘netboxdb‘.

verificar conexión

Con PostgreSQL instalado, la pulvínulo de datos y el afortunado creado, a continuación instalarás Redis, que se utilizará como apoderado de personalidad en la aplicación web NetBox.

Instalar y configurar Redis

Redis es una pulvínulo de datos clave-valor gratuita y de código despejado que NetBox utilizará para la papeleo de la personalidad y la papeleo de colas. En el momento de escribir esto, NetBox requería al menos el servidor Redis v4, y el repositorio Rocky Linux por defecto proporciona Redis v6 y es adecuado para tu despliegue de NetBox.

Instala Redis en tu servidor Rocky Linux mediante el posterior comando dnf.

sudo dnf install redis

Introduce y cuando se te solicite y pulsa ENTER para continuar.

instalar redis

Una vez instalado Redis, abre el archivo de configuración de Redis ‘/etc/redis/redis.conf ‘ utilizando el posterior comando del editor nano.

sudo nano /etc/redis/redis.conf

Descomenta el parámetro ‘requirepass’ e introduce la nueva contraseña de tu servidor Redis.

requirepass RedisPasswordNetBox

Protector el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el posterior comando systemctl para iniciar el servidor Redis y habilitarlo.

sudo systemctl start redis
sudo systemctl enable redis

iniciar activar redis

A continuación, verifica el servidor Redis mediante la posterior utilidad de comandos systemctl.

sudo systemctl status redis

En la salida, deberías ver que el servidor Redis está recaudador y se ejecutará automáticamente al nacer. Y el estado del servidor Redis es en ejecución.

verificar redis

Para compulsar la instalación de Redis, accederás a Redis mediante el comando«redis-cli» que aparece a continuación.

redis-cli

Si ejecutas la consulta ping, deberías cobrar una salida como ‘(error) NOAUTH authentication required‘. Necesitas estar autenticado para ejecutar el comando «ping«.

ping

Ejecuta la posterior consulta Redis para autenticarte en el servidor Redis. Asegúrate de cambiar la contraseña. Si te has autenticado, deberías cobrar un mensaje«OK«.

AUTH RedisPasswordNetBox

Ejecuta de nuevo la consulta ping y deberías obtener una salida ‘PONG«, lo que significa que la consulta se ha ejecutado correctamente y te has autenticado en el servidor Redis.

ping

redis verificar ping

Llegados a este punto, ya has instalado el servidor de bases de datos PostgreSQL y la pulvínulo de datos clave-valor Redis en Rocky Linux. Ahora estás ligero para iniciar la instalación de NetBox.

Instalación de Netbox IRM

NetBox es una aplicación web escrita con Python Django Framework. La traducción contemporáneo de NetBox requiere al menos Python 3.8, 3.9, 3.10 o 3.11. Y el Python por defecto en Rocky Linux 9 es Python 3.9, que es adecuado para el despliegue de NetBox.

Para originarse, ejecuta el posterior comando dnf para instalar las dependencias de los paquetes para NetBox. Introduce y cuando te lo pida y pulsa ENTER para continuar.

sudo dnf install gcc libxml2-devel libxslt-devel libffi-devel libpq-devel openssl-devel redhat-rpm-config git

instalar dependencias

A continuación, ejecuta el posterior comando para crear un nuevo afortunado de sistema«netbox» con el directorio principal por defecto«/opt/netbox«.

sudo useradd -r -d /opt/netbox -s /usr/sbin/nologin netbox

Crea un nuevo directorio ‘/opt/netbox’ y traslada a él tu directorio de trabajo. A continuación, descarga el código fuente de NetBox mediante el comando git. El directorio ‘ /opt/netbox ‘ se utilizará como directorio principal de instalación de NetBox.

mkdir -p /opt/netbox; cd /opt/netbox
sudo git clone -b master --depth 1 https://github.com/netbox-community/netbox.git .

Cambia la propiedad del directorio de instalación de NetBox ‘/opt/netbox ‘ al afortunado y familia‘netbox‘. A continuación, mueve tu directorio de trabajo a ‘ /opt/netbox/netbox/netbox‘.

sudo chown -R netbox:netbox /opt/netbox
cd /opt/netbox/netbox/netbox

A continuación, ejecuta el posterior comando para copiar la configuración por defecto de NetBox en ‘configuration.py‘. A continuación, genera la SECRET_KEY mediante el script de Python ‘../generate_secret_key.py‘.

sudo -u netbox cp configuration_example.py configuration.py
sudo -u netbox python3 ../generate_secret_key.py

Ahora copia la CLAVE_ECRETA generada. Ésta se utilizará para configurar la instalación de NetBox.

configurar netbox

Abre el archivo de configuración de NetBox‘configuration.py‘ utilizando el comando del editor nano que aparece a continuación.

sudo -u netbox nano configuration.py

Asegúrate de añadir tu nombre de dominio al parámetro‘ALLOWED_HOSTS‘, introduce los detalles de la pulvínulo de datos PostgreSQL y el afortunado para NetBox, introduce la contraseña de Redis que has configurado, y pega la SECRET_KEY generada en el parámetro‘SECRET_KEY‘.

# domain and IP address
ALLOWED_HOSTS = ['netbox.hwdomain.io', '192.168.5.59']

# database configuration
DATABASE = {
‘NAME’: ‘netboxdb’,               # Database name
‘USER’: ‘netbox’,               # PostgreSQL username
‘PASSWORD’: ‘NetBoxRocks’, # PostgreSQL password
‘HOST’: ‘localhost’,            # Database server
‘PORT’: »,                     # Database port (leave blank for default)
‘CONN_MAX_AGE’: 300,            # Max database connection age (seconds)
}

# Redis cache configuration
REDIS = {
‘tasks’: {
‘HOST’: ‘localhost’,      # Redis server
‘PORT’: 6379,             # Redis port
‘PASSWORD’: ‘RedisPasswordNetBox’,           # Redis password (optional)
‘DATABASE’: 0,            # Database ID
‘SSL’: False,             # Use SSL (optional)
},
‘caching’: {
‘HOST’: ‘localhost’,
‘PORT’: 6379,
‘PASSWORD’: ‘RedisPasswordNetBox’,
‘DATABASE’: 1,            # Unique ID for the second database
‘SSL’: False,
}
}

# Secret key
SECRET_KEY = ‘-K0AV#USk(!-6hAEF-8NMgweJh6ex&+j0Kb$N7bi=*jsF9TOg*’

Protector y sal del archivo cuando hayas terminado.

Ahora ejecuta el posterior script ‘/opt/netbox/actualizacion.sh para iniciar la instalación de NetBox IRM.

sudo -u netbox /opt/netbox/upgrade.sh

Esto creará un entorno supuesto Python para la aplicación web NetBox, instalará las dependencias Python necesarias a través del repositorio PyPI, ejecutará la migración de la pulvínulo de datos para NetBox y, por postrer, generará archivos estáticos para la aplicación web NetBox.

A continuación se muestra una salida cuando se ejecuta el script upgrade.sh.

instalar netbox irm

A continuación se muestra el mensaje de salida cuando finaliza la instalación de NetBox.

instalar terminado

Llegados a este punto, ya has instalado el IRM de NetBox en tu sistema. Pero aún tienes que configurar la instalación de NetBox.

Configurar el IRM NetBox

En este paso, configurarás la instalación de NetBox IRM creando un afortunado administrador para NetBox, configurando cron y configurando los servicios systemd para NetBox.

Para originarse, ejecuta el posterior comando para activar el entorno supuesto Python para tu instalación de NetBox.

source /opt/netbox/venv/bin/activate

Una vez activado, tu prompt será como ‘(venv) [email protected]….’.

A continuación, mueve el directorio de trabajo a‘/opt/netbox/netbox‘ y ejecuta el script Django‘manage.py‘ para crear un nuevo afortunado administrador de NetBox.

cd /opt/netbox/netbox
python3 manage.py createsuperuser

Introduce el nuevo afortunado administrador, el correo electrónico y la contraseña de tu NetBox. Deberías cobrar el mensaje«Superusuario creado correctamente«, lo que significa que se ha creado el afortunado administrador de NetBox.

cretae admin usuario

A continuación, ejecuta el posterior comando para configurar el cron que se ejecutará diariamente. El script‘netbox-housekeeping.sh‘ se utiliza para hurtar tu entorno NetBox, esto eliminará tareas caducadas, sesiones antiguas o cualquier registro caducado.

sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

Posteriormente de configurar un cron para NetBox, configurarás NetBox para que se ejecute con Gunicorn.

Ejecuta el posterior comando para copiar la configuración de Guncorn en ‘/opt/netbox/gunicorn.py‘. A continuación, abre el archivo de configuración de Gunicorn ‘/opt/netbox/gunicorn.pyutilizando el posterior comando del editor nano.

sudo -u netbox cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
sudo -u netbox nano /opt/netbox/gunicorn.py

Cambia el parámetro‘bind‘ por la posterior andana. Esto ejecutará la aplicación web NetBox localmente con el puerto‘8001‘.

bind = '127.0.0.1:8001'

Protector y xit el archivo cuando hayas terminado.

configuración mand verificar

A continuación, ejecuta el posterior comando para copiar los servicios systemd por defecto para NetBox en el directorio ‘/etc/systemd/system‘. Esto copiará el archivo de servicio‘netbox‘ y‘netbox-rq‘ que se utilizarán para administrar NetBox.

sudo cp -v /opt/netbox/contrib/*.service /etc/systemd/system/

Ahora ejecuta la posterior utilidad de comandos systemctl para recargar el apoderado systemd y aplicar los nuevos cambios a tu sistema.

sudo systemctl daemon-reload

Por postrer, ejecuta el posterior comando systemctl para iniciar y activar el servicio «netbox-rq«. Esto incluso iniciará automáticamente el servicio principal «netbox«.

sudo systemctl start netbox netbox-rq
sudo systemctl enable netbox netbox-rq

activar netbox

Ahora verifica los servicios «netbox-rq» y«netbox» mediante el posterior comando systemcl.

sudo systemctl status netbox
sudo systemctl status netbox-rq

La salida del estado del servicio «netbox-rq«.

verificar netbox-rq

La salida del servicio «netbox«.

verificar netbox

En este punto, el IRM de NetBox se está ejecutando como un servicio systemd y se está ejecutando como una aplicación WSGI con Gunicorn. En el posterior paso, instalarás y configurarás httpd como proxy inverso para NetBox.

Configurar httpd como proxy inverso

Con NetBox funcionando como una aplicación WSGI con Gunicorn, ahora instalarás y configurarás el servidor web httpd como proxy inverso para NetBox. Instalarás el paquete httpd, crearás un nuevo archivo de host supuesto httpd y, a continuación, iniciarás y activarás el servicio httpd. Por postrer, incluso configurarás el firewalld para desobstruir los puertos HTTP y HTTPS.

Ejecuta el posterior comando dnf para instalar el servidor web httpd. Introduce y cuando te pida confirmación y pulsa ENTER para continuar.

sudo dnf install httpd

instalar httpd

A continuación, crea un nuevo archivo de host supuesto httpd ‘/etc/httpd/conf.d/netbox.conf ‘ utilizando el posterior comando del editor nano.

sudo nano /etc/httpd/conf.d/netbox.conf

Añade las siguientes líneas al archivo y asegúrate de cambiar el nombre de dominio ‘netbox.hwdomain.io’ por tu dominio. Con este host supuesto, configurarás un httpd como proxy inverso para la aplicación NetBox que se ejecuta como una aplicación WSGI en el puerto‘8001‘.

<VirtualHost *:80>
    ProxyPreserveHost On

# CHANGE THIS TO YOUR SERVER’S NAME
ServerName netbox.hwdomain.io

Mote /static /opt/netbox/netbox/static

<Directory /opt/netbox/netbox/static>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>

<Location /static>
ProxyPass !
</Location>

RequestHeader set «X-Forwarded-Proto» expr=%{REQUEST_SCHEME}
ProxyPass / http://127.0.0.1:8001/
ProxyPassReverse / http://127.0.0.1:8001/
</VirtualHost>

Protector el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el posterior comando apachectl para compulsar la configuración del httpd. Y si la configuración de httpd es correcta, deberías cobrar una salida como‘Sintaxis OK‘.

sudo apachectl configtest

verificar host virtual

Ahora ejecuta el posterior comando systemctl para iniciar y habilitar el servidor web httpd.

sudo systemctl start httpd
sudo systemctl enable httpd

A continuación, verifica el servidor web httpd para asegurarte de que el servicio se está ejecutando. Deberías cobrar un mensaje indicando que el servidor web httpd se está ejecutando y está recaudador, lo que significa que el servidor web httpd se iniciará automáticamente al nacer.

sudo systemctl status httpd

verificar httpd

Con esto, la aplicación NetBox está en ejecución y accesible. Pero ayer, debes desobstruir los puertos HTTP y HTTPS en firewalld.

Ejecuta el posterior comando firewall-cmd para desobstruir los servicios HTTP y HTTPS. A continuación, recarga el firewalld para aplicar los cambios.

sudo firewall-cmd --add-servic={http,https} --permanent
sudo firewall-cmd --reload

Comprueba el estado de firewalld mediante el posterior comando.

sudo firewall-cmd --list-all

Una salida como ésta te mostrará que los servicios HTTP y HTTPS se han añadido al firewalld.

configurar firewalld

Con esto, ya tienes la aplicación web NetBox en ejecución y accesible – Puedes ceder a la instalación de NetBox, pero con un protocolo HTTP inseguro. En el posterior paso, asegurarás la instalación de NetBox con certificados SSL/TLS mediante Certbot y Letsencrypt.

Afirmar NetBox IRM con SSL Letsencrypt

En este paso, asegurarás la instalación de NetBox con certificados SSL/TLS que pueden generarse a través de Certbot y Letsencrypt. Ayer de originarse, asegúrate de que el nombre de dominio apunta a la dirección IP del servidor. Asegúrate incluso de que tienes una dirección de correo electrónico que utilizarás para registrarte en Letsencrypt.

Instala la aparejo Certbot y el plugin httpd/Apache mediante el posterior comando dnf.

sudo dnf install certbot python3-certbot-apache

Introduce y cuando se te solicite y pulsa ENTER para continuar.

instalar certbot

Una vez instalado Certbot, ejecuta el posterior comando para suscitar certificados SSL/TLS para tu nombre de dominio. Encima, asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico en el posterior comando.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d netbox.hwdomain.io

Este comando generará los nuevos certificados SSL/TLS para tu nombre de dominio. Encima, esto configurará automáticamente HTTPS en tu configuración de host supuesto httpd y configurará la redirección cibernética de HTTP a HTTPS para tu archivo de host supuesto NetBox. Los certificados SSL/TLS de Certbot se generan en el directorio‘/etc/elstencrypt/live/netbox.hwdomain.io/‘.

Iniciar sesión en NetBox

Abre tu navegador web y recepción el nombre de dominio de tu instalación de NetBox (es aseverar: https://netbox.hwdomain.io/).

Verás la página de inicio por defecto de tu instalación NetBox – Esto es como una perspicacia previa sólo de tu instalación NetBox.

netbox inicio

Haz clic en el pimpollo«Iniciar sesión» del menú superior derecho y serás redirigido a la pantalla de inicio de sesión de NetBox.

Inicia sesión con tu afortunado y contraseña de administrador, y luego haz clic en ‘Iniciar sesión‘.

netbox de acceso

Cuando tengas el afortunado y la contraseña adecuados y correctos para NetBox, ya deberías poseer iniciado sesión en el panel de delegación de NetBox.

cuadro de mandos de netbox

Con esto, ya has terminado la instalación de NetBox IRM con PostgreSQL, Redis, Gunciron y el servidor web httpd.

Conclusión

En este tutorial, has instalado el software de Modelado de Medios de Infraestructura (IRM) NetBox en un servidor Rocky Linux 9. Has configurado NetBox con un servidor de pulvínulo de datos PostgreSQL, Redis como papeleo de personalidad, y el servidor web httpd como proxy inverso en un servidor Rocky Linux.

A través del tutorial, incluso has aprendido a configurar la autenticación en PostgreSQL, activar la autenticación en Redis, configurar httpd como proxy inverso y estabilizar NetBox con certificados SSL/TLS mediante Certbot y Letsencrypt.

Con NeBox completamente instalado, ahora puedes integrar NetBox en tus centros de datos, añadir integración con la API REST o añadir autenticación de terceros mediante LDAP, Azure AD y Okta como backend SSO (Single Sign-On).




Jenkins es un sistema de construcción continua de código hendido. Es una aplicación basada en servidor escrita en Java, y normalmente se ejecuta como un servicio en segundo plano en máquinas Windows o Unix. Utilizamos Jenkins para supervisar automáticamente el repositorio de cambios de nuestro código fuente. En cuanto alguno introduce sus cambios en el repositorio central de código fuente, Jenkins analiza los nuevos archivos fuente en escudriñamiento de cambios. Si encuentra que el archivo fuente ha cambiado desde nuestra última compilación, entonces Jenkins inicia una nueva compilación en nuestro Servidor de Integración Continua.

Jenkins nos ayuda sustancialmente con dos tareas importantes:

  • Se asegura de que todos los desarrolladores trabajan con la última lectura de los fuentes del tesina.
  • Avisa a todos en caso de que poco vaya mal durante una compilación o despliegue.

Jenkins es compatible con muchas herramientas DevOps de trámite de código (SCM), como BitBucket, Git, CVS, Mercurial, Perforce, etc. Al utilizar Jenkins para sondear los cambios en nuestro repositorio de código fuente, podemos asegurarnos de que todos los desarrolladores tienen la última copia de las fuentes del tesina y de que están trabajando con estos nuevos cambios.

Por ejemplo, el desarrollador A comprueba una lectura nueva del sistema de control de código fuente principal del tesina, y una vez que ha realizado algunos cambios en algunos archivos, puede expedir sus confirmaciones locales para que otros desarrolladores puedan utilizarlas. El desarrollador B puede favor estado editando el mismo archivo más o menos en ese momento, y entonces incluso introduce sus cambios en el repositorio central de código. De repente, cada vez que el desarrollador A intente consultar su copia locorregional del tesina, se le notificará que hay cambios más recientes disponibles en el repositorio central de código. Esto nos evita tener que sacar cambios a medias o desactualizados de otros desarrolladores y perder nuestras propias ediciones de vez en cuando.

En esta tutela, te guiaremos a través del proceso de instalación y configuración de un servidor Jenkins en una máquina Rocky Linux 8. Esta tutela incluso es aplicable a otros sistemas operativos Red Hat Linux y SUSE Linux.

Requisitos previos

  • Un servidor con una instalación nueva de Rocky Linux 8, con un reducido de 1 GB de RAM. 10 GB de espacio rescatado para cada contenedor docker que Jenkins vaya a crear.
  • Un usufructuario no root con privilegios sudo.
  • Esta tutela asume que tu servidor puede aceptar a Internet, ya sea a través de una conexión directa o a través de un router/proxy recto.

Paso 1: Modernizar el sistema

Lo primero que tenemos que hacer es poner al día nuestro sistema. Es importante hacer borrón y cuenta nueva actualizando todos los paquetes existentes en nuestra máquina.

sudo dnf update

o

sudo yum update

Se recomienda reiniciar el sistema si has actualizado algún paquete importante del sistema, como el Kernel, para asegurarte de que los cambios se aplican correctamente.

sudo reboot now

Vuelve a iniciar sesión con el mismo usufructuario no root y continúa con el sucesivo paso.

Paso 2: Instalar Java

Jenkins necesita el Kit de Ampliación de Java (JDK) para funcionar, así que tendremos que instalarlo. El JDK es un paquete de la mayoría de las distribuciones de Linux que contiene el entorno de ejecución de Java (JRE) y otras herramientas para ejecutar/desarrollar aplicaciones y bibliotecas escritas en el jerga de programación Java.

Tanto el JDK 11 como el JDK 8 están disponibles en el repositorio oficial de Rocky Linux 8. Puedes comprobar qué lectura del JDK está habitable en tu sistema escribiendo el sucesivo comando.

sudo dnf search java-*-openjdk

Deberías ver un resultado como el sucesivo.

Instalar Java

Jenkins puede funcionar tanto con JDK 11 como con JDK 8, pero algunos plugins antiguos de Jenkins pueden no ser compatibles con JDK 11. Se recomienda utilizar JDK 8. En este paso, instalaremos JDK 8 utilizando el sucesivo comando.

sudo dnf install java-1.8.0-openjdk -y

Una vez instalado java, puedes revisar que se ha instalado correctamente comprobando su lectura.

java -version

Deberías ver una salida como la sucesivo.

versión java

Paso 3: Añadir el repositorio Jenkins

El paquete Jenkins no está incluido en el repositorio oficial de Rocky Linux 8. Tienes que añadir un repositorio Jenkins para que el sistema descargue e instale el paquete desde él. Nosotros utilizaremos el repositorio oficial de Jenkins proporcionado por el equipo de Jenkins.

sudo dnf install wget -y
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

Ahora, añade la secreto GPG para el repositorio utilizando el comando rpm.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Comprobemos si el repositorio se ha añadido correctamente o no utilizando el sucesivo comando.

sudo dnf repolist

Si todo ha ido correctamente, deberías ver una salida como la sucesivo.

Paso 4: Instalar el Servidor Jenkins

Ayer de instalar el servidor Jenkins, actualiza los repositorios utilizando el sucesivo comando:

sudo dnf update -y

Ahora, puedes instalar el servidor Jenkins escribiendo el sucesivo comando.

sudo dnf install jenkins -y

Si no aparece ningún error ni ningún mensaje específico en la pantalla a posteriori de escribir el comando precursor, significa que la instalación de Jenkins se ha realizado correctamente. Para comprobar si todo se ha instalado correctamente, ejecuta el sucesivo comando:

sudo systemctl status jenkins

La salida de este comando debería ser poco parecido a esto.

 estado jenkins

Si el servicio jenkins no se está ejecutando, puedes iniciarlo escribiendo el sucesivo comando.

sudo systemctl start jenkins

Para que el servicio jenkins se inicie automáticamente cada vez que reinicies el sistema, escribe:

sudo systemctl enable jenkins

Paso 5: Configurar el cortafuegos

Si instalas Jenkins en un servidor detrás de un cortafuegos, tendrás que brindar algunos puertos tanto en el cortafuegos como en la máquina anfitriona para que se pueda aceptar a Jenkins.

Jenkins utiliza el puerto 8080 por defecto para el acercamiento remoto, así que puede que quieras brindar este puerto para permitir una conexión externa.

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

Recarga tu cortafuegos para aplicar los cambios que has realizado.

sudo firewall-cmd --reload

Si se han realizado correctamente, el puerto 8080 debería estar hendido en la zona externa de tu cortafuegos. Puedes comprobarlo ejecutando el sucesivo comando.

sudo firewall-cmd --list-all

Deberías obtener una salida como ésta.

Configurar el cortafuegos

Paso 6: Configurar el servidor Jenkins

Abre un navegador web y escribe la dirección IP del servidor con el puerto 8080 para aceptar a Jenkins.

http://server_IP_address:8080

Donde: dirección_IP_servidor es la dirección IP auténtico de tu servidor. Por ejemplo, para aceptar al servidor Jenkins en 192.168.1.5, escribirías http://192.168.1.5:8080.

Debería aparecer la página de Presentación a Jenkins, con un consejo sobre cómo recuperar una contraseña auténtico de administrador.

Configurar el servidor Jenkins

Se alcahuetería de una contraseña temporal creada automáticamente (pero no mostrada) por el servidor Jenkins durante la instalación.

Vuelve a tu terminal y ejecuta el sucesivo comando para recuperar la contraseña.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Esto imprimirá la contraseña de administrador en tu terminal.

Configurar el servidor Jenkins

Copia y pega esta contraseña en el campo de la contraseña auténtico de administrador en la página de Inicio de Jenkins. Haz clic en Continuar en la parte inferior derecha.

Configurar el servidor Jenkins

Accederás a la página de plug-ins. Selecciona la opción Instalar plugins sugeridos y haz clic en Instalar en la parte inferior de la página.

Configurar el servidor Jenkins

Esto instala un conjunto standard de plugins que son necesarios para que Jenkins funcione correctamente.

Configurar el servidor Jenkins

Una vez completada la instalación, accederás a la página Crear primer usufructuario administrador. Escribe un nombre de usufructuario y una contraseña para el primer usufructuario administrador. Y haz clic en Vigilar y continuar.

Configurar el servidor Jenkins

Aparecerá una página de Configuración de Instancia, en la que deberás especificar la URL raíz de tu servidor Jenkins. Mantén la predeterminada y haz clic en Vigilar y finalizar.

Configurar el servidor Jenkins

 

Por zaguero, haz clic en Comenzar a utilizar Jenkins en la última página.

 

Configurar el servidor Jenkins

Accederás al panel de Jenkins, donde empezarás a crear tu primer tesina.

Configurar el servidor Jenkins

La instalación y configuración de Jenkins ya están completas.

Conclusión

En este tutorial, has aprendido a instalar Jenkins en un sistema Rocky Linux 8. Ahora puedes disfrutar de las ventajas de la integración continua y la entrega continua en tu proceso de exposición de proyectos. ¡Oportuno programación!

Para más información sobre Jenkins, consulta la documentación oficial de Jenkins.

Si tienes alguna pregunta o sugerencia, no dudes en dejar un comentario a continuación.




MS SQL Server o Microsoft SQL Server es un RDBMS (Sistema de Mandato de Bases de Datos Relacionales) desarrollado por Microsoft. Como servidor de bases de datos, se utiliza para juntar datos para tus aplicaciones. El Servidor SQL es ideal para múltiples propósitos de aplicaciones, puedes utilizar MS SQL Server como pulvínulo de datos para tus aplicaciones de escritorio, utilizarlo para tus aplicaciones web, o cualquier pequeña aplicación de servidor.

En este tutorial, te mostraré cómo instalar MS SQL Server en un servidor Rocky Linux, configurar SQL Tools para diligenciar SQL Server y todavía memorizar el funcionamiento central de SQL Server para diligenciar bases de datos.

Requisitos previos

Antiguamente de emprender con esta prontuario, asegúrate de que tienes los siguientes requisitos:

  • Un servidor Rocky Linux – este ejemplo utiliza el Rocky Linux v8.x.
  • Un heredero natural o no root con privilegios sudo root – aunque todavía puedes utilizar el heredero root.
  • SELinux con modo permisivo.

Añadir repositorio

MS SQL Server es uno de los populares RDBMS (Sistemas de Mandato de Bases de Datos Relacionales) creados por Microsoft. Para instalar SQL Server, debes añadir el repositorio oficial de SQL Server a tu sistema.

Ahora, añadirás el repositorio de SQL Server para SQL Server 2019.

Antiguamente de añadir el repositorio de SQL Server, ejecuta el posterior comando dnf para instalar las dependencias básicas.

sudo dnf install dnf-plugins-core curl -y

A continuación, ejecuta el posterior comando curl para descargar el repositorio de SQL Server en tu servidor Rocky Linux. El nuevo repositorio de SQL Server se guardará en ‘/etc/yum.repos.d/mssql-server.repo’.

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo

Por zaguero, comprueba la repertorio de repositorios disponibles en tu sistema mediante el posterior comando dnf. Deberías obtener el repositorio de MS SQL Server 2019 añadido a tu servidor Rocky Linux.

sudo dnf repolist

configurar repositorio

Ahora que el repositorio de MS SQL Server está añadido, a continuación instalarás el paquete de MS SQL Server y empezarás a configurarlo.

Instalar MSSQL Server

Una vez añadido el repositorio, ahora iniciarás la instalación y configuración de MS SQL Server. Puedes instalarlo mediante el comando dnf, y emprender a configurar el servidor SQL mediante el comando ‘mssql-conf’ que proporcionan los paquetes de SQL Server.

Ejecuta el posterior comando dnf para instalar el Servidor SQL en el servidor Rocky Linux.

sudo dnf install mssql-server

Cuando se te pida la configuración, introduce y y pulsa ENTER para continuar.

instalar servidor mssql

Encima, se te pedirá que aceptes la secreto GPG del repositorio de MS SQL Server. Introduce y y pulsa ENTER de nuevo para continuar, y comenzará la instalación.

clave gpg

Una vez instalado SQL Server, empieza a configurarlo con la aparejo‘mssql-conf‘.

Ejecuta el posterior comando ‘mssql-confsetup‘ para establecer y configurar la instalación de SQL Server.

sudo /opt/mssql/bin/mssql-conf setup
  • Elige la tiraje de MS SQL Server que quieras instalar. En este ejemplo, instalarás MS SQL Server Express. Luego, introduce el número 3 y pulsa INTRO.
  • En cuanto a las Condiciones de Osadía, introduce «Sí» para aceptarlas.
  • Por zaguero, introduce la nueva contraseña para tu instalación de MS SQL Server y repite la contraseña.

configurar ms sql server

Cuando termine la configuración de SQL Server, verás un mensaje como el posterior. Puedes ver el mensaje en tu terminal ‘Laconfiguración se ha completado correctamente. SQL Server se está ejecutando‘.

sql server se está ejecutando

A continuación, verifica el servicio ‘mssql-server ‘ mediante el posterior comando systemctl para asegurarte de que el servicio se está ejecutando.

sudo systemctl is-enabled mssql-server
sudo systemctl status mssql-server

Verás que«mssql-server » está activado y se ejecutará automáticamente al nacer el sistema. Y el estado presente es en ejecución.

verificar sql server

Si quieres permitir el acercamiento remoto a tu MS SQL Server en tu entorno específico, debes añadir el puerto de MS SQL Server al firewalld.

Por defecto, SQL Server se ejecuta en el puerto TCP 1433, ejecuta el posterior comando firewall-cmd para añadir el puerto de SQL Server y, a continuación, vuelve a cargar para aplicar los nuevos cambios.

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

El MS SQL Server ya está instalado y configurado. A continuación, instalarás MS SQL Tools, que se utilizará para conectar y diligenciar SQL Server.

Instalar y configurar las Herramientas SQL

MS SQL Tools es una aparejo de límite de comandos proporcionada por Microsoft para diligenciar SQL Server. Contiene dos herramientas diferentes, la ‘sqlcmd’ es el cliente SQL para diligenciar el SQL Server, y la aparejo ‘bcp’ es para la utilidad de importación-exportación y copia de seguridad.

Las Herramientas SQL tienen su paquete repositorio. Luego, ahora añadirás el repositorio de SQL Tools y, a continuación, instalarás y configurarás SQL Tools en el sistema ROcky Linux.

Ejecuta el posterior comando para añadir el repositorio de SQL Tools a tu sistema Rocky Linux.

sudo curl -o /etc/yum.repos.d/mssql-prod.repo https://packages.microsoft.com/config/rhel/8/prod.repo

Puedes efectuar la repertorio de repositorios en tu sistema mediante el posterior comando dnf. Verás que el repositorio de SQL Tools está añadido.

sudo dnf repolist

añadir repo sql

A continuación, ejecuta el posterior comando para instalar SQL Tools en tu servidor Rocky Linux.

sudo dnf install mssql-tools unixODBC-devel

Cuando se te pida que confirmes la instalación, introduce y y pulsa INTRO para continuar.

instalar herramientas sql

Todavía se te pedirá que confirmes la secreto GPP del repositorio de SQL Tools. Introduce y para añadir la secreto GPG y pulsa ENTER para confirmar.

Encima, se te pedirán dos condiciones de Osadía para las Herramientas SQL. Introduce Sí para aceptar ambas Licencias y comenzará la instalación.

aceptar licencia

Una vez instaladas las Herramientas SQL, puedes comprobar el directorio de instalación de las Herramientas SQL en ‘/opt/mssql-tools’. Puedes ver varios directorios para las configuraciones de las Herramientas SQL y el directorio bin, donde se almacena el ejecutable principal de las Herramientas SQL.

A continuación, debes añadir el directorio bin de las Herramientas SQL‘/opt/mssql-tools/bin‘ a la variable de entorno PATH mediante el archivo‘~/.bashrc‘. Esto te permitirá ejecutar las Herramientas SQL sin una ruta completa a los archivos binarios ejecutables.

Ejecuta el posterior comando para añadir el directorio bin de las Herramientas SQL a la variable de entorno PATH.

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

Ahora, vuelve a cargar la configuración ~/.bashrc y comprueba la variable de entorno PATH. Verás que el directorio bin de las Herramientas SQL‘/opt/mssql-tools/bin‘ se ha añadido a la variable de entorno PATH.

source ~/.bashrc
echo $PATH

configurar herramientas sql

Todavía puedes verificarlo utilizando el posterior comando. Esto localizará el archivo binario de las Herramientas SQL‘sqlcmd‘ y‘bcp‘, que está almacenado en el directorio ‘/opt/mssql-tools/bin‘.

which sqlcmd
which bcp

Una vez instaladas las Herramientas SQL, ahora aprenderás a conectarte al Servidor SQL mediante el comando ‘sqlcmd‘.

Conectarse al Servidor SQL utilizando las Herramientas SQL

Llegados a este punto, ya has instalado y configurado el MS SQL Server y las Herramientas SQL en el servidor Rocky Linux. A continuación, aprenderás a conectarte al Servidor SQL mediante las Herramientas SQL ‘sqlcmd‘.

Ejecuta el posterior comando ‘sqlcmd‘ para conectarte al Servidor SQL. Encima, cambia la contraseña por la contraseña de tu Servidor SQL que se configuró durante la grado de instalación.

sqlcmd -S localhost -U SA -P 'YourPassword'

A posteriori de conectarte al Servidor SQL, ejecuta la posterior consulta para efectuar la traducción presente del Servidor SQL que acabas de instalar.

select @@version
go

Verás un resultado como el posterior La traducción presente del Servidor SQL que se instaló es«Microsoft SQL Server 2019«.

conectarse al servidor mssql

A continuación, todavía puedes comprobar y efectuar las bases de datos predeterminadas disponibles en el Servidor SQL mediante las siguientes consultas. Verás cuatro bases de datos predeterminadas en SQL Server, que son master, tempdb, model y msdb.

select name from sys.databases;
go

Ahora puedes pulsar‘Ctrl+c’ para salir de las Herramientas SQL‘sqlcmd‘.

Operaciones básicas MS SQL Server

Ahora que has aprendido a conectarte a SQL Server mediante el comando ‘sqlcmd‘. A continuación, aprenderás las consultas básicas de los servidores SQL para diligenciar bases de datos.

Ejecuta la posterior consulta para crear una nueva pulvínulo de datos SQL Server‘TestDB‘.

CREATE DATABASE TestDB

Ahora comprueba la repertorio de la pulvínulo de datos en tu Servidor SQL mediante la posterior consulta. Y deberías obtener que la nueva pulvínulo de datos ‘TestDB‘ está creada.

SELECT Name from sys.Databases
GO

crear base de datos

A continuación, cambia la nueva pulvínulo de datos ‘TestDB‘ mediante la posterior consulta. Ahora deberías ver la salida«Cambiado el contexto de la pulvínulo de datos a‘TestDB’». Con esto en mente, ahora puedes crear una nueva tabla e insertar datos en ella.

USE TestDB
GO

Ejecuta la posterior consulta para crear una nueva tabla. En este ejemplo, crearás una nueva tabla ‘usuarios’ con algunos nociones adentro de id, nombre_apellido, email, y el last_login.

CREATE TABLE users (
    id INT PRIMARY KEY IDENTITY (1, 1),
    first_name VARCHAR (50) NOT NULL,
    last_name varchar(50) NOT NULL,
    email varchar(50),
    last_login DATE NOT NULL
);
GO

crear tabla

Ahora, ejecuta la posterior consulta para insertar nuevos datos en la tabla ‘usuarios‘. Puedes ver la salida como «(1 filas afectadas)«, lo que significa que realizas cambios en la tabla.

INSERT INTO users (first_name, last_name, email, last_login) VALUES ('Alice', 'Wonderland', '[email protected]', '20220901');
GO

insertar datos

A continuación, ejecuta la posterior consulta para recuperar los datos de la tabla ‘usuarios’. Deberías ver los datos que acabas de añadir.

SELECT * FROM users
GO

recuperar datos

Por zaguero, para duchar la instalación de tu entorno SQL Server, puedes ejecutar la posterior consulta para eliminar la pulvínulo de datos‘TestDB‘.

DROP DATABASE TestDB
GO

Ahora comprueba la repertorio de bases de datos disponibles en tu sistema mediante la posterior consulta. Verás que la pulvínulo de datos ‘TestDB‘ se ha eliminado de tu SQL Server.

SELECT Name from sys.Databases
GO

borrar base de datos

Conclusión

En esta prontuario, has instalado y configurado MS SQL Server en el sistema Rocky Linux. Todavía has aprendido a instalar y configurar SQL Tools en Rocky Linux para diligenciar MS SQL Server.

Al final, todavía aprendiste el uso central de las Herramientas SQL‘sqlcmd‘ para conectarte al Servidor SQL y aprendiste el funcionamiento central del Servidor SQL para crear una pulvínulo de datos, y una tabla, insertar datos, y todavía recuperar datos de la pulvínulo de datos.




GoAccess es un analizador de registros mudable y de código libre que puede interpretar y analizar archivos de registro de múltiples formatos, incluyendo Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, Caddy, etc. Está escrito en jerga C y utiliza la biblioteca ncurses para su interfaz de panel de control, a la que se puede conseguir desde la linde de comandos.

Puede producir informes en formato HTML, JSON y CSV, que pueden compartirse con otros. Incluso puede producir informes HTML en tiempo vivo que pueden mostrarse a través de un enlace manifiesto.

En este tutorial, aprenderás a instalar GoAccess Analyzer en un servidor Rocky basado en Linux y a configurarlo para que lea los registros de Nginx y genere informes en tiempo vivo.

Requisitos previos

  1. Un servidor con Rocky Linux 8.
  2. Un adjudicatario no root con privilegios sudo.
  3. Nginx ejecutándose en el servidor para conseguir a los registros.
  4. Asegúrate de que todo está actualizado.
    $ sudo dnf update
    

Paso 1 – Instala las dependencias para GoAccess

La última interpretación de GoAccess v1.5.2 no está adecuado en el repositorio por defecto. Para instalar la última interpretación de GoAccess, vamos a compilarla desde el código fuente. El primer paso es descargar las dependencias necesarias para construir el paquete GoAccess.

$ sudo dnf install ncurses-devel libmaxminddb-devel openssl-devel 
$ sudo dnf groupinstall 'Development Tools'

Paso 2 – Descargar e instalar GoAccess

Descarga la última interpretación del archivo de GoAccess. Puedes encontrar la última interpretación de GoAccess en la página oficial de descargas.

$ wget https://tar.goaccess.io/goaccess-1.5.2.tar.gz

Extrae los ficheros del archivo.

$ tar -xzvf goaccess-1.5.2.tar.gz

Configura e instala el paquete.

$ cd goaccess-1.5.2
$ autoreconf -fi
$ sudo ./configure --enable-utf8 --enable-geoip=mmdb --with-openssl
$ sudo make
$ sudo make install

Comprueba que GoAccess se está ejecutando.

$  goaccess --version
GoAccess - 1.5.2.
For more details visit: https://goaccess.io/
Copyright (C) 2009-2020 by Gerardo Orellana

Build configure arguments:
  --enable-utf8
  --enable-geoip=mmdb
  --with-openssl

Paso 3 – Descarga la Saco de Datos GeoIP

Puedes descargar la Saco de Datos GeoIP desde DB-IP o desde Maxmind. Si vas a descargarla desde Maxmind, tendrás que crear una cuenta y producir una esencia de osadía gratuita. La descarga desde DB-IP puede hacerse directamente.

Descarga el archivo zip del país desde cualquiera de las fuentes anteriores. Una vez descargados, extráelos y sube el archivo .mmdb al servidor a una carpeta personalizada como /home/<user>/geoip.

Paso 4 – Configurar GoAccess

GoAccess almacena su archivo de configuración en /usr/nave/etc/goaccess/goaccess.conf. Puedes comprobar la ubicación del archivo en tu sistema utilizando el próximo comando.

$ goaccess --dcf
/usr/nave/etc/goaccess/goaccess.conf

Abre el archivo para editarlo.

$ sudo nano /usr/nave/etc/goaccess/goaccess.conf

La mayoría de las opciones están comentadas. Puedes utilizar estas opciones a través de la linde de comandos o establecerlas aquí en el archivo. Para activar una opción, elimina el carácter # que aparece delante de ella.

En primer superficie, vamos a activar la opción time-format. En nuestro tutorial analizaremos archivos de Nginx, así que activa la opción destinada a los registros de Apache/Nginx.

# The following time format works with any of the
# Apache/NGINX's log formats below.
#
time-format %H:%M:%S

A continuación, activa la opción date-format de Nginx.

# The following date format works with any of the
# Apache/NGINX's log formats below.
#
date-format %d/%b/%Y

A continuación, activa la opción log-format. En nuestro tutorial, utilizaremos el formato de registro combined, que es el que suele utilizar Nginx.

log-format COMBINED

Si tus archivos de registro contienen el campo Host imaginario, activa en su superficie la próximo opción.

log-format VCOMBINED

Supongamos que deseas un anciano control sobre el formato de registro. En ese caso, puedes habilitar la próximo linde en su superficie (dependiendo del registro al que accedas) y añadir o quitar parámetros según tus micción.

log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Para activar el módulo GeoIP, activa la próximo opción introduciendo la ruta a la saco de datos GeoIP.

# For GeoIP2 Country database:
# Download the GeoLite2-Country.mmdb.gz
# gunzip GeoLite2-Country.mmdb.gz
#
geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb

Cumplimiento el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida una vez hayas terminado.

Paso 5 – Ejecutar GoAccess

Normalmente, si quieres ejecutar GoAccess, tendrás que utilizar el próximo comando.

$ sudo /usr/nave/bin/goaccess /var/log/nginx/access.log

Necesitamos utilizar sudo porque los usuarios normales no pueden desobstruir los archivos de registro. Por otra parte, tendrás que utilizar la ruta completa para el ejecutable con el comando sudo porque éste no reconoce las aplicaciones del directorio /usr/nave/bin. Sin bloqueo, puedes evitar esta muro creando un enlace simbólico.

Para ello, ejecuta el próximo comando.

$ sudo ln -s /usr/nave/bin/goaccess /usr/bin/goaccess

Ahora puedes ejecutar GoAccess directamente.

$ sudo goaccess /var/log/nginx/access.log

Los archivos de registro de Nginx guardan un registro de todo el tráfico HTTP entrante. Si tu servidor lleva funcionando mucho tiempo, verás varios registros de comunicación con los registros más antiguos en formato comprimido .gz. Los archivos de registro más antiguos se generan como resultado de la rotación de registros.

Una vez que ejecutes el comando, te aparecerá el próximo panel de control.

Panel GoAccess

GoAccess te proporciona varios atajos de teclado para navegar por el panel de control.

  • TAB para avanzar por los módulos disponibles y SHIFT+TAB para retroceder.
  • F5 para modernizar el panel de control.
  • g para ir a la parte superior de la pantalla del panel de control y G para ir a la parte inferior.
  • o o ENTER para expandir el módulo seleccionado.
  • j y k para desplazarte en torno a debajo y en torno a en lo alto en el interior del módulo activo.
  • s para mostrar las opciones de distribución del módulo activo.
  • / para averiguar en todos los módulos y n para acaecer a la próximo coincidencia.
  • 0-9 y SHIFT+0 para activar rápidamente el módulo numerado correspondiente.
  • ? para ver el diálogo de ayuda rápida.
  • q para salir del software.

Veamos brevemente todos los paneles.

  1. Visitantes únicospor día – Este panel se explica por sí mismo. Enumera los visitantes únicos, las visitas y el orondo de bandada acumulado para cada época. Asimismo incluye por defecto los rastreadores y arañas web.
  2. Archivos solicitados (URLs ) – Este panel proporciona las estadísticas relativas a los archivos no estáticos más solicitados en tu servidor.
  3. Peticionesestáticas – Es similar al panel precursor, indemne que gestiona archivos estáticos como imágenes, CSS, JavaScript, etc.
  4. URLs no encontradas (404s ) – Este panel registra todas las peticiones a archivos y rutas no encontradas en tu servidor.
  5. Nombres de host e IP de visitantes – Este panel ofrece más información sobre los visitantes de tu sitio. Puedes pulsar o para ampliar el panel y obtener información detallada como el país de origen, la ciudad y el DNS inverso.
  6. Sistemas operativos – Este panel muestra los distintos sistemas operativos utilizados por los visitantes.
  7. Navegadores – Este panel muestra los distintos navegadores utilizados por los visitantes.
  8. Distribución Horaria – Este panel ofrece un documentación horario del número de visitas, visitantes únicos y orondo de bandada consumido.
  9. Anfitriones virtuales – Este panel muestra los anfitriones virtuales analizados a partir del archivo de registro. Sólo se mostrará si utilizas el formato de registro VCOMBINED en el archivo de configuración precursor o si %v forma parte de la configuración del formato de registro.
  10. URL de narración – Enumera las URL que remiten a los visitantes a tu servidor. Este panel está desactivado por defecto. Para activarlo, comenta la próximo linde en el archivo de configuración añadiendo # delante de ella.
    #ignore-panel REFERRERS
    
  11. Sitios de narración – Este panel muestra las direcciones IP de los hosts de narración.
  12. Frases esencia – Este panel muestra las palabras esencia utilizadas en la Búsqueda de Google, la personalidad de Google o Google Translate que llevan a tu sitio. Este panel igualmente está desactivado por defecto. Actívalo comentando la próximo linde en el archivo de configuración.
    #ignore-panel KEYPHRASES
    
  13. Códigos de estado HTTP – Este panel muestra las estadísticas de los códigos de estado HTTP devueltos por tu servidor cuando replica a una petición.
  14. Beneficiario Remoto (Autenticación HTTP) – Este panel muestra el ID de adjudicatario de la persona que accede a un documento en tu servidor, protegido por autenticación HTTP. Este panel sólo funciona si %e forma parte de la configuración del formato de registro.
  15. Estado de la cach é – Este panel determina si una petición está siendo almacenada en personalidad y servida desde ella. Este panel sólo funciona si %c forma parte de la configuración del formato de registro.
  16. Ubicación geográfica – Este panel proporciona una directorio de ubicaciones geográficas de los visitantes que acceden a tu sitio. Sólo aparecerá si has descargado y añadido su ubicación en el archivo de configuración.

Paso 6 – Ejecutar GoAccess sin privilegios

Como buena destreza de seguridad, cuanto menos código funcione como root, mejor. Para ejecutar GoAccess sin ser root, necesita permisos para interpretar los archivos de registro.

Los archivos de registro del servidor suelen formar parte del camarilla adm. Puedes comprobarlo utilizando el próximo comando.

$ ls -l /var/log/nginx
total 68
-rw-r----- 1 nginx adm 30547 Oct 10 12:47 access.log
-rw-r----- 1 nginx adm 35063 Oct 10 12:47 error.log

Como puedes ver, no necesitas ser adjudicatario root para desobstruir los archivos de registro. Cualquier adjudicatario perteneciente al camarilla adm puede desobstruir los archivos.

La forma más sencilla de ejecutar GoAccess sin ser root es añadir al adjudicatario actualmente conectado al camarilla adm. De ese modo, podrás ejecutar GoAccess con ese adjudicatario sin sudo.

Ejecuta el próximo comando para añadir el adjudicatario presente al camarilla adm.

$ sudo usermod -aG adm $USER 

Ahora, cierra la sesión y vuelve a entrar para aplicar el cambio. O puedes ejecutar el próximo comando sin indigencia de cerrar la sesión para aplicar el cambio.

$ su $USER

Deberías poder ejecutar GoAccess directamente sin indigencia de sudo.

$ goaccess /var/log/nginx/access.log

Paso 7 – Ocasionar Informes HTML

GoAccess puede utilizarse para producir informes HTML que puedes servir en linde. Utiliza el próximo comando para producir un documentación HTML.

$ goaccess /var/log/nginx/access.log -o stats.html

Puedes descargar el archivo en tu PC nave para ti o en la carpeta de tu sitio web para servirlo públicamente.

Informe HTML de GoAccess

Incluso puedes producir un documentación HTML en tiempo vivo utilizando GoAccess. Pero primero, necesitas desobstruir el puerto 7890 para que se ejecute el Websocket de GoAccess. Abre el puerto utilizando el próximo comando.

$ sudo firewall-cmd --permanent --add-port=7890/tcp

Recarga el cortafuegos para aplicar el cambio.

$ sudo firewall-cmd --reload

Ahora, ejecuta el próximo comando para producir un documentación HTML en tiempo vivo.

$ goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html

Esto generaría un documentación en tiempo vivo en la ubicación especificada. El comando precursor mantendrá GoAccess ejecutándose en primer plano como un WebSocket a la audición de conexiones.

Hay una pequeña advertencia al ejecutar el comando precursor. El comando precursor funcionará cuando GoAccess tenga permisos de adjudicatario en el directorio /usr/share/nginx/html. Como estamos ejecutando GoAccess con el adjudicatario que ha iniciado la sesión, tienes que darle permisos sobre el directorio /usr/share/html. Si por alguna razón no puedes esperar, tendrás que ejecutar GoAccess utilizando sudo.

$ sudo goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html

Si quieres ejecutar GoAccess en segundo plano, puedes hacerlo como demonio utilizando el próximo comando.

$ goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html --daemonize
Daemonized GoAccess: 78315

Para detener el demonio GoAccess, mata el proceso con el próximo comando.

$ sudo kill -9 78315

Aquí estamos utilizando el ID del proceso que obtuvimos en nuestro comando precursor. Si no recuerdas el ID del proceso, igualmente puedes utilizar el próximo comando para matarlo.

$ sudo kill -9 `pidof goaccess`

Fíjate en que estamos utilizando el entrecomillado (`) en nuestro comando. Si utilizas comillas normales, el comando fallará.

Conclusión

Con esto concluye nuestro tutorial sobre la instalación y ejecución de GoAccess Log Analyzer en el servidor Rocky Linux 8. Si tienes alguna pregunta, publícala en los comentarios a continuación.




NoMachine es un software de escritorio remoto de balde y de código despejado que se utiliza para el comunicación remoto, la compartición de escritorio, el escritorio potencial y la transferencia de archivos entre ordenadores. Utiliza el protocolo NX que proporciona una velocidad almacén con bajo satisfecho de manada. Se puede instalar en muchos sistemas operativos, como Linux, Windows, Mac OS X y Android. Si buscas una decisión de escritorio remoto, NoMachine es la mejor opción para ti.

En este tutorial, te mostraremos cómo instalar y utilizar NoMachine en CentOS 8.

Requisitos previos

  • Un sistema de escritorio que ejecute CentOS 8.
  • Una contraseña de root configurada el servidor.

Instalar NoMachine

Por defecto, NoMachine no está incluido en el repositorio por defecto de CentOS. Así que tendrás que descargarlo desde su sitio web oficial.

Puedes descargarlo con el próximo comando:

wget https://download.nomachine.com/download/7.1/Linux/nomachine_7.1.3_1_x86_64.rpm

Una vez completada la descarga, instala el archivo descargado con el próximo comando:

dnf install nomachine_7.1.3_1_x86_64.rpm

Una vez completada la instalación, deberías obtener la próximo salida:

  PulseAudio Backend

  The NoMachine  setup procedure  could not  detect  your  PulseAudio
  installation:  either  PulseAudio is not  installed  on your system
  or it was  installed  in a non-standard path.  If PulseAudio is not
  available, NoMachine audio support will try to rely on ALSA device.
  Please note  that you can enable  PulseAudio  support  at any time;
  to do this  make sure that you have PulseAudio installed, then run:

    /usr/NX/scripts/setup/nxnode --audiosetup 

  to specify the location of the PulseAudio configuration files.
NX> 700 Installing: nxserver version: 7.1.3.
NX> 700 Using installation profile: Red Hat.
NX> 700 Install log is: /usr/NX/var/log/nxinstall.log.
NX> 700 Creating configuration in: /usr/NX/etc/server.cfg.
NX> 700 Server install completed with warnings.
NX> 700 Please review the install log for details.
NX> 700 Install completed at: Tue Feb 16 05:43:49 2021.
NX> 700 NoMachine was configured to run the following services:
NX> 700 NX service on port: 4000

  Verifying        : nomachine-7.1.3-1.x86_64                                                                                              1/1 

Installed:
  nomachine-7.1.3-1.x86_64                                                                                                                     

Complete!

Configurar el cortafuegos

A continuación, tendrás que permitir el puerto TCP 4000 y el puerto UDP 4011-4999 a través de firewalld. Puedes permitirlos con el próximo comando:

firewall-cmd --add-port=4000/tcp --permanent
firewall-cmd --add-port=4011-4999/udp --permanent

A continuación, recarga el firewalld para aplicar los cambios.

firewall-cmd --reload

Trabajar con NoMachine

Posteriormente de instalar NoMachine, puedes lanzarlo desde la mostrador de búsqueda como se muestra a continuación:

Escritorio remoto NoMachine

Haz clic en NoMachine para editar la aplicación como se muestra a continuación:

Cliente NoMachine

Haz clic en el llamador Aceptar. Deberías ver la próximo pantalla:

Crear conexión

Ahora, haz clic en el llamador Añadir para crear una nueva conexión. Deberías ver la próximo pantalla:

Dirección remota

Proporciona el nombre de host de tu NoMachine remoto, la dirección IP, el puerto, el protocolo y haz clic en el llamador Conectar. Se te pedirá que proporciones el nombre de becario y la contraseña del ordenador remoto, como se muestra a continuación:

Introduce el nombre de usuario y la contraseña

Proporciona el nombre de becario, la contraseña y haz clic en el llamador Conectar. Una vez conectado, deberías ver la próximo pantalla:

Teclas de acceso rápido

Cambia la configuración de tu pantalla y haz clic en el llamador Aceptar. Deberías ver la próximo pantalla:

Escala el escritorio remoto

Selecciona la resolución de tu pantalla y haz clic en el llamador Aceptar. Una vez conectado, deberías ver la próximo pantalla:

Se ha establecido una conexión de escritorio remoto

Conclusión

En la tutela antecedente, has aprendido a instalar y utilizar el software de escritorio remoto NoMachine en CentOS 8. Ahora puedes resolver fácilmente varios sistemas remotos. No dudes en preguntarme si tienes alguna duda.