Primitivas del archivo de configuración de Apache httpd

Anuncio
Primitivas del archivo de configuración de Apache httpd.conf
Correo electrónico del administrador del sistema: ServerAdmin
Apache usa este correo para enviar mensajes de correo electrónico, en caso de falla del
sistema, con el fin de mantener un contacto con el administrador del sistema. Con esta
directiva se especifica dicho correo electrónico. En el ejemplo que veremos a
continuación, se usa root@localhost pero en la realidad es conveniente que este correo
tenga nombre propio para claridad en la asignación del responsable de mantener el
sistema.
ServerAdmin root@localhost
Directorio de residencia de los archivos de configuración: ServerRoot
En este ejemplo estamos usando los archivos de configuración desde el directorio
/etc/httpd como se ha explicado desde el principio. Este directorio puede ser cualquiera
del sistema, pero hay estándares al respecto que es preferible mantener, en bien de la
consistencia. Apache sabe de esto por esta directiva, la cual se explica en el archivo de
configuración de la siguiente manera:
ServerRoot "/etc/httpd"
Archivo de bitácora de errores: ErrorLog
Los errores que llegue a producir el sistema, se pueden almacenar en un archivo de
bitácora cuya localización se especifica con esta opción.
ErrorLog logs/error_log
Manejo de un nombre alterno: Server Name.
En ocasiones se quiere manejar un nombre del servidor diferente al verdadero por
múltiples razones que van desde seguridad hasta estrategias comerciales. Si eso se
desea hacer, aquí especificamos ese nombre, el cual debe tener una entrada válida en el
DNS. El efecto de esta directiva es que si por ejemplo el servidor se llama
linux.domain.com y esta variable está con el nombre new.host.name entonces el llamado
a http://linux.domain.comse convierte en http://new.host.name será este último nombre del
servidor el que se verá en el navegador. Igualmente puede ser el nombre del servidor
verdadero.
ServerName linux.domain.com.co
Nuevo puerto de Apache
Usualmente las aplicaciones de la web se escuchan por el puerto 80. Sin embargo,
Apache permite cambiar este puerto con la siguiente opción, lo cual puede ser muy útil
para el manejo de aplicaciones específicas. Listen: permite atar Apache a una dirección
específica de IP y/o a un puerto, además, del asumido.
Listen 80
o Listen 12.34.56.78:80
Directorio del Documento Raiz: DocumentRoot
Cuando un usuario se conecta a un servidor a través de un navegador lo hace usando el
protocolo http://servidor.dominio como ya se sabe. Al hacer esto el servidor de web se
sitúa en el directorio definido en esta variable DocumentRoot por ejemplo /var/www/html y
allí busca automáticamente la página web por un nombre que usualmente es index.html
pero que se puede cambiar si se desea como se verá más adelante, con otra directiva de
Apache llamada DirectoryIndex
1
DocumentRoot /var/www/html
Directorio de los usuarios: UserDir
Es común que en una instalación de servicio de internet se otorgue a los usuarios del
sistema una facilidad para crear su propio directorio de soluciones web. La mecánica
utilizada en estos casos consiste en hacer uso del directorio raíz de cada usuario que en
Linux se sabe que es /home/usuario en donde, usuario, es la cuenta que se le ha
asignado al usuario. En estos casos se acostumbra que si el usuario accede al servidor
de web de la forma http://servidor/~usuario. este directorio es public_html
# UserDir: el nombre del directorio que se agrega al directorio raíz del usuario si se recibe
un requerimiento.
# UserDir public.html
Usualmente, viene deshabilitada: UserDir disable
Directorio de los índices preescritos: DirectoryIndex
Cuando se accede una dirección de web, Apache busca automáticamente una hoja de
html con un nombre predeterminado, la cual se denomina índice preescrito. Es común,
por ejemplo, que este nombre sea index.html o home.html o cualquier otro que el
administrador de la web determine. Con esta directiva se le indica al servidor de web qué
nombres se deben usar como predeterminados. Veamos la manera de hacerlo en este
ejemplo en el cual se definen index.html, index.shtml y index.cgi como los nombres
predeterminados.
DirectoryIndex index.html index.shtml index.cgi
FancyIndexing
Cuando se entra a un directorio que no contiene un DirectoryIndex válido, el sistema
despliega el directorio de archivos dentro de él. Lo puede hacer dentro de dos
presentaciones dependiendo si está prendida o apagada la opción. Fancy se refiere a una
presentación más agradable y no Fancy es simple.
FancyIndexing on
Manejo de servidores virtuales: VirtualHost
La manera normal de operación de un servidor de web es basándose en el nombre del
servidor y del dominio específico como se configuró la máquina. A veces es necesario,
como ocurre en las empresas Proveedoras del servicio de internet (ISP's), que muchos
clientes se conecten a la misma máquina pero usando sus propios nombre de dominio sin
necesidad de tener IP's diferentes. En estos casos, cada usuario deberá poder configurar
su servidor virtual como si fuera el único usuario de ese computador, para lo cual
convendrá configurar los diferentes archivos del sistema que hemos venido estudiando en
esta sección pero para su uso específico. Este grupo de opciones se llama Servidores
Virtuales. Veamos la documentación incluida dentro del archivo de configuración:
VirtualHost permite que el demonio httpd responda requerimientos de más de una
dirección del servidor en caso en que el servidor esté configurado para aceptar paquetes
IP para direcciones con VIF. Dentro de esta directiva se deben incluir las asignaciones de
httpd.conf
<VirtualHost host.algun_dominio.com>
ServerAdmin [email protected]
DocumentRoot /www/docs/host.algun.dominio.com
2
ServerName host.algun.dominio.com
ErrorLog logs/host.algun.dominio.com-error_log
TransferLog logs/host.algun.dominio.com-access_log
</VirtualHost>
Pero, complementemos esta teoría con un ejemplo. Supongamos que los datos para una
configuración específica la cual va a usar nuestro servidor linux.domain.com es la
siguiente:
Nombre del nuevo dominio: linux.nuevodominio.com
El directorio raíz de los documentos queremos que resida en /home/httpd/nuevodominio,
dentro del cual deberán existir los demás subdirectorio tradicionales que son /htdocs para
los documentos, / cgi-bin para los programas de cgi, y /logs para los archivos de bitácora.
A continuación se explica lo que se debe hacer, tal como aparece en nuestro archivo de
configuración:
Ejemplo del nuevo dominio.
Se deben crear:
Archivo llamado: ServerRoot/logs/linux.nuevodominio.com-error_log,
Archivo llamado: ServerRoot/logs/linux.nuevodominio.com-access_log,
Directorio llamado: /home/httpd/nuevodominio/htdocs
Archivo llamado: /home/httpd/nuevodominio/html/index.html, en donde index.html es una
página html inicial del nuevo dominio
El registro DNS bien sea en /etc/hosts o en el DNS apuntando al mismo IP del servidor
de origen.
Para que todo lo anterior funcione se debe poner lo siguiente:
<VirtualHost linux.nuevodominio.com>
ServerAdmin [email protected]
DocumentRoot /home/httpd/nuevodominio/htdocs
ServerName linux.nuevodominio.com
ErrorLog logs/linux.nuevodominio.com-error_log
TransferLog logs/linux.nuevodominio.com-access_log
</VirtualHost>
3
Descargar