1 Primitivas del archivo de configuración de Apache httpd.conf

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