Implementación y Configuración de Servidor Web Apache en Entornos Linux (Ubuntu)

Clasificado en Informática

Escrito el en español con un tamaño de 5,17 KB

Práctica de Implementación de un Servidor Web en Linux

Paso 0: Comprobación de Conectividad de la Máquina Virtual Ubuntu

Es fundamental asegurar que la máquina virtual (MV) disponga de conectividad de red antes de proceder con la instalación del servidor web.

Comandos de Verificación de Red:

  • Verificar el estado del servicio de red: /etc/init.d/networking {status|restart|stop|start}
  • Probar la conexión a otra máquina (ejemplo): ping 10.11.0.253

Paso 1: Instalación del Servidor Web Apache

Se procede a la instalación del paquete apache2. Es recomendable actualizar la lista de paquetes previamente.

sudo apt-get update
sudo apt-get install apache2

Una vez iniciado, el servidor Apache estará escuchando peticiones en el puerto 80 por defecto. El directorio principal donde se encuentran los archivos que servirá el servidor se denomina DocumentRoot. Generalmente, esta ubicación es /var/www o /var/www/html, aunque es completamente configurable.

Paso 2: Verificación de la Actividad del Servidor

Verificación de Puertos Activos

Utilice netstat para confirmar que Apache está escuchando en el puerto esperado:

netstat -nlt

Verificación del Proceso de Apache

Compruebe que el proceso del servidor se está ejecutando correctamente:

ps aux | grep apache2

Paso 3: Control del Servicio del Servidor

Comandos básicos para gestionar el ciclo de vida del servicio Apache:

sudo /etc/init.d/apache2 {start|stop|restart|reload}

Acceso al Archivo de Configuración Principal

El archivo central que contiene la configuración principal de Apache en sistemas basados en Debian/Ubuntu es apache2.conf.

Paso 5: Utilidad de las Directivas de Configuración de Apache

A continuación, se detalla la función de directivas clave encontradas en los archivos de configuración:

  • ServerRoot: Indica el directorio raíz donde se encuentra instalado Apache. Por defecto: /etc/apache2.
  • DocumentRoot: Especifica el directorio que contiene los archivos y recursos que Apache entregará en respuesta a las peticiones HTTP. El directorio predeterminado suele ser /var/www/html.
  • Listen: Define el puerto (y opcionalmente la dirección IP) en el que Apache debe escuchar las peticiones entrantes.
  • Include: Permite incorporar otros archivos de configuración durante el tiempo de ejecución. Las rutas a estos archivos pueden ser absolutas o relativas respecto a ServerRoot.

Paso 6: Contenido del Directorio de Logs

El directorio /var/log/apache2/ contiene los registros esenciales de la actividad del servidor:

  • access.log: Fichero de accesos (registro de todas las peticiones recibidas por el servidor).
  • error.log: Fichero de errores (registro de problemas o advertencias generadas por Apache).

Paso 7: Herramientas de Configuración en Debian/Ubuntu

Los sistemas Debian/Ubuntu proporcionan utilidades específicas para gestionar módulos y sitios virtuales de manera sencilla:

  • a2enmod / a2dismod: Para habilitar o deshabilitar módulos de Apache.
  • a2ensite / a2dissite: Para habilitar o deshabilitar configuraciones de sitios virtuales.

Paso 8: Modificación de la Configuración de Apache

Deshabilitar el Listado de Directorios (Directory Indexing)

Para evitar que los usuarios puedan navegar por el contenido de un directorio si no existe un archivo índice (como index.html), se debe configurar la directiva Options:

Options -Indexes

Personalización de Mensajes de Error

Se pueden traducir o redirigir los códigos de error HTTP comunes:

  • Para establecer un mensaje personalizado para el error 403 (Prohibido): ErrorDocument 403 "Acceso Denegado"
  • Para establecer un mensaje personalizado para el error 404 (No Encontrado): ErrorDocument 404 "La página solicitada no existe."
  • Para redirigir el error 404 a una página HTML específica: ErrorDocument 404 /404.html

Configuración de un Directorio Virtual (Virtual Host)

Para configurar el servidor para que sirva contenido desde un directorio específico, como el directorio virtual curso que cuelga de /home/alumno, se deben seguir los siguientes pasos:

  1. Crear la estructura de directorios necesaria:
    cd /home/alumno
    mkdir curso
  2. Añadir la configuración correspondiente al archivo de configuración de Virtual Hosts de Apache (generalmente en /etc/apache2/sites-available/), especificando el nuevo DocumentRoot y configurando los permisos necesarios.

Entradas relacionadas: