[Introducción]
[Características]
[Configuración del Servidor]
[El fichero httpd.conf]
[Instalación de Apache en Windows]
[Directorios Virtuales]
[Mensajes de Errores]
[Infografia]
Introducción

Es un servidor web, que permite el alojamiento de páginas web en una máquina específica, donde el nombre de Apache viene de A PAtCHy sErver. Esta herramienta tiene varias funciones tales como: permitir a los usuarios tener sus propias páginas web, restricción a determinados sitios web, conexiones seguras a través de SSL, configuración de módulos de programación. Cuyo desarrollo (recordemos que el grupo está formado por voluntarios conocidos como Apache Group), nació como sustitución para el servidor de red httpd 1.3 desarrollado por el NCSA (National Center for Supercomputing Applications), incluyendo las características, solucionando los problemas e implementando nuevas características.

El cual es elegido para poder funcionar como un proceso standalone, sin que eso solicite el apoyo de otras aplicaciones o directamente del usuario. Para poder hacer esto, Apache, una vez que se haya iniciado, crea unos subprocesos (que normalmente vienen llamados "children processes") para poder gestionar las solicitudes: estos procesos, sin embargo, no podrán nunca interferir con el proceso mayor, sin embargo puede pasar lo contrario: envían una señal de stop a éste, también los children se terminarán.

Además, Apache se distribuye como free software, por explícito deseo del grupo que lo desarrolla: ellos, en realidad, consideran que instrumentos de este tipo tienen que ser accesibles a todos, y que los software house tienen que ganar sólo produciendo addons o similares de valor, o tal vez personalizados para algunas categorias de usuarios. Además, dejando el software al acceso de cualquiera completo de fuentes, es posible que los ususarios contribuyan, tanto a través de retroalimentación como a través de verdaderas patch, a mejorar el producto final.

 

Carasterísticas de Apache

Independencia de plataforma: Apache funciona en casi todas las plataformas actuales (FreeBSD, NetBSD, OpenBSD, GNU/Linux, Mac OS y Mac OS X Server, Netware, OpenStep/Match, UNIX comerciales como AIX (R), Digital UNIX (R), HP-UX (R),IRIX (R), SCO (R), Solaris (R), SunOS (R), UnixWare (R), Windows (R) ). Debido a esto podemos escoger la plataforma que más se adapte a nuestras características, y también podemos cambiar por otra que en un momento determinado nos ofrece más ventajas que la que estemos utilizando.

Autenticación de diferentes tipos: Apache permite la autenticación de usuarios en varias formas, de esta forma se puede restringir el acceso a determinadas páginas de un sitio web de una forma sencilla y de facil mantenimiento.

Respuestas personalizadas ante errores del servidor: Apache permite personalizar la respuesta ante los posibles errores que se puedan dar en el servidor.Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto.

Creación de contenidos dinámicos: Apache permite la creación de sitios web dinámicos mediante el uso de CGI's, de Server Side Includes (SSI), de lenguajes de Scripting como PHP, javascript, Pytho, de Java y páginas jsp.

Alta configurabilidad en la creación y gestión de logs: permite la creación de ficheros de log a medida del administrador. Apache utiliza el formato Common Log Format (CLF) para la generación de los logs de error. Este formato es usado por varios servidores web y existen herramientas para el análisis de ficheros con este formato

 

Configuración del Servidor

Los ficheros de configuración de Apache se buscan por defecto dentro del directorio "/usr/local/apache/conf" aunque esto es algo configurable. Allí deben de estar presentes los ficheros:

httpd.conf
Fichero principal de configuración de Apache
srm.conf
Fichero de definición del espacio de nombres que los usuarios ven del servidor de web
access.conf
Fichero de control de acceso global a los datos del servidor de web.
mime.types
Fichero de control de los tipos MIME que son enviados al cliente en función de la extensión del fichero.

El fichero httpd.conf

 

El fichero principal es httpd.conf, por lo que a continuación se detalla su configuración. Los demás ficheros son de apoyo, y su comprensión es más sencilla.

<Directory>
Los parámetros que se encuentran dentro de esta sección, sólo se aplicarán a el directorio especificado y a sus subdirectorios

<DirectoryMatch>
Igual que Directory, pero acepta en el nombre del directorio expresiones regulares
<Files>
Los parámetros de configuración proporcionan control de acceso de los ficheros por su nombre
<Location>
Proporciona un control de acceso de los ficheros por medio de la URL
<LocationMatch>
Igual que Location, pero acepta expresiones regulares en el nombre del fichero
Instalación de Apache en Windows

 

Antes de instalar el servidor de Internet Apache es necesario tener en cuenta que paquetes se requieren previamente dependiendo de la versión de Windows en ejecución:

Windows 95. Debe instalar Winsock2 para actualizar el dll de Winsock. Para esto ejecute el programa W95ws2setup. Posteriormente realice la instalación del sistema Microsoft Installer MSI.


Windows 98 y NT 4.0. Debe instalar MSI.

Versiones posteriores de Windows a las mencionadas anteriormente no requieren de la instalación de estos paquetes. Una vez instalados los programas requeridos (de ser necesario), ejecute el programa apache_1.3.xx-win32-x86.msi.

La instalación es muy sencilla, una vez ejecutado el archivo .exe bajado desde la web nos a preguntar lo siguiente:
- El directorio en donde instalaremos Apache (el default es c:\Archivos de Programa\Apache Group\ Apache), no viene nada mal cambiar el directorio a c:\apache.
- El nombre del menú Inicio (el default es Apache Web Server)
- Y el tipo de instalación: Tipical (instala todo excepto el código fuente), Minimum (no instala los manuales ni el código fuente) y Custom (para seleccionar los componentes a instalar en forma personalizada).

Durante la instalación, Apache configurará los archivos de configuración (conf) para la instalación seleccionada. Si ya teníamos una versión instalada, el programa no sobreescribirá los archivos conf, en lugar de borrarlos, guarda los archivos nuevos agregando la extensión .default. La configuración consta en editar el archivo httpd.conf y cambiar algunos parámetros. Este archivo está ubicado en c:\apache\conf\httpd.conf o donde el directorio en donde lo hayamos instalado. Dentro encontraremos muchísimas líneas con un # adelante, este símbolo se utiliza en los archivos de configuración de Linux, y sirve para habilitar o deshabilitar dicha línea.

Abrimos el archivo con el Bloc de Notas o cualquier otro editor de texto y cambiamos: #ServerName new.host.name por ServerName localhost (noten que hemos quitado el signo #).

Nos dirigimos hacia el DOS y ejecutamos c:\apache\apache.exe o en el menú Inicio / Ejecutar / apache.exe. Si todo salió bien en la ventana de Dos tiene que aparecer "Apache/1.3.12 (Win32) running...". Para verificar el funcionamiento de su servidor, abra un navegador y seleccione la dirección http://localhost, su navegador deberá presentar la página de prueba de Apache:

Directorios Virtuales

Esta directiva sólo se encuentra dentro del fichero de configuración httpd.conf, y se trata aparte en este capítulo debido a su importancia.

Alias: Permite la definición de directorios virtuales, un directorio virtual es un directorio que se encuentra en un directorio distinto del que se mapea en la URL. El directorio virtual no se tiene porqué encontrar dentro de árbol de directorios que se crea a partir de DocumentRoot, sino que se puede encontrar en cualquier otra ubicación, incluso se podría encontrar en otro servidor distinto.

AliasMatch: La utilidad de esta directiva es idéntica a la de la directiva Alias, la única diferencia es que mientras Alias utiliza expresiones estándar regulares para especificar la URL que se va mapear.

Mensajes de Errores

 

Para configurar Apache de forma que pueda producir mensajes de error personalizados, habrá que actuar sobre el archivo srm.conf en la rootdir del servidor de red:

# Customizable error response (Apache style)
# these come in three flavors
#
# 1) plain text
#ErrorDocument 500 "The server made a boo boo.
# n.b. the (") marks it as text, it does not get output
#
# 2) local redirects
#ErrorDocument 404 /missing.html
# to redirect to local url /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# n.b. can redirect to a script or a document using
# server-side-includes.
#
# 3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html

La sintaxis de base para los mensajes de error personalizados, entonces, es: ErrorDocument XXX acción

en el que "ErrorDocument" es el directorio, XXX es un número de tres cifras que corresponden al código de error de servidor (por ejemplo, 404, 500 etc.) y "acción" es lo que el servidor tiene que hacer en caso de que se detecten estos errores.

ErrorDocument 500 "El script solicitado no se pudo poner en marcha por problemas internos.

En este caso, en presencia de un "Error 500" se avisa al visitador que el script que se ha solicitado de su navegador, tuvo problemas al ponerse en marcha y la salida no se puede visualizar. Éste es un típico ejemplo de mensaje de error simplemente en forma textual.