CentOS es la versión libre de Red Hat y a pesar de que ha sido «descontinuado» a partir de su versión 8 (es decir, de ser un proyecto final a pasado a ser un proyecto de prueba) aún tiene soporte hasta el año 2025. Me sorprendo con la sencillez del código para instalar un sevidor web Apache, ¡es tan corto e increbíle que hasta le agregamos comprobación!
Tabla de contenido:
DigitalOcean
Para realizar esta práctica bien pueden crear una cuenta nueva en DigitalOcean con nuestro código de referido y tendrán saldo más que suficiente para ejercitar vuestras habilidades de administrador o administradora de red.
Recuerden:
La idea es simplificar todo al máximo, así que acá estoy usando la clave del usuario root pero recuerden siempre que deben crear un usuario con derechos de administrador y delegar todo el trabajo en él o ella, el usuario raíz solo es usado en consola física o, en el caso de DigitalOcean, por el panel de administración cloud.digitalocean.com
Instalación de Apache Web Server
Debemos conectar por SSH e introducir el siguiente código:
[ `rpm -qa | grep -i httpd | wc -l` == 0 ] && yum install httpd
En realidad son dos instrucciones en una, separadas por &&
:
- A la izquierda del separador tenemos un condicional que de ser cierto pasa a ejecutar el segundo comando e instala el servidor web. Al final de esta entrada, en la sección de «fuentes consultadas», coloco el enlace a un excelente tutorial publicado por @nixcraft (Twitter).
- El condicional entre corchetes tiene un doble signo de igualdad y si devuelve cero es cierto y procede con el paso anterior pero ¿qué debe devolver cero?
- El comando rpm tiene un parámetro que permite listar todo el hardware instalado pero dicha lista es larga a pesar de apena haber instalado la máquina virtual. Ahora la tendencia mundial es por máquinas virtuales que contengan entornos completos, y CentOS es rico en características listas para trabajar. Pero obviamente no trae instalado el Apache porque no es una necesidad para todas y todos. De esta larga lista de aplicaciones instaladas la palabra clave es
httpd
con la cual filtramos con el comando grep. Por último contamos el número de líneas devueltas conwc -l.
Lo que me sorprende de CentOS es cómo resuelve rápidamente las dependencias necesarias, vean todas y todos:
Comprobación de servidor web en funcionamiento
Configuración del httpd
A pesar de ser tan fácil como navegar a la dirección IP del droplet (máquina virtual) de DigitalOcean (o vuestra máquina física o virtual) debemos hacer configuraciones automatizadas (como por ejemplo con Ansible) con dos sencillas líneas que reinician el servicio httpd y lo habilita para que cada vez que el servidor web reinicie esté disponible:
systemctl restart httpd
systemctl enable httpd.service
a
Comprobación del servicio httpd
De nuevo podemos utilizar los comando grep y wc pero en esta oportunidad usaremos el comando netstat:
netstat -lptn | grep httpd | grep LISTEN | wc -l
Esto debe devolver un valor mayor a cero: el número de puertos donde trabaja httpd, al menos uno en el puerto 80 que es el puerto por defecto (otro puerto habitual es 443 para conexiones cifradas).
Para prueba, según coloco en la imagen anterior, he detenido el servicio a propósito y el conteo devuelve 0, es decir, no está funcionando el servidor web.
Fuentes consultadas
En idioma castellano
- «».
- «».
- «».