Facultad de
Ingeniería
Escuela en Ciencias
de la Computación e Informática
Curso: Redes de
Computadoras
Profesor: Luis Loría
Realizado por:
Diana Gonzalez Vargas 971537
Karol Salazar Garro A03849
Yesenia Gonzalez
Villalobos 971540
Esteban Brenes
Chavarría 940596
2 Semestre
2004
El
objetivo del presente laboratorio es instalar APACHE y PHP en la maquina
virtual, además de instalar DNS.
El servidor Apache es un software que esta estructurado en módulos. La configuración de cada módulo se hace mediante la configuración de las directivas que están contenidas dentro del módulo. Los módulos del Apache se pueden clasificar en tres categorías:
Las funcionalidades más elementales se
encuentran en el módulo base, siendo necesario un módulo multiproceso para
manejar las peticiones. Se han diseñado varios módulos multiproceso para cada
uno de los sistemas operativos sobre los que se ejecuta el Apache, optimizando
el rendimiento y rapidez del código.
El resto de funcionalidades del servidor se consiguen por medio de módulos
adicionales que se pueden cargar. Para añadir un conjunto de utilidades al
servidor, simplemente hay que añadirle un módulo, de forma que no es necesario
volver a instalar el software.
Módulos Base y Módulos Multiproceso:
core: Funciones básicas del Apache que están siempre disponibles.
mpm_common: Colección de directivas que se implementan en más de un módulo
multiproceso.
beos: Módulo de multiproceso optimizado para BeOS.
leader: Variable experimental de MPM.
mpm_netware: Módulo de multiproceso que implementa un servidor web
optimizado para Novell NetWare.
mpmt_os2: MPM híbrido, multiproceso y multihilo para OS/2 .
perchild: Módulo multiproceso que permite a los procesos demonio servir
las peticiones que se asignan a distintos id de usuario.
prefork: Implementa un servidor sin hilos.
threadpool: Variante experimental del módulo estándar de MPM .
mpm_winnt: Módulo multiproceso optimizado para Windows NT.
worker: Módulo multiproceso que implementa un híbrido multihilos y
multiprocesos de servidor Web.
Módulos adicionales:
mod_access: proporciona control de acceso basándose en el nombre del
host del cliente, su dirección IP u otras características de la petición del
cliente.
mod_actions: este módulo se utiliza para ejecutar Scripts CGI, basándose
en el tipo de medio o el método de petición.
mod_alias: proporcionado para mapear diferentes partes del sistema de
archivos del servidor en el árbol de documentos del servidor, y para
redirección de URL's.
mod_asis: envío de archivos que tienen sus propias cabeceras http.
mod_auth: autentificación de usuario utilizando archivos de texto.
mod_auth_anon: permite a usuarios anónimos acceder a áreas
autentificadas.
mod_auth_dbm: proporciona autentificación utilizando archivos DBM.
mod_auth_digest: autentificación de usuario utilizando MD5.
mod_auth_ldap: permite la utilización un directorio LDAP para almacenar
la base de datos de autentificación.
mod_autoindex: muestra los contenidos de un directorio automáticamente,
parecido al comando ls de Unix.
mod_cache: Cache de contenidos indexados por URI's.
mod_cern_meta: Semántica de etiquetas meta del CERN.
mod_cgi: Ejecución de Scritps CGI.
mod_cgid: ejecución de Scripts CGI utilizando un demonio CGI externo.
mod_charset_lite: para la especificación del juego de caracteres de las
traducciones.
mod_deflate: comprime el contenido antes de ser enviado al cliente.
mod_dir: Proporcionado para redirecciones y para servir los archivos de
listado de directorios.
mod_disk_cache: Cache para almacenar contenidos identificados por URI.
mod_echo: Un servidor simple de echo para ilustrar los módulos del
protocolo.
mod_env: modificación del entorno que se envia a los scripts CGI y las
páginas SSI.
mod_expires: Generación de las cabeceras http Expires, de acuerdo de los
criterios especificados por el usuario.
mod_ext_filter: pasa el cuerpo de la respuesta a través de un programa
antes de enviársela al cliente.
mod_file_cache: cachea una lista estática de archivos en memoria.
mod_headers: personalización de las peticiones HTTP y las cabeceras de
las respuestas.
mod_imap: proceso de imágenes en el lado del servidor.
mod_include: Documentos HTML generados por el servidor (Server Side
Includes).
mod_info: proporciona una visión comprensiva de la configuración del
servidor.
mod_isapi: Extensiones ISAPI en Apache para Windows.
mod_ldap: pool de conexiones LDAP y cacheo de resultados para la
utilización de otros módulos LDAP.
mod_log_config: registro de las peticiones hechas al servidor.
mod_logio: registro del número de bytes recibidos y enviados en cada
respuesta.
mod_mem_cache: Cache de contenidos identificados por URI.
mod_mime: asocia las extensiones de peticiones de los archivos con el
comportamiento del archivo (manejadores y filtros) y contenido (tipos mime,
idioma, juego de caracteres y codificación).
mod_mime_magic: determina el tipo MIME de un archivo mirando unos pocos
bytes del contenido.
mod_negotiation: se proporciona para la negociación del contenido.
mod_proxy: servidor HTTP/1.1
proxy/gateway.
mod_proxy_connect: extensión de
mod_proxy para la gestión de las peticiones CONNECT.
mod_proxy_ftp: soporte FTP para mod_proxy.
mod_proxy_http: soporte HTTP para el módulo mod_proxy.
mod_rewrite: proporciona un motor de reescritura basado en reglas que
rescribe las peticiones de URL's al vuelo.
mod_setenvif: permite la configuración de las variables de entorno
basándose en las características de la petición.
mod_so: carga del
código ejecutable y los módulos en al iniciar o reiniciar el servidor.
mod_speling: intenta corregir las URL mal puestas por los usuarios,
ignorando las mayúsculas y permitiendo hasta una falta.
mod_ssl: criptografía avanzada utilizando los protocolos Secure Sockets
Layer y Transport Layer Security.
mod_status: proporciona información en la actividad y rendimiento del
servidor.
mod_suexec: permite a los scripts CGI ejecutarse con un nombre y grupo
específico.
mod_unique_id: proporciona variables de entorno y un identificador único
para cada petición.
mod_userdir: directorios específicos para usuarios.
mod_usertrack: registro de actividad de un usuario en el sitio.
mod_vhost_alias: Proporcionado para configurar muchos servidores
virtuales dinámicamente.
El lenguaje PHP es un
lenguaje de programación de estilo clásico, es un lenguaje de programación con
variables, sentencias condicionales, bucles, funciones, etc.
PHP se ejecuta en el
servidor, por eso nos permite acceder a los recursos que tenga el servidor como
por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el
servidor y el resultado enviado al navegador. El resultado es normalmente una
página HTML pero igualmente podría ser una pagina WML.
Al ser PHP un lenguaje que
se ejecuta en el servidor no es necesario que su navegador lo soporte, es
independiente del navegador, pero sin embargo para que sus páginas PHP
funcionen, el servidor donde están alojadas debe soportar PHP.
Una vez instalado el Apache, en el directorio raíz de la instalación, se encontrarán los siguientes directorios:
bin: ficheros ejecutables del Apache.
conf: ficheros de configuración del servidor.
error: ficheros con los mensajes de error del servidor, en varios
lenguajes.
htdocs: directorio raíz por defecto del servidor (Se guardan las páginas
Web).
icons: directorio donde se encuentran los iconos que utiliza el servidor
(entre otras cosas para mostrar estructuras de directorios).
logs: directorio donde se almacenan los registros de acceso y errores
del servidor.
manual: directorio donde se encuentra el manual del Apache.
proxy: Directorio con los ficheros de la cache del servidor.
Básicamente las configuraciones del servidor residen dentro de dos ficheros, el de configuración principal que se encuentra dentro de la carpeta conf, con el nombre httpd.conf, o dentro de un fichero con el nombre .htaccess que se puede encontrar dentro de cualquier directorio que se encuentre mapeado dentro del servidor. Dentro de cada uno de estos ficheros se ubican las directivas de configuración. Muchas de estas directivas de configuración se pueden encontrar tanto dentro del fichero de configuración principal como dentro de un fichero .htaccess. Los valores de las directivas que se encuentran dentro de un fichero .htaccess, prevalecen frente a los valores de configuración especificados dentro del fichero httpd.conf.
El
transporte y rutado de paquetes en Internet se realiza manejando las
direcciones IP, tal y como se indica en este protocolo (IP=Internet Protocol).
Es un sistema muy eficiente y claro, pero muy poco adaptado a las entendederas
humanas. DNS (Domain Name System) es un sistema de correspondencias entre
cadenas de caracteres inteligibles por los humanos, o "nombres", y
las direcciones IP de las máquinas.
El sistema refleja, en parte, la organización que siguen las direcciones IP que usan las máquinas, con algunas diferencias. En primer lugar una máquina suele tener asignado un sólo nombre aunque posea varias direcciones IP (ver artículo de routers) y por otra parte DNS es independiente de IP en el sentido de que es un servicio más que ofrece la máquina y que supone que el rutado de paquetes entre máquinas ya es completamente funcional. Estrictamente se podría prescindir por completo de DNS cuya misión consiste en obtener la direccion IP de una máquina a partir de su nombre (y "apellidos" o dominio).
La
jerarquía de nombres sigue de cerca la de subredes. En este caso se habla de
subdominios. Es muy habitual, aunque no obligatorio, que cada subdominio se
corresponda con una subred.
[maquina].[subdominio].[dominio]
dónde
[dominio]
puede estar compuesto de subdominio y dominio. Está claro que una máquina sí
puede tener varios nombres, en concreto un servidor puede tener un nombre
"oficial" y otro (empezando por www
o ftp
)
para dar distintos servicios. La madre de todos los dominios se denomina
"root" y se designa mediante un punto. Los principales dominios que
cuelgan del raiz son ampliamente conocidos: edu,com,org,mil,
etc,
En
nuestro caso, para instalar el DNS utilizamos las IP estáticas:
220.1.5.5
255.255.255.240
220.1.5.1
La
dirección DNS es 200.1.5.1
A
nuestro host lo nombramos ORION, además creamos una zona llamada universo.net.
Bibliografia
www.gamarod.com.ar. Arquitectura de un servidor APACHE.
Navarro, Fortunato.
Introducción a DNS.
filemon.mecanica.upm.e