El archivo httpd.conf configura el servidor Apache, e incluye otros archivos de configuración específicos y más pequeños. El archivo esta ampliamente documentado, [14] cada directiva tiene una descripción concreta de cómo usarlo, por lo tanto haremos una descripción breve de las directivas más importantes.
User: Define el usuario que ejecuta al proceso apache.
Group: Define el grupo que ejecuta al proceso apache.
ServerName: Nombre del servidor, si se omite, se asigna el nombre del equipo.
ServerAlias: Uno o más alias del servidor.
ServerAdmin: Email del administrador para el envio de errores.
DocumentRoot: Directorio donde se encuentran los documentos a enviar, debe tener permiso el User y Group mencionados anteriormente.
Include: Nombre de archivo a incluir. Útil para dividir la configuración en varios archivos pequeños.
Otro tipo de directivas son los bloques que su formato es similar a los tags HTML/XML, comienzan con <Directiva Opcion> y finalizan con </Directiva>.
Directory Opcion: nombre de directorio. Define propiedades de un directorio a utilizar en el servidor.
DirectoryMatch Opcion: expresión regular. Igual que Directory, pero acepta una expresión regular para generalizar los directorios.
Files Opcion: nombre de archivo. Define propiedades para un archivo determinado.
FilesMatch Opcion: expresión regular. Igual que Files, pero acepta una expresión regular para generalizar los archivos.
Location Opcion: URL. Especifica las propiedades de una URL del sitio.
LocationMatch Opcion: expresión regular. Como es de esperar, es igual que Location pero se pueden especificar varias URL's con expresiones regulares.
VirtualHost Opcion: nombre de host. Especifica propiedades de un sólo dominio. Veremos en mayor detalle esta directiva.
Un archivo httpd.conf simple:
User apache
Group apache
ServerName www.dominio.org.ar
ServerAdmin webmaster@dominio.org.ar
DocumentRoot /var/www/
<Directory /var/www>
Options Indexes
</Directory>
|
A nuestro ejemplo podemos agregarle un directorio llamado images que contenga todas las imágenes del sitio pero no queremos que nadie liste el contenido de ese directorio:
<Directory /var/www/images>
Options -Indexes
</Directory>
|
<Directory /var/www/cgi-bin>
Options -Indexes ExecCGI
</Directory>
|
<Directory /var/www>
Options Indexes -ExecCGI
</Directory>
|
User apache
Group apache
ServerName www.dominio.org.ar
ServerAdmin webmaster@dominio.org.ar
DocumentRoot /var/www/
<Directory /var/www>
Options Indexes -ExecCGI+
</Directory>
<Directory /var/www/images>
Options -Indexes
</Directory>
<Directory /var/www/cgi-bin>
Options -Indexes ExecCGI
</Directory>
|
[14] Como muchos archivos de configuración cualquier línea que comience con ``\#'' se ignora por lo tanto es considerada comentario.