Sie sind auf Seite 1von 24

Apache Web Server

RHA133 Administracin de Servicios de Red


Escuela de Informtica y Telecomunicaciones

Administracin de Servicios de Red

Objetivos
Al terminar esta unidad usted ser capaz de: Conocer qu es un servidor web Instalar el servidor web apache Configurar apache Configurar sitios Web Diagnosticar errores en archivos Log

Administracin de Servicios de Red

Conceptos Claves:
El servidor web que provee Red Hat es Apache Web Server En trminos generales, los servidores web mapean peticiones URL hacia archivos almacenados localmente, utilizando Document Root (/var/www/html) como base para el mapeo El servidor web asocia meta-datos con los archivos que se le solicitan, tales como fotos, videos, etc. Cuando un cliente solicita un directorio en vez de un archivo, Apache muestra el archivo index.html (si existe), genera un listado de directorio generado dinmicamente (si est permitido), entrega un mensaje de error Los servidores web y los clientes, se comunican utilizando el protocolo HTTP A menudo, la informacin servida desde un servidor web, es estructurada utilizando el lenguaje de marcas HTML Administracin de Servicios de Red
3

Instalacin Servidor Web Apache


Ejecutar: [root@station ~]# yum install httpd ... Dependencies Resolved =================================================================== Package Arch Version Repository Size

=================================================================== Installing: httpd ... Installed: httpd.i386 0:2.2.3-6.el5 Complete!


Administracin de Servicios de Red 4

i386

2.2.3-6.el5

rha-rhel

1.1 M

Levantar el Servicio
En RHEL5, el servicio web se llama httpd Se inicia con: service httpd start
[root@station ~]$ service httpd start Starting httpd: [root@station ~]$ chkconfig httpd on [ OK ]

Administracin de Servicios de Red

Comprobando la disponibilidad
La disponibilidad del servicio puede ser probada con:
Navegador web por consola, local Navegador web visual, local Navegador web por consola, local Navegador web visual, local
Ejemplo: [root@station ~]$ elinks -dump http://localhost Red Hat Enterprise Linux Test Page This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page, it means that the Apache HTTP server installed at this site is working properly. ...
Administracin de Servicios de Red 6

Esquema el Filesystem de Apache


Tabla Esquemtica
Directorio
/etc/httpd /usr/lib/httpd/modules /var/log/httpd /var/www/html

Propsito
Archivos de configuracin, incluyendo /etc/httpd/conf/httpd.conf Mdulos cargados dinmicamente Archivos de registro, incluyen access_log y error_log La raz de Documentos del servidor Web

Administracin de Servicios de Red

Document Root
Carpeta raz de todos los archivos del servidor web Ruta por defecto: /var/www/html
Cuando un cliente solicita un directorio en vez de un archivo, Apache muestra el archivo index.html (si existe), genera un listado de directorio generado dinmicamente (si est permitido), entrega un mensaje de error

Administracin de Servicios de Red

Registros de Apache (logs)


Estos archivos residen en /var/log/httpd
access.log proveee informacin de quin y dnde accedio en el servidor

error.log provee informacin acerca de los errores producidos, por ejemplo, la peticin de un archivo inexistente, o errores de debug los CGI, tales como PHP Los Logs slo se guardan en ingls

Administracin de Servicios de Red

Configuracin de Apache
El directorio de configuracin de apache se encuentra en: /etc/httpd/conf Archivo principal de configuracin:
/etc/httpd/conf/httpd.conf Utiliza una sintaxis similar al XML Cada lnea que comienza por # es considerada un comentario

Administracin de Servicios de Red

10

Principales Directivas de Configuracin


Principales Directivas: DocumentRoot -- Raz de documentos contenidos en el servidor Ej: DocumentRoot /var/www/html ServerRoot Raz de los archivos de configuracin, error y log Ej: ServerRoot /etc/httpd Listen Direccin IP y puerto, o slo puerto en el cual escuchar Ej: Listen 80 -- Escuchar en todas las direcciones IP del Server, en el puerto 80 TimeOut Tiempo que espera el servidor por un cliente que no responde (en segunos) Ej: TimeOut 120 KeepAlive Aceptar o no conexiones persistentes Ej: KeepAlive Off MaxKeepAliveRequest Nmero mximo de conexiones persistentes
Administracin de Servicios de Red

Ej: MaxKeepAliveRequest 100

11

Extendiendo las configuraciones: LoadModule e Include


El servidor web Apache es modular por diseo
El ncleo del servidor es en realidad pequeo Varios mdulos proveen a apache de muchas otras funcionalidades Los mdulos de Apache se sitan en: /usr/lib/httpd/modules y se cargan con la directiva LoadModule Ejemplo: LoadModule auth_basic_module modules/mod_auth_basic.so Importante: Cada mdulo aade nuevas directivas de configuracin, es por eso utilizamos: Include conf.d/*.conf Cargamos todos los archivos de este directorio terminados en .conf Podemos incluir nuestros propios archivos de configuracin
Administracin de Servicios de Red 12

Identidad del servidor: ServerName y ServerAdmin


Esta directivas establecen el nombre del servidor y el nombre del administrador del servidor Se sitan en: /etc/httpd/conf/httpd.conf
Ej: ServerAdmin admin@dominio.cl ServerName www.dominio.cl

Si no especificamos ServerName, Apache lo determina automticamente

Administracin de Servicios de Red

13

Especificando el archivo ndice de los directorios: DirectoryIndex


La directiva DirectoryIndex establece que archivo servir si un directorio es requerido por un cliente Puede establecerse en /etc/httpd/conf/httpd.conf para todos los dominios o dentro de cada dominio virtual Ejemplo
DirectoryIndex index.html index.htm index.php

Tip: Puede establecerse un archivo segn su ruta completa:


DirectoryIndex /documentos/cgi/index.php

Administracin de Servicios de Red

14

Personalizando contenido: Contenedores


Apache permite personalizar las configuraciones, para directorios y archivos especficos Los contenedores comienzan con un TAG de apertura XML, y terminan con un TAG de clausura XML EJ:
<Directory ...> ... ... </Directory>

Administracin de Servicios de Red

15

Ejemplo de Contenedores:
<Directory "/var/www/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>

<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /www/docs/dummy-host.example.com ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>
Administracin de Servicios de Red 16

Directivas de contenedores
Directory: Todos los archivos contenidos en el directorio dado, antes de que ocurra el mapeo de URL a nombre de archivo Location: Todos los archivos contenidos en el directorio dado, despus de que ocurra el mapeo de URL a nombre de archivo Files: Todos los archivos que coinciden con el patrn, no importando si existen en el directorio o son URL VirtualHost: Todos los archivos servidor por un VirtualHost en particular

Administracin de Servicios de Red

17

Opciones Generales
Estas directivas deben utilizarse dentro de las directivas contenedoras:
Indexes Mostrar listado del directorio cuando una URL apunta a un directorio FollowSymLinks Seguir los links simblicos de los archivos Multiviews Negocia el contenido entre el cliente y servidor, Habilita al servidor a servir documentos en el lenguaje apropiado para el cliente ExecCGI Habilita la ejecucin de CGI's, dependiendo del mbito en donde es llamada

Administracin de Servicios de Red

18

Control de acceso a clientes: Order, Allow, Deny


Apache permite al administrador definir restricciones de control de acceso directorio por directorio, e incluso archivo por archivo Para esto utiliza listas de control de acceso Directiva Allow Permite conectarse a los host
EJ: Allow from especificacion_del_cliente

Directiva Deny: Deniega la conexin a los host


EJ: Deny from especificacion_del_cliente

Directiva OrderBy: -- Ordena qu leer primero, si Allow u Order


Ej: Order Allow,Deny
Administracin de Servicios de Red 19

Virtual Hosts
Apache puede simular ser muchos servidores web Puede servir a diferentes sitios: sitio1.cl, sitio2.cl, etc. Existen 2 acercamientos de Virtual Hosts
Virtual Hosts basados en IP Asigna un sitio a una IP Virtual Hosts basados en nombres Mltiples sitios en una IP

Administracin de Servicios de Red

20

Virtual Hosts basados en IP


<VirtualHost 192.168.0.1> ServerAdmin webmaster@republica.cl ServerName www.republica.cl DocumentRoot /var/www/republica.cl ErrorLog logs/republica.cl-error_log CustomLog logs/republica.cl-access_log common </VirtualHost>

<VirtualHost 192.168.0.2> ServerAdmin webmaster@sitio2.cl ServerName www.sitio2.cl DocumentRoot /var/www/sitio2.cl ErrorLog logs/sitio2.cl-error_log CustomLog logs/sitio2.cl-access_log common
Administracin de Servicios de Red

</VirtualHost>

21

Virtual Host Basados en Nombres


NameVirtualHost 192.168.0.2 <VirtualHost 192.168.0.2> ServerAdmin webmaster@democrat.pol ServerName www.democrat.pol DocumentRoot /var/www/democrat.pol ErrorLog logs/democrat.pol-error_log CustomLog logs/democrat.pol-access_log common </VirtualHost> <VirtualHost 192.168.0.2> ServerAdmin webmaster@libertarian.pol ServerName www.libertarian.pol DocumentRoot /var/www/libertarian.pol ErrorLog logs/libertarian.pol-error_log CustomLog logs/libertarian.pol-access_log common </VirtualHost>
Administracin de Servicios de Red 22

Especificacin de lista de control (especificacion_del_cliente)


Direccin IP completa: 192.168.1.1 -- slo este cliente Direccin IP Parcial: 192.168.1 Todos los clientes que comiencen con esa IP Red/Mscara: 192.168.1.64/255.255.255.192 Todos los clientes de esa sub red Notacin CIDR: 192.168.1.0/24 Un dominio completo o parcial: .dominio.cl

Administracin de Servicios de Red

23

Otras directivas
HostnameLookups Resuelve el nombre de los clientes (On Off) ErrorLog Dnde guardar los archivos logs LogLevel Mensajes a registrar en los archivos logs (debug, info, notice, warn, error, crit, alert, message) Alias Crea un alias para un directorio
Ej: /imagenes/ home/usuario/imagenes

Un libro con respuestas a sus preguntas: El paquete httpd-manual


Administracin de Servicios de Red 24