Configuración de Apache

El servidor web Apache se basa en el originar servidor web NCSA, al que ha sustituido prácticamente en su totalidad

El servidor Web Apache se configura mediante un fichero de texto que contiene las directivas que le indican las instrucciones sobre como tiene que ser su comportamiento. Normalmente cada distribución de Apache trae un fichero de configuración en el que los cambios que tendremos que realizar son mínimos.

Se puede encotrar un información detallada en sobre las directivas en http://httpd.apache.org/docs-2.0/

La configuración se especifica en el fichero httpd.conf que está formado por directivas de configuración y línea de comentario que comienzan por un #. Los ficheros de configuración de Apache contienen una directiva por línea. Se puede usar "\" al final de una línea para indicar que una directiva continua en la próxima línea. No puede haber otros caracteres o espacio en blanco entre el carácter "\" y el fin de la línea. No se pueden incluir comentarios en una línea, después de una directiva de configuración. Los espacios y líneas en blanco antes de una directiva de configuración se ignoran, de manera que se puede dejar una sangría en las directivas para mayor claridad.

AddType

AddType permite añadir o modificar la configuración MIME de un tipo concreto. Por ejemplo:

AddType application/x-tar .tgz

ErrorDocument

Permite personalizar las respuestas de los mensajes de error en tres formas distintas, un texto simple, una redirección a una página local o una redirección externa. El primer campo es el código de error correspondiente, por ejemplo 404 es el código de docmento inexistente. El segundo la acción que se realiza.

El administrador Web puede de modificar estos mensajes de error para facilitar el acceso a los clientes, es decir cuando alguien solicitaa alguan página que no existe puede mostrar una página donde haya enlaces a los contenidos que se albergan.

Vemos algunos ejemplos:

ErrorDocument 500 "El servidor ha fallado."
ErrorDocument 404 /noencontrado.html
ErrorDocument 404 "/cgi-bin/noencontrado.pl"
ErrorDocument 402 http://www.exteno.dom/datos.html
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/var/www/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>
    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>

BrowserMatch

BrowserMatch modifica las repuestas normales HTTP en función de los problemas conocidos de ciertos navegadores.

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully

Configuraciones de directorios

Cada directorio al que Apache tenga acceso se puede configurar para satisfacer los servicios y características que se permiten o no en dicho directorio y en sus subdirectorios.

Valor predeterminado

Primero configuramos el predeterminado con un conjunto de características muy restrictivas:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

Esta configuración garantiza el mayor rendimiento ya que el servidor, por un lado no tiene que comprobar si un fichero es un enlace simbólico y por otro no tiene que leer ficheros .htaccess.

Si queremos modificar estas características, lo haremos más adelante para directorios concretos.

Directorio raíz

El valor de directorio tendría que ser el mismo que indicamos en la directiva DocumentRoot.

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>