Logotipo de CentOS ( https://commons.wikimedia.org/wiki/File:Centos-logo-light.svg )

CentOS 7: instalación de Apache web server

Download PDF

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.

Digitalocean Sammy green heart balloon
Digitalocean Sammy green heart balloon

Recuerden:

Leonardo Da Vinci, cortesía de Wikipedia«La simplicidad es la máxima sofisticación»

Leonardo Da Vinci

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 con wc -l.

Lo que me sorprende de CentOS es cómo resuelve rápidamente las dependencias necesarias, vean todas y todos:

CentOS 7 yum install -y httpd
CentOS 7 yum install -y httpd
CentOS 7 Dependencies Resolved Example
CentOS 7 Dependencies Resolved Example
CentOS 7 httpd installation complete
CentOS 7 httpd installation complete

Comprobación de servidor web en funcionamiento

CentOS 7 Apache HTTP Server Test Page (httpd service)
CentOS 7 Apache HTTP Server Test Page (httpd service)

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

CentOS 7 systemctl enable httpd.service
CentOS 7 systemctl enable httpd.service

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

CentOS 7 netstat -lptn (httpd testing)
CentOS 7 netstat -lptn (httpd testing)

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.


Language programming books, photo by Helder da Rocha
Fuentes consultadas

En idioma castellano

  • «».
  • «».
  • «».
Por favor, lea también   Centos 8: deshabilitación de SELinux

En idioma japonés

En idioma inglés

Crédito de la imagen Gerd Altmann, trabajo, licencia de uso:Pixabay
Crédito de la imagen Gerd Altmann, trabajo, licencia de uso:Pixabay

Download PDF