Ficheros de Configuración • httpd.conf Apache – modo de ejecución del servidor, usuario, permisos, y directorios de log, documentos... • srm.conf – Presentación de documentos, scripts CGI, ... Servidores HTTP I • access.conf – Permisos. /etc/httpd/ 2 Fichero httpd.conf User: Usuario que arranca el httpd. Group: Grupo. ServerName: Nombre canónico del servidor (múltiples nombres DNS). ServerRoot: Directorio raíz del resto de la configuración. Fichero httpd.conf PidFile: Fichero que contiene el PID del servidor. ErrorLog: Fichero log de errores. TransferLog: Idem de transferencias. HostnameLookups: Si se resuelven las direcciones IP de los clientes. CacheNegotiateDocs: Indica si los documentos puede ser almacenados en proxies. KeepAlive: Número de peticiones para las cuales se mantiene una misma conexión TCP. KeepAliveTimeout: Tiempo máximo para mantener la misma dirección TCP. 3 ServerType: Tipo de servidor (inetd/standalone). Port: Puerto de servicio (80). StartServers: MinSpareServers: MaxSpareServers: MaxClients: MaxRequestsPerChild Pool de servidores. 4 1 Fichero srm.conf DocumentRoot: Raiz del árbol de directorios donde comienzan los documentos del servidor. UserDir: Directorio particular de cada usuario. DirectoryIndex: Ficheros índice de cada directorio. Fichero srm.conf Alias FancyIndexing: Presentación de directorios. ReadmeName: HeaderName: Ficheros sobre el conteinido del directorio. AddIcon: AddIconByType: AddIconByEncoding: AddDescription: Pool de servidores. Los alias se utilizan para modificar el árbol de documentos visible del servidor respecto del árbol de directorios real. Alias de Directorios: Alias nombre-alias directorio Alias de Scripts: ScriptAlias nombre-alias directorio 5 Fichero access.conf Opciones Especiales de Directorio <Directory “dir-real”> Opciones especiales del directorio Options opciones AllowOverride opciones-ovr-rd Order ordenes Sobreescritas por .htaccess orden from clientes Ficheros Éxcepciones sobre Límites Órdenes y su ficheros: aplicación </Directory> <Files f> Control sobre el protocolo ... </Files> 6 7 Indexes: Mostrar el contenido. Includes: Server-side includes. FollowSymLinks: Sigue los enlaces simbólicos ExecCGI: Ejecutar scripts CGI. Se pueden usar los valores None y All así como +/- para añadir/quitar opciones: Options All -ExecCGI 8 2 Órdenes Límites – Las dos órdenes posibles son allow y deny. – Se debe indicar el órden de aplicación. – Posteriormente se asocia cada una a un domino de posibles clientes: – Restricciones sobre las primitivas del protocolo (Limit / LimitExcept) – Afecta a: GET, POST, PUT, OPTIONS, ... <Limit OPTIONS> Order deny, allow Deny from all Allow from localhost </Limit> Order deny, allow Deny from all Allow from .fi.upm.es 9 10 Módulos Dinámicos Módulos Dinámicos • Da soporte al sistema DSO (Dynamic Shared Object). • Permite añadir funcionalidades dinámicamente (bajo demanda) al servidor apache. • Estas funcionalidades son librerías dinámicas especialmente desarrolladas. Index.html Mod_include.so APACHE 11 ... ... ... ... <!--#include virtual=“a.html” --> --> <!--#include virtual=“a.html” ... ... ... ... Al requerirse una funcionalidad determinada (SSIncludes), se invoca el código de tratamiento apropiado. 12 3 Módulos Dinámicos Gestión del Servidor • Existen ciertos módulos enlazados estáticamente (httpd –l). • Se definen en el fichero httpd.conf como: • Script de control: – /etc/init.d/httpd – /usr/sbin/apachectl • Órdenes: – start: Arranca el servidor – stop: Detiene el servidor – status: Estado del servidor – restart: Para y re-arranca el servidor LoadModule nombre librería-dinámica 13 14 Referencias • Página del proyecto Apache: – http://httpd.apache.org • Documentación de la instalación: – /usr/share/doc/apache-xxx 15 4