Qué es Apache y cómo funciona un servidor web
Autor: Redacción Domeny.ForSale Publicado
En breve: Apache HTTP Server es un software gratuito de servidor web que recibe las solicitudes del navegador y devuelve el contenido de las páginas, archivos o respuestas de aplicaciones. Puede servir páginas sencillas en HTML, gestionar sitios WordPress junto con PHP y reenviar tráfico a otras aplicaciones. Apache no es un dominio ni un servicio de hosting: es uno de los programas que pueden ejecutarse en un servidor de alojamiento.
Para qué sirve Apache y cómo funciona
Un servidor web es un programa que gestiona la comunicación mediante HTTP o HTTPS, los protocolos utilizados para transmitir páginas web. La palabra «servidor» también puede referirse a un ordenador, pero Apache es software, no un dispositivo. El proyecto Apache HTTP Server se desarrolla en el seno de Apache Software Foundation y es de código abierto.
Cuando escribes la dirección de una página en el navegador, el sistema DNS ayuda a determinar la dirección del servidor correspondiente a ese dominio. A continuación, el navegador se conecta al servidor y envía una solicitud, por ejemplo, para obtener la página de inicio. Apache identifica el sitio y la ruta, aplica las reglas de configuración y devuelve una respuesta.
La forma de preparar esa respuesta depende del recurso:
- Un archivo estático, como una imagen o un documento HTML, puede leerse del disco y enviarse directamente desde Apache.
- Una página dinámica, como una entrada de WordPress, requiere ejecutar el código de la aplicación. En ese caso, Apache trabaja con el mecanismo que ejecuta PHP, y el resultado se envía al navegador.
- Una solicitud dirigida a una aplicación independiente puede reenviarse a esta. Apache actúa entonces como proxy inverso, es decir, como intermediario entre el visitante y otro servidor de aplicaciones.
Apache también devuelve códigos de estado HTTP, como el 404 cuando no se encuentra un recurso. Sin embargo, el código de error por sí solo no determina la causa: la respuesta también puede proceder de la aplicación que funciona detrás de Apache.
Apache, dominio, hosting y PHP: funciones distintas
El dominio es el nombre utilizado en la dirección del sitio, mientras que el hosting proporciona los recursos necesarios para mantenerlo. Apache gestiona el tráfico web utilizando esos recursos. PHP es un lenguaje de programación y un entorno que ejecuta código, mientras que la base de datos almacena la información utilizada por la aplicación.
Por ejemplo, una tienda basada en WordPress puede utilizar el dominio tienda.example, una cuenta de hosting, Apache, PHP y una base de datos MariaDB. El navegador solicita la página de un producto, Apache dirige la solicitud al mecanismo que ejecuta PHP y WordPress obtiene los datos del producto de la base de datos. El cliente recibe el HTML generado, no el código PHP ni el contenido directo de la base de datos.
Estos elementos no están ligados de forma inseparable. WordPress también puede funcionar con otro servidor web, y Apache puede servir una página sencilla en HTML sin PHP ni una base de datos. Por eso, decir que «el hosting admite Apache» no describe todo el entorno que necesita un sitio concreto.
Principales funciones de Apache
Apache puede gestionar varios sitios en una misma máquina gracias a la configuración VirtualHost. Esta define los ajustes de un sitio concreto, entre ellos su nombre de dominio, el directorio de archivos y la ubicación de los registros. Registrar un dominio no crea por sí solo esa configuración: en un servicio de hosting, el panel suele encargarse de hacerlo al añadir el dominio.
Los módulos amplían las funciones del servidor. Por ejemplo, mod_rewrite permite transformar direcciones y dirigir solicitudes según unas reglas, mientras que mod_ssl ofrece compatibilidad con TLS, el cifrado utilizado por HTTPS. Activar HTTPS también requiere una configuración correcta y un certificado para el dominio.
Apache guarda registros, también llamados logs. El registro de acceso recoge las solicitudes atendidas, y el registro de errores ayuda a investigar problemas de configuración y funcionamiento del servidor. Cuando un sitio falla, los registros suelen ser más útiles que el mensaje que aparece en el navegador.
Qué es el archivo .htaccess y cuándo usarlo
.htaccess es un archivo que permite modificar parte de los ajustes de Apache para un directorio concreto y sus subdirectorios. Solo funciona dentro de los límites permitidos por el administrador del servidor. En el hosting compartido, puede servir para establecer redirecciones, reglas de direcciones o restricciones de acceso sin editar la configuración principal.
Un ejemplo son las reglas de WordPress, que dirigen las solicitudes de direcciones legibles de entradas al archivo encargado de gestionar la aplicación. Eliminar esas reglas o modificarlas de forma incorrecta puede hacer que la página de inicio siga funcionando, pero que las páginas internas devuelvan errores 404.
Antes de editar .htaccess, guarda una copia, introduce los cambios de uno en uno y comprueba varias direcciones del sitio. Una directiva no permitida o un error de sintaxis puede provocar una respuesta 500, que indica un error interno del servidor. Si administras todo el servidor, suele ser mejor incluir los ajustes en la configuración principal: facilita el control y evita tener que leer adicionalmente los archivos .htaccess.
¿Necesitas Apache para tu sitio web?
En un hosting compartido o gestionado, normalmente no instalas Apache por tu cuenta. El proveedor elige y mantiene el servidor web, mientras que tú configuras el dominio y la aplicación. La documentación del hosting debería confirmar qué software utiliza el servicio, si admite .htaccess y qué directivas permite.
Si tienes tu propio VPS, es decir, un servidor virtual, la elección y el mantenimiento del software pueden ser responsabilidad tuya. Apache es una opción razonable cuando la aplicación o la forma de administrarla utiliza sus módulos y reglas. Una de las alternativas es Nginx, que no lee archivos .htaccess; por tanto, migrar a él requiere trasladar las reglas correspondientes a su configuración.
No existe una regla universal según la cual uno de estos servidores siempre sea más rápido. Influyen la configuración, la aplicación, la caché y los recursos disponibles. Antes de elegir un hosting, comprueba sobre todo los requisitos de tu aplicación y quién se encarga de las actualizaciones y de la configuración del servidor web.
Consulta también: ¿Qué es 2FA?
