Listado de la etiqueta: Cómo



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).




Memcached es un sistema de elegancia de memoria distribuido, sin cargo, de código campechano y de propósito caudillo, que se utiliza para juntar en elegancia datos de bases de datos. Es un sistema de elegancia en memoria de stop rendimiento que se utiliza para acelerar las aplicaciones web dinámicas reduciendo la carga de la colchoneta de datos. Memcached está formado por cuatro componentes que permiten al cliente y al servidor trabajar juntos para entregar los datos almacenados en elegancia de la forma más competente posible. Ofrece integración API para los principales lenguajes como PHP, Java, C/C++, Python, Ruby, Perl, etc.

Este tutorial te mostrará cómo instalar el servidor Memcached en un servidor Ubuntu 22.04 y cómo utilizarlo con PHP.

Requisitos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en tu servidor.

Instalar Memcached en Ubuntu 22.04

Por defecto, el paquete Memcached está incluido en el repositorio por defecto de Ubuntu. Puedes instalarlo fácilmente utilizando el ulterior comando:

apt install memcached libmemcached-tools -y

Una vez instalado Memcached, inicia el servicio Memcached utilizando el ulterior comando:

systemctl start memcached

Puedes comprobar el estado del Memcached con el ulterior comando:

systemctl status memcached

Deberías obtener la ulterior salida:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
       Docs: man:memcached(1)
   Main PID: 5525 (memcached)
      Tasks: 10 (limit: 2242)
     Memory: 1.7M
        CPU: 71ms
     CGroup: /system.slice/memcached.service
             ??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.

Para efectuar la lectura de Memcached, ejecuta el ulterior comando:

memcached -V

Obtendrás la ulterior salida:

memcached 1.6.14

Por defecto, Memcached audición en el puerto 11211. Puedes comprobarlo con el ulterior comando:

ss -plunt | grep memcache

Deberías ver la ulterior salida:

tcp   LISTEN 0      1024                        127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=5525,fd=22)) 

Instalar la extensión Memcached de PHP

Para utilizar Memcached con aplicaciones basadas en PHP. Necesitarás instalar la extensión Memcached de PHP en tu servidor. Puedes instalarla con Apache utilizando el ulterior comando:

apt install apache2 php libapache2-mod-php php-memcached php-cli -y

A continuación, crea una página PHP de prueba de ejemplo para efectuar el Memcached:

nano /var/www/html/info.php

Añade el ulterior código:

<?php
phpinfo();

Vigilante y cierra el archivo y reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

A continuación, abre tu navegador y accede a la página PHP utilizando la URL http://your-server-ip/info.php. Deberías ver el Memcached en la ulterior pantalla:

PHP Memcached

A continuación, crea otra página PHP de prueba para efectuar si el Memcached funciona o no.

nano /var/www/html/test.php

Añade el ulterior código:

<?php

try

{
$memcached = new Memcached();
$memcached->addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");

if($response==true) 
{
echo "Result coming from caching";
echo $response;
}

else

{
echo "Cache is not created yet, reload again to see changes";
$memcached->set("key_cache", "Hooray! Memcache is working now ...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

Vigilante y cierra el archivo y, a continuación, abre tu navegador web y accede a la página PHP de prueba utilizando la URL http://your-server-ip/test.php. Deberías ver la ulterior pantalla:

Prueba PHP memcached

A continuación, vuelve a cargar la página. Esta vez la página se cargará desde la memoria elegancia como se muestra a continuación:

Resultado PHP de memcahed

Asegura Memcached con Autenticación

Se recomienda utilizar Simple Authentication and Security Layer (SASL) para apoyar Memcached con autenticación basada en adjudicatario. Para ello, deberás instalar el paquete sasl2-bin en tu servidor.

apt install sasl2-bin

A continuación, crea un directorio y un archivo de configuración para la autenticación SASL:

mkdir -p /etc/sasl2
nano /etc/sasl2/memcached.conf

Añade las siguientes líneas:

log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2

Vigilante y cierra el archivo y, a continuación, crea una colchoneta de datos SASL con las credenciales de adjudicatario:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

Establece tu contraseña como se muestra a continuación:

Password: 
Again (for verification): 

A continuación, cambia la propiedad de la colchoneta de datos Memcached:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

A continuación, verifica el Memcached utilizando el ulterior comando:

memcstat --servers="127.0.0.1"

Deberías obtener la ulterior salida:

Server: 127.0.0.1 (11211)
	 pid: 5525
	 uptime: 462
	 time: 1666099048
	 version: 1.6.14
	 libevent: 2.1.12-stable
	 pointer_size: 64
	 rusage_user: 0.110123
	 rusage_system: 0.093906
	 max_connections: 1024
	 curr_connections: 1
	 total_connections: 4
	 rejected_connections: 0
	 connection_structures: 2
	 response_obj_oom: 0
	 response_obj_count: 1
	 response_obj_bytes: 49152
	 read_buf_count: 6
	 read_buf_bytes: 98304
	 read_buf_bytes_free: 32768
	 read_buf_oom: 0
	 reserved_fds: 20
	 cmd_get: 2
	 cmd_set: 1
	 cmd_flush: 0
	 cmd_touch: 0
	 cmd_meta: 0
	 get_hits: 1
	 get_misses: 1
	 get_expired: 0
	 get_flushed: 0
	 delete_misses: 0

A continuación, edita el archivo de configuración de Memcached:

nano /etc/memcached.conf

Añade las siguientes líneas:

-S
-vv

Vigilante y cierra el archivo y reinicia el servicio Memcached para aplicar los cambios:

systemctl restart memcached

A continuación, verifica la compatibilidad con SASL utilizando el ulterior comando:

journalctl -u memcached |grep SASL

Si todo va proporcionadamente, obtendrás la ulterior salida:

Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.

Demostrar la autenticación de Memcached

Primero, intenta comprobar de nuevo la conectividad con Memcached sin autenticación:

memcstat --servers="127.0.0.1"

El comando no debería producir salida. Escribe el ulterior comando shell para comprobar su estado:

echo $?

Deberías acoger el ulterior código de estado significa que el comando memcstat ha fallado.

1

A continuación, ejecuta de nuevo el comando Memcached especificando el nombre de adjudicatario y la contraseña:

memcstat --servers="127.0.0.1" --username=user1 --password=password

Obtendrás la ulterior salida:

Server: 127.0.0.1 (11211)
	 pid: 14980
	 uptime: 46
	 time: 1666099143
	 version: 1.6.14
	 libevent: 2.1.12-stable
	 pointer_size: 64
	 rusage_user: 0.077843
	 rusage_system: 0.049072
	 max_connections: 1024
	 curr_connections: 1
	 total_connections: 3
	 rejected_connections: 0
	 connection_structures: 2
	 response_obj_oom: 0
	 response_obj_count: 1
	 response_obj_bytes: 16384
	 read_buf_count: 3
	 read_buf_bytes: 49152
	 read_buf_bytes_free: 16384
	 read_buf_oom: 0

Instalar Memcached para Python

Si quieres integrar Memcached con aplicaciones web basadas en Python, tendrás que instalar la extensión Memcached para Python. Puedes instalarla con el ulterior comando:

apt install python3-pip
pip install pymemcache
pip install python-memcached

Conclusión

En este post, hemos explicado cómo instalar el servidor Memcached en Ubuntu 22.04. Igualmente hemos explicado cómo apoyar Memcached con autenticación basada en SASL. Espero que ahora puedas integrar Memcached en tu aplicación para acelerar el rendimiento de la misma. No dudes en preguntarme si tienes alguna duda.




DokuWiki es un software wiki sencillo, tratable de usar y muy versátil, escrito en PHP. Es tirado, de código descubierto, y utiliza un sencillo formato de archivo para juntar sus datos en lado de utilizar cualquier sistema de almohadilla de datos. Ofrece muchas funciones que te ayudan a resquilar y optimizar tu sitio wiki fácilmente. Está ganando popularidad correcto a su sintaxis limpia y inteligible. Usando Dokuwiki, puedes crear tus sitios web personales o de empresa a través del panel web de Dokuwiki.

En este tutorial, te mostraremos cómo instalar DokuWiki con Apache y el certificado SSL Let’s Encrypt en Ubuntu 22.04.

Requisitos previos

  • Un servidor con Ubuntu 22.04.
  • Un nombre de dominio válido apuntando a tu servidor.
  • Una contraseña raíz está configurada en tu servidor.

Instalar Apache y PHP

En primer lado, tendrás que instalar el servidor web Apache, PHP y otras librerías PHP en tu sistema. Puedes instalarlos todos ejecutando el ulterior comando:

apt-get install apache2 php php-gd php-xml php-json -y

posteriormente de instalar todos los paquetes, inicia el servicio Apache y habilítalo para que se inicie al originarse con el ulterior comando:

systemctl start apache2
systemctl enable apache2

Una vez que hayas terminado, puedes acontecer al ulterior paso.

Instalar DokuWiki Ubuntu 22.04

A continuación, visitante la página oficial de descargas de DokuWiki, copia la URL de descarga y descarga la última lectura de DokuWiki con el ulterior comando:

wget https://download.dokuwiki.org/out/dokuwiki-24117f7f9e0362c4b1782ff29220b0ab.tgz

Una vez finalizada la descarga, crea un directorio DokuWiki interiormente del directorio raíz de la web Apache y extrae el DokuWiki:

mkdir /var/www/html/dokuwiki
tar -xvzf dokuwiki-24117f7f9e0362c4b1782ff29220b0ab.tgz -C /var/www/html/dokuwiki/ --strip-components=1

A continuación, copia el archivo .htaccess de ejemplo con el ulterior comando:

cp /var/www/html/dokuwiki/.htaccess{.dist,}

A continuación, cambia la propiedad del dokuwiki a www-data:

chown -R www-data:www-data /var/www/html/dokuwiki

Una vez que hayas terminado, puedes acontecer al ulterior paso.

Crear un Virtualhost de Apache para DokuWiki

A continuación, tendrás que crear un archivo de configuración de host supuesto Apache para servir el sitio web DokuWiki. Puedes crearlo con el ulterior comando

nano /etc/apache2/sites-available/dokuwiki.conf

Añade las siguientes líneas:

<VirtualHost *:80>
        ServerName    doku.example.com      
        DocumentRoot  /var/www/html/dokuwiki

        <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)">
            <IfModule mod_authz_core.c>
                AllowOverride All
                Require all denied
            </IfModule>
            <IfModule !mod_authz_core.c>
                Order allow,deny
                Deny from all
            </IfModule>
        </Directory>

        ErrorLog   /var/log/apache2/dokuwiki_error.log
        CustomLog  /var/log/apache2/dokuwiki_access.log combined
</VirtualHost>

Portero y cierra el archivo cuando hayas terminado. A continuación, activa el archivo de configuración del host supuesto de DokuWiki y recarga el servicio Apache con el ulterior comando:

a2ensite dokuwiki.conf
systemctl reload apache2

Ahora puedes comprobar el estado de Apache con el ulterior comando:

systemctl status apache2

Deberías ver la ulterior salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-06-25 15:44:31 UTC; 4min 30s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 52450 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 52131 (apache2)
      Tasks: 6 (limit: 4579)
     Memory: 16.9M
        CPU: 331ms
     CGroup: /system.slice/apache2.service
             ??52131 /usr/sbin/apache2 -k start
             ??52454 /usr/sbin/apache2 -k start
             ??52455 /usr/sbin/apache2 -k start
             ??52456 /usr/sbin/apache2 -k start
             ??52457 /usr/sbin/apache2 -k start
             ??52458 /usr/sbin/apache2 -k start

Jun 25 15:44:30 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

En este punto, el servidor web Apache está configurado para servir el sitio DokuWiki. Ahora puedes proceder a instalar Let’s Encrypt SSL en tu sitio web.

Habilitar SSL en el sitio web DokuWiki

Para habilitar el SSL en DokuWiki, necesitarás instalar el cliente Certbot en tu sistema. El Certbot es una aparejo de Let’s Encrypt que se utiliza para descargar y diligenciar el SSL.

Puedes instalar el Certbot con el ulterior comando:

apt-get install certbot python3-certbot-apache -y

Una vez instalado, ejecuta el ulterior comando para instalar el SSL de Let’s Encrypt para tu sitio web:

certbot --apache -d dokuwiki.linuxbuz.com

Se te pedirá que proporciones tu correo electrónico válido y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
antipara): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for dokuwiki.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf

A continuación, selecciona si deseas o no redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to antipara): 2

Escribe 2 y pulsa Intro para iniciar el proceso. Una vez completada la instalación, deberías obtener el ulterior resultado:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://dokuwiki.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/dokuwiki.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/dokuwiki.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-05. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

En este punto, tu sitio Dokuwiki está protegido con Let’s Encrypt SSL.

Accede a la DokuWiki

Ahora, abre tu navegador y escribe la URL https://dokuwiki.linuxbuz.com/install.php. Deberías ver la pantalla de instalación de DokuWiki:

Instalador de DokuWiki

Elige los términos de la licencia para el contenido Wiki

Introduce el nombre de tu wiki, el nombre de legatario administrador, la contraseña, el correo electrónico, elige tu política y pulsa el cogollo Asegurar. Serás redirigido a la ulterior página:

Instalación correcta

Haz clic en «tu nuevo DokuWiki». Deberías ver la ulterior pantalla:

Sitio DokuWiki

Haz clic en el cogollo Iniciar sesión. Serás redirigido a la pantalla de inicio de sesión de DokuWiki como se muestra a continuación:

Inicio de sesión en DokuWiki

Introduce tu nombre de legatario y contraseña de administrador, y haz clic en el cogollo Iniciar sesión. Deberías ver el panel de control de DokuWiki en la ulterior pantalla:

Área de administración

Configurar la Renovación Cibernética

Por defecto, los certificados Let’s Encrypt son válidos durante 90 días. Por lo tanto, tendrás que configurar una tarea cron para renovar automáticamente el certificado SSL. Es seguro crear una tarea cron que se ejecute cada semana o incluso cada día.

Si quieres renovar el certificado SSL manualmente, ejecuta el ulterior comando:

certbot renew --dry-run

Puedes configurar una tarea cron para renovar automáticamente el certificado SSL todos los días a las 6:00 AM editando el ulterior archivo:

crontab -e

Añade la ulterior columna:

00 06 * * *   root /usr/bin/certbot renew >/dev/null 2>&1

Portero y cierra el archivo cuando hayas terminado.

Conclusión

Enhorabuena! has instalado correctamente DokuWiki y lo has protegido con Let’s Encrypt SSL en Ubuntu 22.04. Ahora puedes crear tu propio sitio wiki utilizando DokuWiki. No dudes en preguntarme si tienes alguna duda.




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.




Un proxy inverso es un servidor web que puede situarse delante de otro servidor web o de un servicio web. Puede acortar el tráfico saliente, ejecutar como equilibrador de carga, redirigir el tráfico y ofrecer protección. El servidor web Nginx puede utilizarse como servidor proxy delante de servidores tradicionales, pero a veces configurarlo puede ser tedioso y causar problemas si no se hace correctamente.

Nginx Proxy Manager es una aplicación que facilita la configuración de Nginx como servidor proxy, proporcionando una interfaz gráfica de beneficiario (GUI) con funciones como soporte SSL integrado mediante Let’s Encrypt, soporte para múltiples hosts, autenticación HTTP, listas de llegada y mandato de usuarios.

Este tutorial te enseñará a instalar el apoderado de proxy Nginx en un servidor Linux utilizando Docker. Cubriremos todas las distribuciones populares de Linux en un único tutorial.

Requisitos previos

  • Un servidor Linux que ejecute Ubuntu/Debian/CentOS/Alma Linux/Rocky Linux con un pequeño de 1 GB de RAM.
  • Un beneficiario no root con privilegios sudo.
  • Un nombre de dominio completo (FQDN) como npm.example.com que apunte al servidor.

Paso 1 – Configurar el cortafuegos

Cent OS/Rocky Linux/Alma Linux

Deberías tener instalado el cortafuegos Firewalld. Comprueba el estado del cortafuegos.

$ sudo firewall-cmd --state
running

Abre los puertos 80, 81 y 443.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=81/tcp

Recarga el cortafuegos para activar los cambios.

$ sudo firewall-cmd --reload

Ubuntu/Debian

Los sistemas Ubuntu y Debian utilizan ufw (Uncomplicated Firewall) por defecto.

Comprueba si el cortafuegos se está ejecutando.

$ sudo ufw status

Si lo está, abre los puertos 80, 81 y 443.

$ sudo ufw allow 80
$ sudo ufw allow 81
$ sudo ufw allow 443

Abre el puerto SSH si el cortafuegos no se está ejecutando.

$ sudo ufw allow "OpenSSH"

Habilita el cortafuegos si no se está ejecutando.

$ sudo ufw enable

Si se está ejecutando, vuelve a cargarlo para aplicar los cambios.

$ sudo ufw reload

Paso 2 – Instala Docker

Cent OS/Rocky Linux/Alma Linux

Ejecuta el futuro comando para instalar Docker.

$ sudo yum install -y yum-utils
$ sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io

Ubuntu

$ sudo apt install ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

Debian

$ sudo apt install ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

Activa e inicia el servicio Docker.

$ sudo systemctl start docker --now

Añade tu nombre de beneficiario al género Docker.

$ sudo usermod -aG docker $USER

Sal del sistema y vuelve a entrar para aplicar el cambio.

Paso 3 – Instala Docker Compose

Descarga e instala el binario de Docker Compose.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/almacén/bin/docker-compose

Aplica el permiso de ejecutable al binario.

$ sudo chmod +x /usr/almacén/bin/docker-compose

Paso 4 – Crear archivo Docker Compose

Crea un directorio para el apoderado de proxy Nginx.

$ mkdir ~/nginx-proxy

Cambia al directorio.

$ cd ~/nginx-proxy

Crea directorios para los datos de beneficiario y los certificados SSL.

$ mkdir {data,letsencrypt}

Crea y abre el archivo docker-compose.yml para editarlo.

$ nano docker-compose.yml

Pega en él el futuro código.

version: "3"
services:
  npm-app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: npm-app
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "npm-db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment the line below if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - npm-db
    networks:
      - npm-nw
      - npm-internal

  npm-db:
    image: 'mariadb:latest'
    container_name: npm-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - npm-internal

networks:
  npm-internal:
  npm-nw:
    external: true

Tutela el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.

Repasemos el archivo. La primera parte del archivo es donde importamos la imagen del apoderado de proxy Nginx y establecemos algunas variables de entorno en forma de credenciales de colchoneta de datos. Asimismo exponemos los puertos 80, 81 y 443 al servidor para su llegada. Puedes exponer más puertos, como el 21, para el llegada FTP. Puedes desactivar el soporte IPV6 descomentando la cuerda DISABLE_IPV6: 'true'. Hemos mapeado varios directorios de nuestro host al Docker para el almacenamiento de datos y SQL.

Aquí estamos utilizando dos redes. Una es la red interna npm-internal para conectar el apoderado proxy y la colchoneta de datos. Ésta es opcional, ya que se crea automáticamente. Pero aquí, lo estamos haciendo manualmente dándole un nombre de nuestra opción.

Hemos añadido una red externa al contenedor del apoderado de proxy citación npm-nw. Esta red es esencial porque puedes utilizarla para conectar el apoderado de proxy a cualquier otro contenedor Docker que instales. Utilizar una red te permitirá conectar directamente cualquier contenedor sin aprieto de exponer sus puertos al servidor.

Paso 5 – Ejecuta el Apoderado de Proxy Nginx

Antiguamente de divulgar el contenedor Docker, necesitamos crear la red externa npm-nw. Las redes internas se crean automáticamente. Ejecuta el futuro comando para crear la red externa.

$ docker network create npm-nw

Venablo el contenedor Docker utilizando el futuro comando.

$ docker-compose up -d

Comprueba el estado de los contenedores.

$ docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED              STATUS              PORTS                                                                                  NAMES
c91ca0ddca97   jc21/nginx-proxy-manager:latest   "/init"                  About a minute ago   Up About a minute   0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   npm-app
1738d71b95da   mariadb:latest                    "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp                                                                               npm-db

Paso 6 – Accede al Apoderado de Proxy Nginx

Ahora puedes lograr a tu apoderado de proxy Nginx a través de la URL http://yourserverIP:81. Deberías obtener la futuro pantalla de llegada.

Pantalla de inicio de sesión del Administrador de Proxy Nginx

Introduce las siguientes credenciales predeterminadas para iniciar sesión.

Dirección de correo electrónico: [email protected] Contraseña: changeme

A continuación, se te pedirá inmediatamente que establezcas un nombre y una dirección de correo electrónico.

Nginx Proxy Manager Editar Usuario Popup

Haz clic en el clavija Asegurar, y se te pedirá que establezcas una nueva contraseña.

Ventana emergente "Establecer contraseña" del Administrador de proxy de Nginx

Vuelve a pulsar el clavija Asegurar y ya podrás iniciar a utilizar la aplicación.

Panel del Administrador de Proxy Nginx

Si abres la URL http://yourserverIP en tu navegador, accederás a una página predeterminada que el apoderado de proxy ha configurado.

Sitio predeterminado del gestor de proxy Nginx

Paso 7 – Configurar el Nombre de Dominio y SSL para el Apoderado de Proxy Nginx

Vamos a configurar un nombre de dominio para lograr al Apoderado de Proxy Nginx. Este paso es opcional pero es útil si quieres poner la aplicación detrás de SSL.

Haz clic en Anfitriones >> Anfitriones Proxy en el menú del panel de control para aclarar la página Anfitriones Proxy. Desde ahí, haz clic en el clavija Añadir Host Proxy para continuar.

Pantalla Nuevo Host Proxy del Gestor de Proxy Nginx

Añade el nombre FQDN (npm.example.com) y haz clic sobre él. Introduce la dirección IP de tu servidor y 81 como puerto de reenvío.

Cambia a la pestaña SSL.

Nginx Proxy Manager Configurar SSL

Selecciona Solicitar un nuevo certificado SSL en el menú desplegable. Selecciona las opciones Forzar SSL y Soporte HTTP/2. Si quieres activar HSTS, igualmente puedes hacerlo. Si tienes tu dominio configurado a través de Cloudflare, no habilites la opción Forzar SSL, de lo contrario, te quedarás atrapado en un onda de redireccionamiento.

Introduce tu dirección de correo electrónico, acepta las Condiciones del Servicio (CDS) de Let’s Encrypt y haz clic en el clavija Asegurar para terminar.

Lista de hosts proxy del gestor de proxy Nginx

Tu dominio debería estar activo y funcionando. Prueba a aclarar https://npm.example.com en tu navegador, y deberías obtener la pantalla de inicio de sesión de Nginx Proxy Manager.

Puedes hacerlo de forma similar para la página de destino predeterminada y asignarla a un nombre de dominio como https://example.com. Sólo tienes que cambiar el puerto de 81 a 81 mientras configuras el host proxy.

Paso 8 – Utilizar el Apoderado de Proxy Nginx con otra aplicación web Docker

Ahora que hemos instalado el apoderado de proxy, es hora de darle algún uso. Lo primero que haremos será utilizarlo para penetrar otra aplicación web Docker. Para ello, instalaremos el blog Ghost. Si quieres conocer más, consulta nuestro tutorial sobre la instalación de Ghost utilizando Docker en un servidor Ubuntu.

Crea otro directorio para tu blog de Ghost.

$ mkdir ~/ghost

Cambia al directorio de Ghost.

$ cd ~/ghost

Crea dos directorios para el contenido y la colchoneta de datos.

$ mkdir {content,mysql}

Aunque utilices la misma imagen MySQL, debes apoyar los datos y sus contenedores separados de los del apoderado Proxy. Esto te ayudará a aislar cualquier problema que puedas encontrarte y te permitirá mover las cosas en caso de que lo necesites.

Crea y abre el archivo Docker compose para editarlo.

$ nano docker-compose.yml

Pega el futuro código. Sustituye example.com por el nombre de dominio existente de tu blog Ghost. Introduce los datos SMTP si quieres acoger correos electrónicos. Puedes eliminarlos si no los necesitas.

version: '3.3'
services:

  ghost-app:
    image: ghost:latest
    container_name: ghost-app
    restart: always
    depends_on:
      - ghost-db
    environment:
      url: https://ghost.example.com
      database__client: mysql
      database__connection__host: ghost-db
      database__connection__user: ghost
      database__connection__password: ghostdbpass
      database__connection__database: ghostdb
      mail__transport: SMTP
      mail__options__host: {Your Mail Service host}
      mail__options__port: {Your Mail Service port}
      mail__options__secureConnection: {true/false}
      mail__options__service: {Your Mail Service}
      mail__options__auth__user: {Your User Name}
      mail__options__auth__pass: {Your Password}
    volumes:
      - /home/<username>/ghost/content:/var/lib/ghost/content
    networks:
      - npm-nw
      - ghost-network

  ghost-db:
    image: mariadb:latest
    container_name: ghost-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_mysql_root_password
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghostdbpass
      MYSQL_DATABASE: ghostdb
    volumes:
      - /home/<username>/ghost/mysql:/var/lib/mysql
    networks:
      - ghost-network

networks:
  ghost-network:
  npm-nw: 
    external: true

Tutela el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.

Como puedes ver, hemos conectado el contenedor Ghost con el apoderado proxy Nginx utilizando la red externa npm-nw. De esta forma, no estamos exponiendo los puertos del Ghost al sistema. Asimismo hemos utilizado una red interna ghost-network para conectar nuestra aplicación Ghost y el contenedor de colchoneta de datos correspondiente.

Inicia el contenedor.

$ docker-compose up -d

Configurar Ghost en el Apoderado de Proxy Nginx

Ahora tenemos que configurar el proxy inverso para nuestra instalación de Ghost. Abre el Apoderado de Proxy Nginx en tu navegador, ve a Panel >> Hosts >> Proxy Host, y añade un nuevo Proxy Host.

Ghost Blog Nginx Proxy Manager Configurar

Añade el nombre de dominio que elegiste para tu blog de Ghost. Para el valía Hostname/IP, introduce el nombre de tu contenedor. En este caso, sería ghost-app. No podemos añadir aquí la dirección IP porque no hemos expuesto el puerto de Ghost al servidor, y el proxy Nginx no podrá asistir a Ghost a través de la IP. Por lo tanto, utilizamos el nombre del contenedor, al que NPM puede lograr utilizando la red de Docker npm-nw, que hemos creado. Utiliza 2368 como puerto, el puerto por defecto utilizado por el Blog de Ghost. Comprueba las demás opciones como se muestra en la captura de pantalla susodicho.

A continuación, cambia a la pestaña SSL y crea un nuevo certificado SSL siguiendo el paso 6. Como vas a subir contenido a tu blog de Ghost, sería bueno establecer un tamaño mayor de carga para tus subidas.

Felizmente, NPM te permite añadir configuraciones personalizadas. Cambia a la pestaña Innovador e introduce client_max_body_size 50m; en la casilla.

Configuración avanzada de Ghost Blog NPM

Haz clic en el clavija Asegurar para terminar de añadir el host proxy. Deberías poder lograr a tu blog de Ghost a través de la URL https://ghost.exampl.com

Blog Fantasma Inicio

Paso 9 – Utilizar Nginx Proxy Manager como servicio de redirección

Veamos cómo puedes utilizar NPM para redirigir un dominio a otro fácilmente. Para ello, reconocimiento Panel de Control >> Anfitriones >> Anfitriones de Redirección. Desde allí, haz clic en el clavija Añadir Host de Redireccionamiento para iniciar.

Host de redirección del gestor de proxy Nginx

Introduce el nombre del dominio que quieres redireccionar. E introduce el dominio de reenvío. El dominio de reenvío ya debería estar configurado. Deja el esquema como coche. Dependiendo de tus evacuación, puedes designar http o https. Selecciona el Código HTTP correcto y marca las opciones Conservar ruta y Cerrar exploits comunes. Si utilizas un esquema coche o https, asegúrate de ocurrir seleccionado o creado un certificado SSL utilizando NPM. Haz clic en Asegurar para terminar de añadir tu host de redirección.

Tu dominio example.com debería iniciar a redirigirse a blog.example.com.

Otros usos de Nginx Proxy Manager

Hay otras dos formas en las que puedes utilizar el Apoderado de Proxy Nginx. Puedes utilizarlo como host 404, lo que significa que puedes utilizar un dominio como página de destino para mostrar a los motores de búsqueda que las páginas del dominio no existen. El paso incluye simplemente introducir un dominio y configurar SSL para él. Asimismo puedes exprimir para rastrear los registros del nombre de dominio y ver el tráfico de relato.

La otra función es utilizar NPM como host de flujo. Puedes utilizar esta función para reenviar puertos TCP/UDP a otro ordenador de la red. Esto es útil si alojas servidores de juegos. Lo único que requiere es que introduzcas el puerto de entrada, el dominio o dirección IP de reenvío, el puerto de reenvío y selecciones el tipo de puerto.

Nginx Proxy Manager Nuevo Stream Host Popup

Utilizar el Apoderado de Proxy Nginx para penetrar un sitio web pasmado

El Apoderado de Proxy Nginx igualmente puede penetrar sitios web estáticos o dinámicos sencillos. Para ello, añade un nuevo host proxy y elige 127.0.0.1 como dominio de reenvío y 80 como puerto.

Gestor de proxy Nginx Anfitrión de sitio web estático

En la pestaña Innovador, introduce la configuración especificando el directorio raíz. Asegúrate de que el directorio raíz del sitio está montado en la configuración original de Docker compose. Aquí estamos utilizando el directorio /data/static para penetrar nuestro sitio web pasmado.

Configuración avanzada del gestor de proxy Nginx Sitio estático

Haz clic en Asegurar para terminar, y tu sitio debería ser accesible. De forma similar, puedes penetrar cualquier tipo de sitio utilizando el apoderado de proxy.

Página de demostración del sitio estático

Paso 10 – Funciones Misceláneas

Utiliza la función de control de llegada del Apoderado de Proxy Nginx

Puedes utilizar la función Listas de Entrada de NPM para habilitar la autenticación HTTP o cerrar rangos de IP. Abre NPM y reconocimiento la página Panel >> Listas de Entrada.

Haz clic en el clavija Añadir Cinta de Entrada para iniciar.

Nginx Proxy Manager Nueva Lista de Acceso

Puedes asignar un nombre a la configuración de tu Cinta de Entrada (ACL). La pestaña Satisfacer Cualquiera, si está marcada, permitirá el llegada si el cliente cumple cualquiera de las condiciones especificadas. Si un cliente pasa la autenticación HTTP pero puede dirimir el llegada basado en IP, se le permitirá. Pero si la opción Satisfacer Cualquiera no está marcada, el cliente tendrá que cumplir todas las condiciones.

La opción Acontecer autenticación al anfitri ón reenviará la autenticación al servidor huésped.

A continuación, pasa a la pestaña Autorización. Aquí puedes crear un nombre de beneficiario y una contraseña para el método de autenticación HTTP. Para añadir más de un beneficiario, haz clic en el clavija Añadir. Sólo puedes añadir hasta 5 usuarios. Hay un error con el clavija Añadir, así que utiliza primero el clavija y luego rellena los detalles. Si rellenas los detalles y pulsas el clavija más tarde para añadir otro beneficiario, se borrarán los datos del beneficiario susodicho.

Configuración de la autorización del gestor de proxy de Nginx

Cambia a la pestaña Entrada. Aquí puedes establecer a qué direcciones IP se les debe dar o rechazar el llegada.

Pestaña Acceso IP del Gestor de Proxy Nginx

Haz clic en Asegurar para terminar.

Para utilizar esta inventario de Entrada, debes seleccionarla cuando añadas tu host proxy. Como en el ejemplo para Ghost Blog de debajo, hemos seleccionado nuestra Cinta de llegada.

Nginx Proxy Manager Soporte de Lista de Acceso Proxy

Habilitar el soporte para más nombres de dominio

A medida que crece el número de hosts y dominios, tu Nginx puede quedarse sin espacio hash o tener problemas de memoria. Podemos añadir una configuración personalizada que se aplicará a todos los hosts para solucionar este problema.

Para ello, crea el directorio custom interiormente de ~/nginx-proxy/data/nginx.

$ sudo mkdir ~/nginx-proxy/data/nginx/custom

Crea y abre el archivo http.conf interiormente de este directorio.

$ sudo nano ~/nginx-proxy/data/nginx/custom/http.conf

Pega en él las siguientes líneas.

proxy_headers_hash_max_size 1024;
proxy_headers_hash_bucket_size 128;

Tutela el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.

Nginx debería aceptar automáticamente estos títulos. Si no lo hace, puedes reiniciar el contenedor NPM utilizando el futuro comando.

$ docker restart npm-app

Redirigir la página de destino predeterminada

En el paso 6, verás la página por defecto cuando escribas la URL http://<yourserverIP>. Si quieres cambiarla, es posible hacerlo. Para ello, reconocimiento la Página de Configuración. Haz clic en los tres puntos de la derecha y pulsa el clavija Editar.

Nginx Proxy Manager Página de inicio Editar

Puedes configurar la página de destino para que actúe como página 404, página de redirección o añadirle HTML personalizado mediante la opción Página personalizada. Si seleccionas Redirigir, tendrás que especificar la URL de destino.

Configuración predeterminada del sitio del Gestor de Proxy Nginx

Este es el HTML personalizado que hemos utilizado para nuestro propósito.

<!doctype html>
<html>
  <head>
    <title>Nothing Here</title>
    <meta charset="utf-8"/>
    <meta name="robots" content="noindex"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      body { 
          text-align: center; 
          padding: 20px; 
          font: 20px Helvetica, sans-serif; 
          color: #333; 
        }
      @media (min-width: 768px){
          body{ padding-top: 150px; 
        }
      }
      h1 { 
          font-size: 50px; 
        }
      article { 
          display: block; 
          text-align: left; 
          max-width: 650px; 
          margin: 0 coche; 
        }
    </style>
  </head>
  <body>
    <article>
        <h1>Oops!</h1>
        <div>
            <p>Sorry for the inconvenience but you are not supposed to be here. You won't get anything here. This page was set for HowtoForge Nginx Proxy Manager Guide.  Maybe, someday it will show something.</p>
        </div>
    </article>
  </body>
</html>

Haz clic en Asegurar para terminar. Tu página de destino debería cambiar a poco parecido a lo futuro.

Página de destino personalizada del Gestor de Proxy Nginx

Paso 11 – Modernizar Nginx Proxy Manager

Para refrescar NPM, primero, detén los contenedores.

$ cd ~/nginx-proxy
$ docker-compose down --remove-orphans

Extrae las últimas imágenes.

$ docker-compose pull

Arranca de nuevo los contenedores.

$ docker-compose up -d

Conclusión

Con esto concluye nuestro tutorial, en el que has instalado Nginx Proxy Manager y has aprendido a utilizarlo para añadir un host proxy para otro contenedor Docker, utilizarlo como servicio de redirección y controlar el llegada mediante él. Si tienes alguna pregunta, publícala en los comentarios a continuación.




TYPO3 es un sistema de encargo de contenidos de nivel empresarial, gratis y de código hendido. Ofrece muchas características para uso empresarial, como CMS escalable con soporte multisitio, instalaciones multilingües, válido implementación de seguridad, rapidísimo y puede ejecutarse en cualquier división.

Usar TYPO3 CMS te permite construir sitios web flexibles y fiables. El CMS TYPO3 está respaldado por una vibratorio comunidad profesional. Y por diseño, el TYPO3 CMS es un sistema de encargo de contenidos enchufable, con una obra adaptable y desacoplada.

En esta faro, te mostraré cómo instalar TYPO3 CMS con la pila LAMP en la última traducción de Debian 11 Bullseye. Adicionalmente, cubriremos la instalación básica típica de TYPO3 CMS.

Requisitos previos

  • Un servidor Linux Debian 11.
  • Un beneficiario root o no root con privilegios de root.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de la pila LAMP

EL CMS TYPO3 está escrito en PHP, por lo que necesitarás instalar la Pila LAMP o LEMP para la instalación. esta faro te mostrará cómo configurar la Pila LAMP para el CMS TYPO3.

Antiguamente de instalar algunos paquetes, ejecuta el futuro comando apt para poner al día tu repositorio y refrescar el índice de paquetes en tu sistema Debian.

sudo apt update

A continuación, instala los paquetes básicos de LAMP Stack mediante el futuro comando.

sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap

Escribe Y para confirmar la instalación y pulsa ENTER para continuar.

Instalación de la pila LAMP

Una vez completada la instalación de todos los paquetes, edita la configuración /etc/php/7.4/apache2/php.ini utilizando el editor nano.

sudo nano /etc/php/7.4/apache2/php.ini

Cambia la configuración por defecto de PHP utilizando la futuro configuración.

memory_limit = 512M
max_execution_time = 240
max_input_vars = 1500

date.timezone = Europe/Amsterdam

post_max_size = 50M
upload_max_filesize = 50

Observancia el archivo cuando hayas terminado.

Por postrero, reinicia el servicio Apache2 para aplicar los nuevos cambios a la configuración de PHP y repasar el servicio Apache2.

sudo systemctl restart apache2
sudo systemctl status apache2

A continuación verás que el servicio Apache2 está activo (en ejecución).

Comprobación del servicio Apache2

Configurar el despliegue de MariaDB

Has instalado los paquetes del servidor MariaDB en tu servidor, pero aún estás con la configuración por defecto. Y ahora, te mostraremos cómo desplegar la seguridad del servidor MariaDB utilizando la utensilio de dirección de comandos mysql_secure_installation.

El comando mysql_secure_installation está incluido en el paquete MariaDB. Te ayudará a configurar la seguridad básica del servidor MariaDB, por ejemplo, configurar la contraseña de root, eliminar el paso incógnito por defecto, eliminar la saco de datos de prueba y desactivar el inicio de sesión remoto para el beneficiario root de MariaDB.

Ejecuta el comando mysql_secure_installation que se indica a continuación para emprender a configurar la instalación de MariaDB.

sudo mysql_secure_installation

Pulsa INTRO cuando se te pida la contraseña raíz coetáneo.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Ahora escribe Y para confirmar y cambia la autenticación lugar a unix_socket.

Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
 ... Success!

Ahora escribe Y para confirmar y configura una nueva contraseña de root para el servidor MariaDB. A continuación, introduce la nueva contraseña y repítelo. Asegúrate de tener una contraseña segura para el beneficiario raíz de MariaDB.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ahora escribe Y para eliminar el paso incógnito por defecto al servidor de bases de datos MariaDB.

Remove anonymous users? [Y/n] Y
 ... Success!

Escribe Y para desactivar el paso remoto para el beneficiario raíz de MariaDB. Para las conexiones remotas al servidor MariaDB, tendrás que crear otro beneficiario.

Disallow root login remotely? [Y/n] Y
 ... Success!

Ahora vuelve a escribir Y para eliminar la prueba de saco de datos por defecto de tu servidor MariaDB.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Por postrero, vuelve a escribir Y para confirmar y recargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ahora ya has completado la configuración básica del servidor de bases de datos MariaDB.

Para asegurarte de que todos los cambios se están aplicando al servidor MariaDB, ejecuta el futuro comando para reiniciar el servicio MariaDB y repasar el estado del servicio.

sudo systemctl restart mariadb
sudo systemctl status mariadb

Ahora verás que el servidor MariaDB está activo (en ejecución).

Comprobación del servicio MariaDB

Crear nueva saco de datos y beneficiario para TYPO3 CMS

En este punto, has completado la instalación básica de LAMP Stack para la instalación de TYPO3 CMS. Ahora vas a crear una nueva saco de datos MariaDB y un nuevo beneficiario para TYPO3 CMS.

Accede al shell de MariaDB utilizando el comando mysql que aparece a continuación. Se te pedirá que introduzcas la contraseña raíz de MariaDB.

mysql -u root -p

Ahora ejecuta las siguientes consultas MariaDB para crear una nueva saco de datos typo3db con el beneficiario typo3 y la contraseña typo3password.

CREATE DATABASE typo3db;
GRANT ALL PRIVILEGES ON typo3db.* to [email protected] IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;
EXIT;

Ahora escribe EXIT para salir del intérprete de comandos MariaDB y continuar con la instalación de TYPO3 CMS.

Crear base de datos MariaDB y usuario TYPO3

Instalación de Composer

El TYPO3 CMS se puede instalar de diferentes maneras. En esta faro, instalarás el TYPO3 CMS utilizando el Compositor. Así que ahora vas a instalar COmposer en tu servidor Debian 11.

En primer división, ejecuta el futuro comando para descargar el instalador de PHP Composer y verifica el archivo de instalación.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Asegúrate de obtener el mensaje de salida«Instalador verificado«, lo que significa que el archivo instalador es el correcto.

A continuación, ejecuta el script instalador de Composer para descargarlo. Si se completa la descarga, elimina el script instalador.

php composer-setup.php
php -r "unlink('composer-setup.php');"

Ahora mueve el archivo composer.phar al directorio /usr/lugar/bin para que los usuarios del sistema Debian puedan ejecutar Composer.

sudo mv composer.phar /usr/lugar/bin/composer

Instalar Composer

Por postrero, verifica la instalación de Composer utilizando el futuro comando.

sudo -u www-data composer --version
sudo -u www-data composer -v

Verás que PHP composer v2.3. 3 está instalado en tu sistema Debian 11, y ya estás preparado para instalar TYPO3 CMS.

Comprobación de la versión de Composer

Descarga de TYPO3 CMS con Composer

Para iniciar la instalación de TYPO3 CMS, crea un nuevo directorio /var/www/typo3 utilizando el futuro comando.

mkdir -p /var/www/typo3

Cambia la propiedad del directorio /var/www/typo3 al beneficiario www-data y permite al beneficiario www-data escribir en ese directorio.

sudo chown -R www-data:www-data /var/www/typo3
sudo chmod u+rw /var/www/typo3

Crear directorio de instalación de TYPO3

A continuación, ve al directorio /var/www/typo3 y ejecuta el comando Composer que aparece a continuación para instalar el CMS TYPO3 en tu servidor.

cd /var/www/typo3
sudo -u www-data composer create-project typo3/cms-base-distribution:^11 .

El Compositor descargará el TYPO3 CMS y las dependencias de PHP.

Descargar e instalar TYPO3 CMS con Composer

Una vez completada la instalación, ejecuta el comando ls para repasar todos los archivos y directorios disponibles en el directorio /var/www/typo3.

ls

Verás el directorio llamado public, que es la fuente verdadero por defecto para el CMS TYPO3 y se utilizará como DocuemtRoot para la configuración del host supuesto.

Configuración del host supuesto Apache

A posteriori de ocurrir descargado el TYPO3 CMS utilizando el Compositor, ahora vas a crear una nueva configuración de host supuesto para la instalación de TYPO3 CMS.

Ve al directorio /etc/apache2/sites-available y crea una nueva configuración de host supuesto typo3. conf utilizando el editor nano.

cd /etc/apache2/sites-available/
sudo nano typo3.conf

Añade la futuro configuración al nuevo host supuesto typo3.conf . Asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL.

<VirtualHost *:80>
    ServerName example.io
    Redirect permanent / https://example.io/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/typo3/public
ServerName example.io

Protocols h2 http/1.1

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.io/privkey.pem

<Directory /var/www/typo3/public/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/typo3/public/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>

Observancia el archivo cuando hayas terminado.

A continuación, activa algunos módulos de Apache2 utilizando el futuro comando.

sudo a2enmod ssl rewrite headers

A posteriori, activa la configuración del host supuesto typo3.conf y verifica todas las configuraciones de Apache2.

sudo a2ensite typo3.conf
sudo apachectl configtest

Asegúrate de que recibes el mensaje Sintaxis OK, lo que significa que la configuración de Apache es correcta.

Configurar Apache Virtual host TYPO3 CMS

Por postrero, ejecuta el futuro comando para reiniciar y repasar el servicio Apache2. Y asegúrate de que el estado del servicio Apache2 es activo (en ejecución).

sudo systemctl restart apache2
sudo systemctl status apache2

Comprobación del servicio Apache2

Ahora ya has completado la configuración del host supuesto Apache2 para la instalación de TYPO3 CMS.

Instalación de TYPO3 CMS

Antiguamente de comenzar la instalación de TYPO3 CMS, deberás crear un nuevo archivo en blanco FIRST_INSTALL en el interior del directorio conocido. Esto indicará que estás instalando el TYPO3 CMS por primera vez en este servidor.

Crea un nuevo archivo FIRST_INSTALL en el interior del directorio conocido utilizando el futuro comando.

sudo -u www-data touch /var/www//typo3/public/FIRST_INSTALL

A continuación, abre tu navegador web y escribe el nombre de dominio de tu instalación de TYPO3 CMS.

https://example.io/

Ahora verás la primera página de la instalación de TYPO3 CMS. Asegúrate de que tu entorno de instalación no tiene ningún problema. A continuación, haz clic en el llamador verde para continuar.

Instalación de TYPO3 CMS

Para la configuración de la saco de datos, introduce el nombre de beneficiario y la contraseña de la saco de datos, y haz clic en Continuar.

Configurar usuario y contraseña de la base de datos TYPO3 CMS

Ahora selecciona la opción Utilizar una saco de datos vacía existente y selecciona la saco de datos typo3db, luego haz clic en Continuar.

Configurar Base de Datos TYPO3 CMS

Ahora tendrás que crear un beneficiario y una contraseña de administrador para el CMS YUPO3 y hacer clic en Continuar para completar la instalación.

Crear usuario administrador TYPO3 CMS

La instalación de TYPO3 CMS ya se ha completado, haz clic en el llamador Inaugurar el Backend de TYPO3.

Instalación completada de TYPO3 CMS

Serás redirigido a la página de inicio de sesión de TYPO3 CMS. Introduce tu beneficiario y contraseña de administrador, y haz clic en Iniciar sesión.

Página de inicio de sesión de TYPO3 CMS

Una vez que el nombre de beneficiario y la contraseña sean correctos, verás el panel de dependencia de TYPO3 CMS.

Panel de administración de Typo3 CMS

Internamente del icono de beneficiario Admin, verás el menú rectángulo. Haz clic en él y verás el entorno detallado de tu instalación de TYPO3 CMS.

Información de instalación TYPO3 CMS

Conclusión

¡Enhorabuena! Ya has instalado con éxito el TYPO3 CMS con la pila LAMP en la última traducción de Debian 11 Bullseye. Ahora puedes crear un índice personalizado para tu TYPO3 CMS y explorar algunas extensiones para ampliar el uso de TYPO3 CMS en tu entorno.




Cacti es una aparejo gráfica y de supervisión de redes basada en web, gratuita y de código amplio. Proporciona un sondeador rápido con creación vanguardia de plantillas gráficas y múltiples métodos de recogida de datos. Cacti es una interfaz completa para RRDTool, almacena toda la información necesaria sobre los dispositivos de monitorización para crear gráficos y rellenarlos con datos de la almohadilla de datos MySQL.

En este tutorial, te mostraremos cómo instalar Cacti en Debian Buster 10. Instalaremos Cacti bajo la pila LAMP, el servidor web Apache, PHP 7.3 y el servidor MariaDB en la coetáneo Debian Buster 10.

Requisitos previos

Para este tutorial instalaremos Cacti en un sistema Debian con 1 GB de RAM, 25 GB de espacio vacuo en disco y 2 CPUs. Igualmente utilizaremos los privilegios de root sudo para instalar paquetes y editar la configuración del sistema.

¿Qué haremos?

  • Instalar el servidor web Apache
  • Instalar y configurar el servidor MariaDB
  • Instalar y configurar PHP 7.3
  • Instalar paquetes adicionales
  • Instalar Cacti en Debian 10
  • Probar

Paso 1 – Instalar el servidor web Apache

En primer oportunidad, instalaremos el servidor web Apache en el servidor Debian 10.

Actualiza todos los repositorios del sistema Debian e instala los paquetes Apache2 utilizando el comando apt que se indica a continuación.

sudo apt update
sudo apt install apache2 apache2-utils

Una vez completada la instalación, inicia el servicio Apache2 y añádelo al puesta en marcha del sistema.

systemctl start apache2
systemctl enable apache2

El servidor web Apache2 está en funcionamiento, compruébalo utilizando el comando systemctl que aparece a continuación.

systemctl status apache2

Instalar el servidor web Apache

Como resultado, la instalación del servidor web Apache2 se ha completado.

Paso 2 – Instalar MariaDB

En este paso, instalaremos y configuraremos el servidor de almohadilla de datos MariaDB.

Instala la almohadilla de datos MariaDB utilizando el comando apt que aparece a continuación.

sudo apt install mariadb-server

Una vez completada la instalación, inicia el servicio MariaDB y añádelo al puesta en marcha del sistema.

systemctl start mariadb
systemctl enable mariadb

El servicio MariaDB ya está en marcha.

A continuación, editaremos la configuración de MariaDB para la instalación de Cacti.

Edita la configuración de MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ utilizando el editor vim.

vim /etc/mysql/mariadb.conf.d/50-server.cnf

Pega la posterior configuración en la sección ‘[mysqld]’ como se indica a continuación.

[mysqld]
...
collation-server = utf8mb4_unicode_ci
character-set-server  = utf8mb4
innodb_flush_log_at_timeout = 4
innodb_read_io_threads = 34
innodb_write_io_threads = 17
max_heap_table_size = 70M
tmp_table_size = 70M
join_buffer_size = 130M
innodb_buffer_pool_size = 250M
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_file_format = Barracuda
innodb_large_prefix = 1
...

Protector y cierra.

Ahora reinicia el servicio MariaDB y asegúrate de que no hay ningún error, luego comprueba el estado del servicio MariaDB.

systemctl restart mariadb
systemctl status mariadb

A continuación se muestra el resultado que obtendrás.

Configurar MariaDB para Cacti

Como resultado, la instalación y configuración del Servidor MariaDB para la instalación de Cacti se ha completado con éxito.

Paso 3 – Instalar PHP 7.3

En este paso, instalaremos los paquetes PHP 7.3 con los paquetes adicionales necesarios para la instalación de Cacti.

Instala los paquetes PHP 7.3 utilizando el comando apt que aparece a continuación.

sudo apt install php php-common php-mysql php-snmp php-xml php-mbstring php-json php-gd php-gmp php-zip php-ldap php-pear php-php-gettext php-phpseclib php-twig

Una vez completada la instalación, ve al directorio ‘/etc/php/7.3’.

cd /etc/php/7.3/

Edita la configuración ‘php.ini’ tanto para Apache2 como para cli.

vim apache2/php.ini
vim cli/php.ini

Descomenta la opción ‘date.timezone’ y cambia el valía con tu zona horaria.

date.timezone = Asia/Singapore

Ahora descomenta la opción ‘cgi.fix_pathinfo’ y cambia el valía a ‘0’.

cgi.fix_pathinfo = 0

Protector y cierra.

A continuación, reinicia el servicio Apache2 para aplicar la nueva configuración.

systemctl restart apache2

Como resultado, la instalación y configuración de PHP 7.3 para la instalación de Cacti se ha completado con éxito.

Configurar PHP para Cacti

Paso 4 – Instalar SNMP y RRDTool

En este paso, instalaremos los paquetes SNMP y rrdtool en el servidor Debian 10.

El SNMP o (Simple Network Management Protocol) se utiliza para el intercambio de información de encargo entre el agente (servidor) y los clientes. Y la aparejo rrdtool (Round Robin the Database tool) se utiliza para acumular y mostrar datos de series temporales para la supervisión del sistema con soporte croquis.

Instala los paquetes SNMP y rrdtool utilizando el comando apt que aparece a continuación.

sudo apt install snmp php-snmp rrdtool librrds-perl

Una vez completada la instalación, pasa al posterior paso para instalar la Utensilio de Monitorización Cacti.

Paso 5 – Instalar Cacti

Por defecto, la Utensilio de Monitorización Cacti está apto en el repositorio de Debian Buster 10, se puede instalar utilizando el comando apt.

Muestra el paquete cacti en el repositorio de Debian utilizando el posterior comando.

sudo apt search cacti
sudo apt show cacti

Ahora instala Cacti y Cacti-spine (pooler marginal basado en C) utilizando el posterior comando apt.

sudo apt install cacti cacti-spine

Durante la instalación, se te pedirá la configuración del servidor web y de dbconfig-common.

Para la configuración del servidor web, elige«apache2» y selecciona«Aceptar«.

Configurar Apache para Cacti

A continuación, se te pedirá la configuración de la almohadilla de datos mediante «dbconfig-common», elige«Sí» para continuar.

Configurar Cacti con dbconfig-common

Ahora escribe tu contraseña para la configuración de la almohadilla de datos de cacti y el login de administrador de cacti.

configurar el admin de cacti y la contraseña de la base de datos

Repite la contraseña y eligeAceptar’.

configurar el admin de cacti y la contraseña de la base de datos

Y la instalación de Cacti se ha completado, ahora es accesible desde el navegador web.

Paso 6 – Pruebas

Abre tu navegador web y escribe la dirección IP del servidor con la ruta ‘cacti’ en la mostrador de direcciones.

http://serverip/cacti/

Ahora aparecerá la página de inicio de sesión de Cacti como se muestra a continuación.

Cacti login admin

Escribe el legatario por defecto ‘admin’ con la contraseña que acabas de configurar y pulsa el botonadura‘Iniciar sesión‘.

Aparecerá el panel de delegación de Cacti como se muestra a continuación.

Panel de administración de Cacti

Como resultado, la instalación y configuración de la Utensilio de Monitorización Cacti con la Pila LAMP en Debian Buster 10 se ha completado con éxito.




Akaunting es una aplicación de software de contabilidad de código amplio y autoalojada para pequeñas empresas y autónomos. Está construida con Laravel, Bootstrap, jQuery y API RESTful. Se utiliza para crear y administrar facturas, presupuestos y finanzas a través de un navegador web. Ofrece una impresionante App Store para que usuarios y desarrolladores amplíen la funcionalidad de Akaunting.

En este tutorial, te mostraré cómo instalar el software de contabilidad Akaunting con Apache y Let’s Encrypt SSL en Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Un nombre de dominio válido abonado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Instalar Apache, MariaDB y PHP

En primer ocasión, tendrás que instalar Apache, MariaDB, PHP y otras extensiones de PHP en tu servidor. Puedes instalarlos todos ejecutando el próximo comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-imap php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-bcmath php-ldap php-zip php-curl unzip curl -y

Luego de instalar todos los paquetes, edita el archivo de configuración de PHP y cambia la configuración por defecto:

nano /etc/php/8.1/apache2/php.ini
Change the following lines:
memory_limit = 256M
upload_max_filesize = 16M
post_max_size = 16M
max_execution_time = 300
date.timezone = UTC

Tutela y cierra el archivo y reinicia el servicio Apache para aplicar los cambios de configuración:

systemctl restart apache2

Configurar la colchoneta de datos MariaDB

Akaunting utiliza MariaDB/MySQL como colchoneta de datos. Así que tendrás que crear una colchoneta de datos y un legatario para Akaunting.

En primer ocasión, inicia sesión en MariaDB con el próximo comando:

mysql

Una vez conectado, crea una colchoneta de datos y un legatario para Akaunting con el próximo comando:

MariaDB [(none)]> CREATE DATABASE akaunting_db;
MariaDB [(none)]> CREATE USER 'akaunting_user'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la colchoneta de datos de Akaunting con el próximo comando:

MariaDB [(none)]> GRANT ALL ON akaunting_db.* TO 'akaunting_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal de MariaDB con el próximo comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Instalar Akaunting

Primero, ve a la página oficial de descargas de Akaunting y descarga la última traducción con el próximo comando:

wget -O Akaunting.zip https://akaunting.com/download.php?version=latest

Una vez finalizada la descarga, descomprime el archivo descargado en el directorio raíz web de Apache:

mkdir -p /var/www/html/akaunting
unzip Akaunting.zip -d /var/www/html/akaunting

A continuación, cambia la propiedad y el permiso del directorio Akaunting:

chown -R www-data:www-data /var/www/html/akaunting/
chmod -R 755 /var/www/html/akaunting/

Cuando hayas terminado, puedes advenir al próximo paso.

Configurar Apache para Akaunting

A continuación, tendrás que crear un archivo de configuración del host aparente de Apache para Akaunting. Puedes crearlo con el próximo comando:

nano /etc/apache2/sites-available/akaunting.conf

Añade las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/akaunting
ServerName akaunting.example.com
DirectoryIndex index.html index.php
<Directory /var/www/html/akaunting/>
Options +FollowSymlinks
AllowOverride All
Require all granted

</Directory>

ErrorLog ${APACHE_LOG_DIR}/akaunting_error.log
CustomLog ${APACHE_LOG_DIR}/akaunting_access.log combined

</VirtualHost>

Tutela y cierra el archivo y, a continuación, activa el host aparente de Apache y el módulo de reescritura con el próximo comando:

a2ensite akaunting
a2enmod rewrite

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Ahora puedes comprobar el estado del Apache con el próximo comando:

systemctl status apache2

Obtendrás la próximo salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-12 13:45:47 UTC; 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16032 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16036 (apache2)
      Tasks: 6 (limit: 464122)
     Memory: 14.2M
     CGroup: /system.slice/apache2.service
             ??16036 /usr/sbin/apache2 -k start
             ??16037 /usr/sbin/apache2 -k start
             ??16038 /usr/sbin/apache2 -k start
             ??16039 /usr/sbin/apache2 -k start
             ??16040 /usr/sbin/apache2 -k start
             ??16041 /usr/sbin/apache2 -k start

Nov 12 13:45:47 ubuntu22041 systemd[1]: Starting The Apache HTTP Server...

Asegura Akaunting con Let’s Encrypt SSL

A continuación, es una buena idea estabilizar tu sitio web con Let’s Encrypt SSL. En primer ocasión, instala el cliente Certbot utilizando el próximo comando:

apt-get install certbot python3-certbot-apache -y

Una vez instalado, ejecuta el próximo comando para estabilizar tu sitio web con Let’s Encrypt SSL:

certbot --apache -d akaunting.example.com

Se te pedirá que proporciones tu correo electrónico y aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
contrapuerta): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for akaunting.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/akaunting-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/akaunting-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/akaunting-le-ssl.conf

A continuación, selecciona si deseas o no redirigir el tráfico HTTP a HTTPS, como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to contrapuerta): 2

Escribe 2 y pulsa Intro para instalar Let’s Encrypt SSL en tu sitio web:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/akaunting.conf to ssl vhost in /etc/apache2/sites-available/akaunting-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://akaunting.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=akaunting.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/akaunting.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/akaunting.example.com/privkey.pem
   Your cert will expire on 2023-02-12. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Accede a la Interfaz Web de Akaunting

Ahora, abre tu navegador y accede a la interfaz web de Akaunting utilizando la URL http://akaunting.example.com. Aparecerá la próximo pantalla:

Elige lengua

Selecciona tu idioma y pulsa el clavija Futuro. Aparecerá la pantalla de configuración de la colchoneta de datos:

Configuración de la base de datos

Proporciona los detalles de tu colchoneta de datos y pulsa el clavija Futuro. Aparecerá la pantalla de creación de la cuenta de legatario Admin:

Configuración de la empresa

Proporciona el nombre de tu empresa, correo electrónico, contraseña y pulsa el clavija Futuro. Aparecerá la pantalla de inicio de sesión de Akaunting:

Iniciar sesión

Proporciona tu nombre de legatario admin, contraseña y pulsa el clavija Iniciar sesión. Aparecerá la próximo pantalla:

Empresa

Pulsa el clavija Olvidar. Aparecerá la pantalla Divisas:

Divisas

Habilita tus monedas y pulsa el clavija Futuro. Aparecerá la pantalla de plugins:

Cuadro de mandos Akaunting

Instala los módulos que necesites y pulsa el clavija Futuro. Aparecerá la próximo pantalla:

Crear una nueva factura

Ahora puedes crear tu primera cuenta desde la pantalla inicial.

Conclusión

Enhorabuena! has instalado con éxito Akaunting con Apache y Let’s Encrypt SSL en el servidor Ubuntu 22.04. Ahora puedes encajar el software Akaunting en tu estructura para administrar tus facturas, presupuestos y finanzas desde cualquier ocasión. No dudes en preguntarme si tienes alguna duda.




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.