PDF de programación - Práctica 1: SERVIDOR APACHE, HTTP Y DOCUMENTOS HTML

Imágen de pdf Práctica 1: SERVIDOR APACHE, HTTP Y DOCUMENTOS HTML

Práctica 1: SERVIDOR APACHE, HTTP Y DOCUMENTOS HTMLgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Diciembre del 2017)
773 visualizaciones desde el 23 de Diciembre del 2017
130,6 KB
15 paginas
Creado hace 17a (06/10/2006)
UUnniivveerrssiiddaadd PPoolliittééccnniiccaa ddee CCaarrttaaggeennaa

















EEssccuueellaa TTééccnniiccaa SSuuppeerriioorr ddee IInnggeenniieerrííaa ddee

TTeelleeccoommuunniiccaacciióónn




PPRRÁÁCCTTIICCAASS DDEE AARRQQUUIITTEECCTTUURRAASS

DDIISSTTRRIIBBUUIIDDAASS

Práctica 1: SERVIDOR APACHE, HTTP

Y DOCUMENTOS HTML






Profesores:

Javier Vales Alonso
Esteban Egea López
Natalio López Martínez




























1

1. OBJETIVOS


HTML.




• Comprender el funcionamiento de un servidor HTTP.
• Comprender cómo se organizan los documentos en un servidor web.
• Dotar de mecanismos de control de acceso al servidor.
• Entender la estructura, la sintaxis y los elementos que componen una página

• Comprender la interrelación de HTML con HTTP y URL en la arquitectura del

WWW.
Interpretar HTML como aplicación de SGML.







2. INTRODUCCIÓN

Un servidor HTTP o servidor web es una aplicación que se encarga de servir contenidos
usando el protocolo HTTP (Hyper Text Mark-up Language). El servidor acepta
peticiones del cliente y devuelve los documentos HTML apropiados. Hay, además, una
serie de tecnologías complementarias que se encargan de aumentar la capacidad del
servidor más allá de su habilidad para entregar páginas HTML estándar, como son CGI
(Common Gate Interface), SSI (Server Side Includes) o PHP (Hypertext Preprocessor),
permitiendo dotar de contenido dinámico a los documentos HTML.

El servidor Apache (http://www.apache.org) ha sido el servidor web más popular desde
1996, actualmente se utiliza en más del 50% de los sitios web en Internet. Es una
aplicación software de libre distribución que implementa un servidor HTTP, disponible
para varios sistemas operativos, fundamentalmente UNIX, aunque hay versiones para
Windows NT. El código fuente está disponible.

Aunque hay una implementación para Windows NT, el servidor Apache está pensado y
diseñado para UNIX. Además, en estas prácticas se usará Linux, así que se describirá su
funcionamiento en un entorno UNIX.

Apache es un proceso que se ejecuta en un entorno UNIX. Es un "demonio" que se
ejecuta en segundo plano y está continuamente escuchando el puerto 80, al menos en su
configuración por defecto, esperando a atender peticiones HTTP.

Apache 1.3 es un servidor web "pre-forking", lo que quiere decir que hay un único
proceso de control responsable de lanzar varios procesos "hijos", los cuales se encargan
de escuchar un puerto determinado (habitualmente el 80) y atender peticiones. Apache
se encarga de mantener más de un proceso servidor (procesos "idle"), atentos a las
peticiones, de esta manera hay varios procesos listos para servir y se evita el tener que
crear nuevos hijos cada vez que llega una petición.

El funcionamiento es el siguiente: cuando se ejecuta Apache, se crea un proceso padre,
de control, que atiende peticiones al puerto 80. Este lanza varios procesos hijos que se
encargan de escuchar en ese mismo puerto y atender peticiones.



2


El funcionamiento de estos procesos y las reglas que tienen que aplicar a las peticiones
vienen determinados por unas directivas que se incluyen en un fichero de
configuración. Estas directivas determinan, entre otras cosas, los directorios en los que
se encuentran los documentos que van a ser servidos, el control de acceso que se le
aplicará a las peticiones, etc.

Es conveniente conocer el usuario bajo el cual se ejecutan los procesos y los privilegios
que tiene. El proceso padre se ejecuta como root puesto que se tiene que unir (bind) al
puerto 80, que es un puerto privilegiado en UNIX. Sin embargo, los procesos hijos se
ejecutan bajo un usuario menos privilegiado (normalmente el usuario www-data), para
evitar que un proceso con privilegios de root atienda peticiones que llegan a través de la
red.

Las directivas del fichero de configuración que establecen los privilegios de los usuarios
hijos de Apache. De esta manera, el proceso padre cuando crea los hijos les asigna el
usuario www-data, el cual prácticamente no tiene privilegios sobre los recursos del
sistema. Los procesos hijos tienen que tener permiso para leer los contenidos que se van
a servir pero ninguno más aparte de estos.

Los privilegios que establecen las anteriormente mencionadas directivas son también
los que heredarán los scripts CGI, así que las llamadas al sistema y a los recursos que
utilice el código de los scripts se ejecutarán con muy pocos privilegios.

En conclusión, el servidor Apache es un "demonio" que se ejecuta con privilegios de
root y se asigna al puerto 80. Una vez hecho esto, crea varios procesos hijos con los
privilegios de un usuario www-data, que se quedan escuchando el puerto 80 y atienden
las peticiones, sirviendo aquellos documentos para los cuales el usuario www-data tenga
privilegios de lectura.

Las peticiones se realizan mediante el protocolo HTTP. Es decir, el cliente le envía al
servidor un mensaje del tipo:


GET /index.html HTTP/1.0


Este mensaje le indica al servidor (uno de los procesos “hijo”) que le solicitan el
documento index.html que se encuentra en el directorio raíz de los documentos. Una
cuestión que surge inmediatamente es: ¿Cuál es el directorio raíz?

El directorio raíz es el lugar en el que se encuentran los documentos HTML que puede
servir el sitio. En el se encuentra el árbol de directorios con documentos disponibles.
Una petición del tipo www.midominio.com/index.html significa que se le está pidiendo
al sitio el documento index.html que se encuentra en el directorio raíz.
Mientras que una petición del tipo www.midominio.com/usuario/index.html, le solicita
el documento index.html que se encuentra en el directorio usuario, que a su vez estará
en el raíz.
El directorio raíz puede ser cualquier directorio de la máquina sobre la que se ejecuta
Apache. En el fichero de configuración hay una directiva (DocumentRoot) que indica
este directorio. Por ejemplo, si el valor de esta directiva es /usr/doc/htdocs, el proceso
servidor buscará un fichero llamado index.html en este directorio. Si este documento se



3

la

información



encuentra en este directorio, lo devolverá al cliente, con lo que habrá completado la
petición. En caso contrario devolverá un mensaje de error.


Toda
http://httpd.apache.org/docs/

relativa al servidor Apache se puede encontrar en:


3. DESARROLLO DE LA PRÁCTICA

3.1 Configuración del servidor

En la práctica, la mayoría de las distribuciones de Linux incluyen Apache y lo instalan
junto con el resto del sistema operativo. La diferencia entre distribuciones es la ruta
dónde se instalan los archivos. Por ejemplo, en Debian, los archivos de configuración se
guardan en el directorio /etc/apache/.

En la práctica utilizaremos la instalación de Apache que proporciona Debian.

Una vez instalado el servidor, hay que configurar su funcionamiento. Apache se
configura mediante un único fichero de texto. Estos ficheros incluyen órdenes, llamadas
directivas, que especifican el modo de funcionamiento del servidor. Cada directiva
especifica el funcionamiento de una característica del servidor. Cada directiva tiene a su
vez una serie de opciones. El servidor, al iniciarse, lee el fichero de configuración,
establece su modo de funcionamiento de acuerdo con ellos y espera a que le lleguen
peticiones. Los ficheros de configuración sólo son leídos al iniciar el servidor, por ello,
si se modifica alguna directiva, hay que parar el servidor y volver a reiniciarlo para
que surtan efecto las modificaciones.

El fichero de configuración se encuentra en el directorio /etc/apache/ y se llama
httpd.conf. Estos ficheros contienen la configuración por defecto del servidor.
Antes de seguir adelante: HAGA UNA COPIA DE SEGURIDAD antes de modificar
alguno de estos ficheros. De ese modo siempre podrá recuperar los cambios. Si en algún
momento modificamos algo en los ficheros de configuración que perjudica el
funcionamiento del servidor, siempre podemos recurrir a estos ficheros que guardan la
configuración por defecto del servidor, para restaurar los cambios.

Las directivas que configuran el funcionamiento del servidor se encuentran en este
fichero que es leído por el servidor cada vez que se inicia. Cualquier modificación que
se haga en ellos afecta al funcionamiento del servidor. Los usaremos para configurar el
servidor a nuestro gusto.
Abra en httpd.conf con un editor de texto. Así podrá hacerse una idea de las directivas
del servidor.

Como puede comprobar el fichero httpd.conf consiste en una serie de líneas de texto,
algunas de las cuales están precedidas por el carácter #. Este carácter sirve para hacer
comentarios, el servidor no tiene en cuenta lo que aparece detrás de ellas. El resto son
directivas de Apache. El fichero incluye una amplia descripción de cada directiva, lo
cual le será muy útil.




4

Además de directivas, aparecen los contenedores. Estos se diferencian de las directivas
en que aparecen entre los caracteres <>. Un contenedor sirve para definir un contexto
las directivas. Por ejemplo, el contenedor <Directory
de aplicación de
“/var/www/user”> indica que todos las directivas que aparecen entre el inicio y el final
(</Directory>) se aplican sólo a ese directorio.

En la dirección http://httpd.apache.org/docs/mod/index.html encontrará una lista de las
directivas de Apache. Allí se incluye una descripción de las mismas, así como de las
opciones que se le pueden aplicar y del contexto en el que se usan.

La sintaxis es muy importante, a
  • Links de descarga
http://lwp-l.com/pdf8006

Comentarios de: Práctica 1: SERVIDOR APACHE, HTTP Y DOCUMENTOS HTML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad