Laboratorio de Redes de Computadores II TEL 242

Anuncio
II
R
ed
es
WEB
La
b.
Laboratorio de Redes de
Computadores II
TEL 242
Laboratorio de Redes de Computadores II
II
ed
es
R
Servidor Web Apache
La
b.
TEL-242
Laboratorio de Redes de Computadores II
Modelo
Módulos
Ejemplo
II
Arquitectura
Términos y Definiciones
Configuración
ed
es
Servidor Apache
La
b.
R
Arquitectura
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Modelo
Módulos
Ejemplo
ed
es
Parent
R
• Apache 1.3
• Apache 2.0 c/Prefork
II
Modelo Clásico
La
b.
• Muchos Hijos (cientos)
• Cada hijo maneja sólo
una conexión a la vez.
Child
Child
Child
… muchos…
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Modelo
Módulos
Ejemplo
II
Modelo Multihilo (worker)
ed
es
• Apache 2.0 Worker
Parent
La
b.
R
• Pocos Children
(decenas)
• Cada hijo maneja
muchas conexiones
concurrentes.
Child
Child
Child
threads
…pocos…
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Modelo
Módulos
Ejemplo
II
Módulos internos
R
La
b.
– mod_cgi
– mod_perl
– mod_php
– mod_python
– mod_tcl
– etc
ed
es
• Se ejecutan dentro del proceso httpd
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Modelo
Módulos
Ejemplo
R
ed
es
• El procesamiento se
realiza fuera del
contexto de httpd.
II
Módulos externos
La
b.
• Tomcat
– mod_jk/jk2,
mod_jserv
Parent
Child
Child
Child
Tomcat
• mod_proxy
• mod_ssl
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Modelo
Módulos
Ejemplo
II
Ejemplo
R
Parent
ed
es
Apache
La
b.
Child Child Child
mod_jk
mod_rewrite
mod_php
mod_perl
Tomcat
…
DB
Laboratorio de Redes de Computadores II
HTTP
HTML
Funcionamiento
Tecnologías
ed
es
II
Arquitectura
Términos y Definiciones
Configuración
La
b.
R
Términos y Definiciones
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
HTTP
R
ed
es
• HyperText Transfer Protocol
• Definido en la RFC2616
• Es un protocolo de capa 7 ISO/OSI
La
b.
• Protocolo de red utilizado para comunicar
servidores web y clientes web
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
HTML
NO CONFUNDIR:
R
HTML es un formato
ed
es
• HyperText Markup Language
La
b.
de archivo y
HTTP es un protocolo.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
Response
Servidor Web
Páginas
Comunición
TCP/IP
Acceso a
Disco
La
b.
Interpreta el código HTML
enviado y muestra la página
en pantalla
R
Navegador
ed
es
Request
II
Funcionamiento (básico)
• El Navegador solicita peticiones (request) de páginas
y el servidor web le envía la respuesta (Response)
apropiada.
• Una vez recibida la página, la interpreta y la
despliega en pantalla.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
Funcionamiento
ed
es
• Para permitir otros tipos de contenidos,
se idearon técnicas en ambos extremos
de la comunicación.
La
b.
R
– CGI, php ...
– Javascript, activex, flash...
• El objetivo es entregar información
dinámica y diferenciar aún más el
servicio web de otros medios de
comunicación en papel.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
Tecnologías del Cliente
máquina del usuario.
ed
es
II
• El cliente web es el encargado de ejecutar código en la
• Son aplicaciones tipo “scripting” (no compiladas):
R
– el servidor proporciona el código de las aplicaciones al
cliente y éste, mediante el navegador, las ejecuta.
La
b.
• Es necesario, por tanto, que el cliente disponga de un
navegador con capacidad para ejecutar aplicaciones.
– OJO: Estas aplicaciones dependen del navegador Problemas!!!!!
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
Tecnologías del Cliente
II
• En general, la ejecución de un mismo código interpretado,
La
b.
R
ed
es
dará resultados distintos dependiendo del navegador.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
ed
es
• “Common Gateway Interface”.
II
Tecnologías del Servidor
– CGI especifica un estándar para transferir datos entre el cliente y el
programa que reside en el servidor.
R
• El servidor ejecuta aplicaciones apropiadas y su salida
La
b.
estándar la reenvía como respuesta al navegador.
– Debe cumplir con el protocolo, Si no, pueden ocurrir
errores.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
La
b.
R
ed
es
II
Tecnologías del Servidor
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
Tecnologías del Servidor
• El servidor ejecuta aplicaciones apropiadas y su salida
ed
es
estándar la reenvía como respuesta al navegador.
– Debe cumplir con el protocolo.
La
b.
• Por ejemplo:
R
– Si no, pueden ocurrir errores.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
Tecnologías del Servidor
• El servidor ejecuta aplicaciones apropiadas y su salida
ed
es
estándar la reenvía como respuesta al navegador.
– Debe cumplir con el protocolo.
La
b.
• Por ejemplo:
R
– Si no, pueden ocurrir errores.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
Tecnologías del Servidor
• El servidor ejecuta aplicaciones apropiadas y su salida
ed
es
estándar la reenvía como respuesta al navegador.
– Debe cumplir con el protocolo.
La
b.
• Por ejemplo:
R
– Si no, pueden ocurrir errores.
Header HTTP
Definido en la sección
14 de RFC2616
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
HTTP
HTML
Funcionamiento
Tecnologías
II
Tecnologías del Servidor
páginas HTML
ed
es
• Los SSI (Server Side Includes) son directivas insertadas en
• Permite inserción de contenido generado dinámicamente en
R
las páginas web.
La
b.
• Ejemplos:
<!--#echo var="LAST_MODIFIED" -->
<!--#include virtual="cabecera.html" -->
• Es necesario configurar el servidor web para permitir esta
característica.
Laboratorio de Redes de Computadores II
Procesos
Configuración de Apache
La
b.
R
ed
es
II
Arquitectura
Términos y Definiciones
Configuración
Configuración del Servidor
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
ed
es
La
b.
R
Parent
Sólo un padre
• Es el proceso
httpd principal.
• No maneja
conexiones.
• Sólo crea y
destruye
procesos hijos.
II
Proceso Padre
Child
Child
Child
…
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
La
b.
R
• Ejemplo:
ed
es
II
Proceso Padre
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
• Se llaman “Server” en
ed
es
II
Los “hijos” son el “servidor”
Parent
el archivo httpd.conf
R
• Es un proceso httpd
La
b.
• Puede manejar uno o
más solicitudes
Child Child
Child
…
concurrentes.
Servers
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
La
b.
R
• Ejemplo:
ed
es
II
Los “hijos” son el “servidor”
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
Web Server
(Apache)
La
b.
R
Web Browser
ed
es
II
Cliente
• Una conexión HTTP (P.e. Navegador).
– Muchos navegadores abren múltiples conexiones
– Apache considera cada conexión en forma
separada.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Relación URL - Servidor
ed
es
• Normalmente se relaciona una URL a un
servidor web (máquina):
R
– www.elo.utfsm.cl Máquina Servidor
La
b.
• Pero en general, la relación es:
– URL “Servidor Virtual” Máquina Servidor
Laboratorio de Redes de Computadores II
Procesos
Configuración de Apache
ed
es
II
Arquitectura
Términos y Definiciones
Configuración
La
b.
R
Configuración de Apache
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Archivos de Configuración
R
La
b.
– httpd.conf
– access.conf
– srm.conf
ed
es
• Apache tiene 3 archivos de configuración:
• Observaciones:
– Comentarios son las líneas que comienzan con el
símbolo #
– Todo el resto es interpretado como instrucciones.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Archivos de Configuración
R
La
b.
– httpd.conf
– access.conf
– srm.conf
ed
es
• Apache tiene 3 archivos de configuración:
• httpd.conf
– Configura cómo el software se va a ejecutar
(usuario, puerto) y define datos administrativos
(correo del encargado, archivo de registros, etc)
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Archivos de Configuración
R
La
b.
– httpd.conf
– access.conf
– srm.conf
ed
es
• Apache tiene 3 archivos de configuración:
• access.conf
– Tiene las directivas para configurar los permisos
de acceso a directorio y archivos del sitio web.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Archivos de Configuración
R
La
b.
– httpd.conf
– access.conf
– srm.conf
ed
es
• Apache tiene 3 archivos de
configuración:
• srm.conf
– Configura los recursos del sistema.
– Qué va a ofrecer y cómo lo va ha hacer.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Directivas
ed
es
• StartServers
– Número de procesos hijos que se crean al inicio.
• MinSpareServers
• MaxSpareServers
La
b.
R
– Mínimo y máximo de procesos hijos en cualquier
instante de tiempo.
• MaxClients
– Máximo de clientes que se permiten en cualquier
instante de tiempo.
• MaxRequestsPerChild
– Máximo número de solicitudes antes que el hijo sea
terminado y reemplazado.
Laboratorio de Redes de Computadores II
Arquitectura
Términos y Definiciones
Configuración
Procesos
Configuración de Apache
II
Ejemplo
<VirtualHost *>
ed
es
DocumentRoot /home/webmaster/ingenieriatelematica.cl
ServerName www.ingenieriatelematica.cl
ServerAdmin [email protected]
ErrorLog /usr/local/apache/logs/error_log_tel
CustomLog /usr/local/apache/logs/access_log_tel common
R
user web
group web
<Directory "/home/webmaster/ingenieriatelematica.cl">
La
b.
Options Indexes FollowSymLinks MultiViews
#AllowOverride None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Laboratorio de Redes de Computadores II
Descargar