Issuu on Google+

5

Instituto Tecnol贸gico De Tlalnepantla

Diana Gonz谩lez Miranda


Apache UNIDAD 5 APACHE

Alumna: Diana González Miranda

Profesor: José Antonio Gallardo

No. De Control: 09250522

Asignatura: Sistemas Web

Unidad 5 Apache

1.

1


5.

APACHE SERVER

INDICE

5.1. SERVIDOR ……………………………………………………………….1 5.1.1. CARACTERISTICAS……………………………………………………………………………………6 5.1.2. ESPECIFICACIONES……………………………………………………………………………………7 5.1.3. TENDENCIAS…………………………………………………………………………………………….8 5.1.4. COMPATIBILIDAD……………………………………………………………………………………….10 5.1.5. CLASIFICACIÓN…………………………………………………………………………………………13 5.2. APACHE 5.2.1. DEFINICIÓN……………………………………………………………………………………………...15 5.2.2. HISTORIA…………………………………………………………………………………………………16 5.2.3. CARACTERISTICAS…………………………………………………………………………………….17 5.2.4. TENDENCIAS…………………………………………………………………………………………….17 5.2.5. VERSIONES…………………………………………………………………………………………..….18 5.2.6. COMPATIBILIDAD…………………………………………………………………………………….....21 5.2.7. INSTALACION, CONFIGURACIÓN Y ADMINISTRACIÓN…………………………………………23 5.2.8. VENTAJAS Y DESVENTAJAS…………………………………………………………………………28 5.2.9. ESTABILIDAD……………………………………………………………………………………………29 5.2.10. SEGURIDAD……………………………………………………………………………………………..30 5.2.11. I.IS Y APACHE…………………………………………………………………………………………...31 5.3. I.IS (Internet Information Server) 5.3.1. DEFINICIÓN……………………………………………………………………………………………...32 5.3.2. HISTORIA……………………………………………………………………………………………...…32 5.3.3. CARACTERISTICAS…………………………………………………………………………………….34 5.3.4. VERSIONES……………………………………………………………………………………………...35 5.3.5. COMPATIBILIDAD………………………………………………………………………………………35 5.3.6. INSTALACIÓN, CONFIGURACIÓN Y ADMINISTRACIÓN DE I.I.S………………………………35 5.3.7. VENTAJAS Y DESVENTAJAS…………………………………………………………………………39 5.3.8. ESTABILIDAD………………………………………………………………………………………..…39 5.3.9. SEGURIDAD…………………………………………………………………………………………….42 5.4. INSTRUCCIONES PARA ADMINISTRACIÓN, GESTIÓN Y ACTUALIZACIÓN D EPORTALES WEB A TRAVÉS DE APACHE…………………………………………………………………………………………………..47 5.5. SOFTWARE PARA SERVIDORES DE WEB Y COMPATIBILIDAD CON S.O


INTRODUCCIÓN Todo el mundo sabe que lo que se conoce como Nuevas Tecnologías es algo que cada vez más forma parte de nuestras vidas como algo ya prácticamente imprescindible. Términos como página web, navegar, chatear, correo electrónico (email), etc., están ligados a la nueva cultura social que va avanzando de forma casi implacable y que debe hacernos reaccionar en el ámbito educativo con objeto de formar, educar y orientar de forma correcta sobre todo a los usuarios.

Es por ello que en ésta última unidad de la materia de Sistemas Web veremos las características de Apache Server para poder entender de una forma accesible el uso de ésta herramienta y así adquirir información respecto a las nuevas tendencias.

OBJETIVOS

Se lleva a cabo la explicación teórica del concepto de Apache Server con el fin de conocer más afondo su existencia y uso determinado a las necesidades de los portales web junto con los pasos necesarios para su instalación, así el usuario puede comprender su aplicación.

Objetivo Específico Demostrar el uso paso a paso del Apache Server y su relación con los software disponibles libres y de propiedad, así como determinar una elección de versiones existentes del servidor para evaluar aquél que nos sea más conveniente.


UNIDAD 5 APACHE

TEMA 5.1 SERVIDOR

5.1.1 DEFINICIÓN Básicamente, un servidor web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red al navegador de un usuario. Este intercambio es mediado por el navegador y el servidor que hablan el uno con el otro mediante HTTP.

Img. 1.1 Servidor Web

Se pueden utilizar varias tecnologías en el servidor para aumentar su potencia más allá de su capacidad de entregar páginas HTML; éstas incluyen scripts CGI, seguridad SSL y páginas activas del servidor (ASP). Lista de webservers Nombre del Servidor

Sistema operativo

4D WebSTAR

1.

1


UNIDAD 5 APACHE

AOLserver

Unix Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP

Apache

NetWare OS/2 Unix Windows 95/98 Windows NT 4.0

BadBlue

Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows XP

Baikonur Web App Server

Windows 95/98 Windows NT 4.0

Covalent Enterprise Ready Server

AIX HP-UX Linux Red Hat Linux SUSE Linux Solaris Windows 2000 Windows Server 2003

ESAWEB

VM/CMS

Enterprise WebServer for NetWare

NetWare

GoAhead WebServer

Linux NetWare Solaris Windows 2000 Windows 95/98

Hawkeye

Linux

iTools

MacOS X Server

1.

2


UNIDAD 5 APACHE

Java Server

HP-UX IRIX Linux OS/2 Solaris Windows 95/98 Windows NT 4.0

Jigsaw

Java_VM Solaris Windows 95/98 Windows NT 4.0

Microsoft Internet Information Services

Windows Server 2003

RapidSite

BSD IRIX Windows 2000 Windows Server 2003

RomPager Embedded Web Server

Embedded

Roxen WebServer

Linux MacOS X Server Solaris Windows 2000 Windows Server 2003 Windows XP

Sambar Server

Red Hat Linux Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP

Savant

Windows 2000 Windows 95/98 Windows ME Windows NT 4.0

Servertec Internet Server

AIX

1.

3


UNIDAD 5 APACHE

HP-UX Linux Solaris Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP Shadow Web Server

MVS

SimpleServer:WWW

Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows XP

Sun Java System Web Server

Red Hat Linux Solaris Windows 2000 Windows XP

Tcl Web Server

Linux MacOS Unix Windows NT 4.0

URL Live!

Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows XP

Viking

Windows 2000 Windows 95/98 Windows NT 4.0 Windows XP

vqServer

AIX BSD Be OS Digital UNIX HP-UX

1.

4


UNIDAD 5 APACHE

IRIX Java_VM Linux MacOS OS/2 SCO OpenServer Solaris Windows 95/98 Windows NT 4.0

WN

AIX BSD Digital UNIX HP-UX IRIX Linux SCO OpenServer Solaris

WebBase

Windows 2000 Windows 95/98 Windows NT 4.0

Xitami

AIX BSD Be OS Digital UNIX HP-UX Linux OS/2 SCO OpenServer Solaris VMS Windows 2000 Windows 95/98 Windows ME Windows NT 4.0 Windows Server 2003 Windows XP

1.

5


UNIDAD 5 APACHE

Zeus Web Server

AIX BSD HP-UX IRIX Linux MacOS X Server SCO OpenServer Solaris Tru64 Unix Img.1.2 Cuadro

5.1.2 CARACTERÍSTICAS Cuando contratamos un servidor dedicado (o cualquier otro plan de hosting, pero especialmente un servidor dedicado), es muy importante elegir uno cuyas características de hardware cumplan con todos los requisitos que necesiten nuestros proyectos web. Básicamente, las principales características en las que debemos fijarnos a la hora de contratar un servidor web son las siguientes: - Procesador: Seguramente nos darán a elegir entre intel o AMD, entre núcleo, doble núcleo, 4 núcleos, etc. Aquí sin ser un experto os recomendaría lo siguiente (por experiencia propia). Si vuestro servidorweb no va a ser utilizado para vender hosting, ni vais a instalar VPS en él, puede bastar un modelo normalito, sin excesos. - Memoria RAM: Importante no quedarse corto. Cuando la RAM se agota, se tira de memoria virtual (disco duro) y se ralentiza todo, pudiendo incluso colapsar el servidor y provocar caída de servicios en el mismo. Opino que 1GB es lo mínimo, pero mejor 2GB para ir sueltos. - Modelo de disco duro: nos indicará su velocidad y su rendimiento. Que no nos pongan un disco pelotero, preguntad marca y modelo, creedme que a veces dan gato por liebre. Hay más factores a tener en cuenta, pero para los que no somos expertos en hardware creo que con tener en cuenta estos es más que suficiente. Seguramente tendremos nuestro servidor alojado en un centro de datos, por lo que del mantenimiento se ocuparán ellos.

1.

6


UNIDAD 5 APACHE

Comparad planes de hosting en varios proveedores, comparad el precio de los servidores dedicados y comprobad aquel que ofrece merjor relación calidadprecio. Y mi recomendación final, contratad un servidor dedicado que podáis pagar mes a mes. Así, al menos durante los primeros meses, si no os convence, siempre podéis migraros a otro proveedor de hosting. Actualización: Aprovechando la oferta en servidores virtuales y servidores cloud, aquí os dejo este pequeño script que os ayudará a calcular el precio de un servidor dedicado. Como podéis observar, por menos de 30€ al mes podéis disfrutar de un servidor propio con todas las garantías, totalmente administrado y con tráfico ilimitado y panel de control integrado.

5.1.3 ESPECIFICACIONES Lo más recomendable es adecuarse a lo siguiente:

HARDWARE:

MEMORIA SWAP: 4GB DISCO DURO: MINIMO 60GB RECOMENDADO 120 GB MEMORIA RAM: 1.5 GB POR CADA 500 USUARIOS CONCURRENTES MEMORIA CACHE: 500 MB 2 PROCESADORES: INTEL x86 2.4 GHZ

SOFTWARE:

SISTEMA OPERATIVO: LINUX REDHAT ADVANCED SERVER 3.0 HERRAMIENTAS: JAVA JDK VERSION 1.4

Img. 1.3 Especificaciones

1.

7


UNIDAD 5 APACHE

5.1.4 TENDENCIAS 1 La virtualización de los servidores será la tecnología dominante en tres años 1.1 En 2008 también llegará al ámbito de los ordenadores personales, según Intel

1.1.1 La virtualización de servidores, que permite correr de forma simultánea múltiples sistemas operativos y aplicaciones en un mismo servidor, proporcionando una mayor flexibilidad y reduciendo los gastos operativos y el consumo de energía, se terminará de imponer en los próximos tres años, según un informe de la consultora Butler. Los autores del informe aseguran que esta tendencia requiere un cambio de cultura empresarial, tanto en los departamentos de TI, como en la forma de contemplar el negocio. Por otro lado, Intel augura que la virtualización llegará a los PC en 2008.

inShare

img 1.4 Tendencias

2

La virtualización de infraestructura será la tecnología dominante en los centros de datos durante los próximos años tres años, según un informe de la firma de análisis Butler Group. La virtualización se define como la práctica de correr un nivel de software sobre un servidor que, como resultado, puede soportar múltiples entornos y sistemas operativos sobre un mismo hardware como si funcionaran en servidores físicos diferentes.

1.

8


UNIDAD 5 APACHE

De esta forma, los recursos informáticos de la empresa se utilicen más eficientemente. Al mismo tiempo, ofrece una mucha mayor flexibilidad en la gestión de los recursos informáticos. Esta tendencia se verá propiciada por la convergencia de tres factores en la economía mundial. En primer lugar, la necesidad de las empresas de reducir el consumo de energía y las emisiones de carbono. En segundo lugar estaría la exigencia de responder con mayor agilidad a las oportunidades de mercado (que cada vez surgen y desaparecen más rápidamente). Finalmente, la tendencia a la automatización como medio de reducir costes operacionales. El informe de Butler, titulado “Infraestructura de Virtualización”, asegura que la virtualización traerá mejoras en esas tres áreas, pero advierte que, para que sea efectiva, exige un cambio cultural importante dentro de las organizaciones, tanto desde la perspectiva de las Tecnologías de la Información como de la de negocio. Cambio

de

cultura

Básicamente, las empresas, tendrán que cambiar su estructura actual, en la las distintas unidades de negocio actúan por separado, adoptando una arquitectura organizativa virtual dirigida por los procesos de negocios. “Esta tendencia debe ser reconocida como una tecnología que se ha desarrollado en el momento justo debido a la convergencia de una serie de factores”, comenta Roy Illsey, investigador senior de Butler Group, en un comunicado difundido por la empresa. “Esto ayudará a las organizaciones a enfrentarse a la competencia que impera hoy en la economía global”, puntualiza. La virtualización como tecnología es un paso adelante en el rediseño de cómo las Tecnologías de la Información son utilizadas por los clientes. Según este informe, la transformación de las organizaciones hacia negocios virtuales se apoya, sin duda, en la adopción de la infraestructura de virtualización. Más

flexibilidad

El principal beneficio de la virtualización para Butler es que los departamentos

1.

9


UNIDAD 5 APACHE

de TI de las empresas son más flexibles y pueden localizar mejor sus recursos. Asimismo, reduce los gastos operativos y mejora el retorno financiero de las inversiones hechas en TI. Además, reduce el consumo energético al aprovechar mejor los recursos, lo que permite reducir las emisiones de carbono. Estos ahorros pueden ser significativos. Butler estima que combinando estas tecnologías las empresas no sólo reducirán sus costes, sino que el negocio tendrá más herramientas para alcanzar sus objetivos. Y pone el siguiente ejemplo: una organización que corra 250 servidores de doble núcleo podrá conseguir ahorros de dos millones de libras, o sea casi tres millones de euros en tres años, y eso teniendo en cuenta sólo los derivados de la consolidación de servidores. Respecto al recorte de consumo eléctrico, puede facilitar ahorros de en torno a 78.000 libras (111.000 euros) anuales por cada 1000 PC si se migra de una infraestructura PC basada en sobremesa a una solución de virtualización de entorno desktop hospedada en un servidor. Además, existen otras reducciones de costes adicionales relacionadas con la gestión más centralizada y flexible que la virtualización permite.

5.1.5 COMPATIBILIDAD La tabla siguiente proporciona una lista de los sistemas operativos compatibles con la Placa Intel® S3000AH para servidor. Cada uno de los sistemas operativos mencionados fue probado para garantizar la compatibilidad con placa de servidor Intel® S3000AH para servidores configuración básica del sistema figura en la sección 2 del documento Lista hardware y Sistema operativo probado. Los sistemas operativos con compatibles solamente con las configuraciones básicas especificadas con las cuales hayan sido probados. La tabla siguiente también indica si cada sistema operativo se sometió a pruebas básicas de configuración, de compatibilidad con adaptadores o dispositivos periféricos, o de esfuerzo. Si no hay pautas de instalación se indica en la tabla siguiente, quiere decir que el sistema operativo se instaló como se esperaba mediante fabricantes instalación. Los sistemas operativos compatibles con Administración de servidores Intel® software puede ser diferente a los sistemas operativos compatibles con la placa de

1.

10


UNIDAD 5 APACHE

servidor. Consulte el archivo Readme y los documentos de Guía del usuario que se incluyen como parte de la distribución de Intel Server Management para los sistemas operativos compatibles con dicha revisión.

Sistema operativo

Tipo de prueba

Notas

Microsoft Windows* Server 2003 Enterprise Compatibilidad y Edition, SP1/Microsoft Windows Small Busiesfuerzo ness Server 2003 *

1,3

Microsoft Windows* Server 2003 Enterprise Edition, EM64T, SP1

Compatibilidad y esfuerzo

1

SuSE * Linux Enterprise Server 9, SP3

Compatibilidad y esfuerzo

1

SuSE * Linux Enterprise Server 9, EM64T, SP3

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 4.0 AS, Update 2

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 4.0 AS, EM64T, actualización2

Compatibilidad y esfuerzo

1

SuSE * Linux Enterprise Server 10

Compatibilidad y esfuerzo

1

SuSE * Linux Enterprise Server 10, EM64T

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 4.0 AS, Update 4

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 4.0 AS, EM64T, actualización 4

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 5.0

Compatibilidad y esfuerzo

1

RedHat * Enterprise Linux 5.0 , EM64T

Compatibilidad y esfuerzo

1

Microsoft Windows* XP Professional SP2

Instalación básica

2

Microsoft Windows* XP Professional, EM64T, SP2

Instalación básica

2

Novell NetWare * 6.5 , SP5

Instalación básica

2

1.

11


UNIDAD 5 APACHE

Microsoft Windows* 2000 Advanced Server, SP4 /Microsoft Windows Small Business Server 2000 *

Instalación básica

Multimuestreo y

Microsoft Windows Vista* Enterprise

Instalación básica

2

Microsoft Windows Vista* Enterprise EM64T Instalación básica

2

Red Hat * Enterprise Linux 3.0 , actualización 8, EM64T

2

Instalación básica

Img. 1.5 Compatibilidad OJO!!!!!!!! 1. Las pruebas de compatibilidad con adaptadores y dispositivos periféricos, y de esfuerzo se realizan solamente en las revisiones más actuales de los sistemas operativos compatibles al momento en que se ejecute la validación determinada. El proceso de prueba de compatibilidad con adaptadores y dispositivos periféricos, y de esfuerzo consta de tres áreas: Plataforma básica, adaptadores múltiples y resistencia:

A. Plataforma básica: Cada plataforma básica se instala en un sistema operativo determinado, pasa la prueba de esfuerzo de disco y pasa la prueba de esfuerzo de red de forma satisfactoria. B. Adaptadores múltiples: prueba de validación de adaptadores múltiples (MAV) utiliza configuraciones y conjuntos de prueba a fin de obtener una visión exacta de la forma en que el servidor se desempeña bajos diversas configuraciones complejas a la vez que interactúa con clientes de red. Cada configuración se prueba durante al menos 12 horas. C. Prueba de esfuerzo: Esta secuencia de prueba utiliza configuraciones que incluyen de 2 a 6 adaptadores adicionales (según el chasis que se utilice) para un mínimo 72 horas de prueba sin inyectar errores. Cada configuración pasa una instalación prueba, una red/Disk prueba de esfuerzo, y respaldo en cinta prueba fatal. cualquier error que se pueda requerir una completa de los ensayos.

2. Se realiza la prueba de instalación básica con cada sistema operativo. las pruebas de instalación básica validan que la placa para servidores pueda instalar el sistema operativo y que funcione el conjunto básico de características de hardware. Se utiliza un pequeño grupo de dispositivos periféricos

1.

12


UNIDAD 5 APACHE

solamente para fines de instalación. se prueba ninguna tarjeta de adaptador adicional. Las pruebas podrían incluir Conectividad de redes y la ejecución de conjuntos de pruebas privadas y estándares del sector. 3. Las pruebas realizadas por Intel se realizaron con Microsoft Windows Server 2003*. La Placa Intel® S3000AH para servidor es compatible con la porción de sistema operativo de Microsoft Windows Small Business Server 2003 * sólo. La porción de aplicación no se ha probado ni es compatible. Las pruebas realizadas por Intel se realizaron con Microsoft Windows 2000 Server*. La Placa Intel® S3000AH para servidor es compatible con la porción de sistema operativo de Microsoft Windows Small Business Server 2000 * sólo. La porción de aplicación no se ha probado ni es compatible.

5.1.6 CLASIFICACIÓN

img.1.6 Clasificación

Servidores de Aplicaciones (Application Servers): Designados a veces como un tipo de middleware (software que conecta dos aplicaciones), los servidores de aplicaciones ocupan una gran parte del territorio entre los servidores de bases de datos y el usuario, y a menudo los conectan. Servidores de Audio/Video (Audio/Video Servers): Los servidores de Audio/Video añaden capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma de flujo continuo (streaming) desde el servidor. 1.

13


UNIDAD 5 APACHE

Servidores de Chat (Chat Servers): Los servidores de chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real. Servidores de Fax (Fax Servers): Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Servidores FTP (FTP Servers): Uno de los servicios más antiguos de Internet, File Transfer Protocol permite mover uno o más archivos. Servidores Groupware (Groupware Servers): Un servidor groupware es un software diseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual. Servidores IRC (IRC Servers): Otra opción para usuarios que buscan la discusión en tiempo real, Internet Relay Chat consiste en varias redes de servidores separadas que permiten que los usuarios conecten el uno al otro vía una red IRC. Servidores de Listas (List Servers): Los servidores de listas ofrecen una manera mejor de manejar listas de correo electrónico, bien sean discusiones interactivas abiertas al público o listas unidireccionales de anuncios, boletines de noticias o publicidad. Servidores de Correo (Mail Servers): Casi tan ubicuos y cruciales como los servidores web, los servidores de correo mueven y almacenan el correo electrónico a través de las redes corporativas (vía LANs y WANs) y a través de Internet. Servidores de Noticias (News Servers): Los servidores de noticias actúan como fuente de distribución y entrega para los millares de grupos de noticias públicos actualmente accesibles a través de la red de noticias USENET. Servidores Proxy (Proxy Servers): Los servidores proxy se sitúan entre un programa del cliente (típicamente un navegador) y un servidor externo (típicamente otro servidor web) para filtrar peticiones, mejorar el funcionamiento y compartir conexiones. Servidores Telnet (Telnet Servers): Un servidor telnet permite a los usuarios entrar en un ordenador huésped y realizar tareas como si estuviera trabajando directamente en ese ordenador. Servidores Web (Web Servers): Básicamente, un servidor web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red.

1.

14


UNIDAD 5 APACHE

TEMA 5.2 APACHE 5.2.1 DEFINICIÓN

El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache es altamente configurable, admite bases de datos de autenticación y negociado de contenido, aunque carece de una interfaz gráfica que ayude en su configuración. Apache es una aplicación que permite montar un servidor web en cualquier equipo y casi cualquier sistema operativo. Al contrario que IIS (Internet Information Server) que sólo funciona en sistemas operativos de Microsoft. Apache soporta PHP como lenguaje de programación. Con los módulos adecuados, Apache puede soportar también ASP.

Img. 2.1 Apache Server

1.

15


UNIDAD 5 APACHE

5.2.2 HISTORIA La primera versión del servidor web Apache fue desarrollada por Robert McCool, quien desarrollaba elservidor web NCSA HTTPd (National Center for Supercomputing Applications). Cuando Robert dejó el NCSA a mediados de 1994, el desarrollo de httpd se detuvo. Robert McCool buscó otros desarrolladores para que lo ayudaran, formando el Apache Group. Algunos miembros del grupo original fueron Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters y Nicolas Pioch. La versión 2 del servidor Apache fue una reescritura sustancial de la mayor parte del código de Apache 1.x, enfocándose en una mayor modularización y el desarrollo de una capa de portabilidad, el Apache Portable Runtime. Apache 2.x incluyó multitarea en UNIX, mejor soporte para plataformas no Unix (como Windows), una nueva API Apache y soporte para IPv6. La versión 2 estable de Apache, fue lanzada el 6 de abril de 2002. Características de Apache * Soporte para los lenguajes perl, python, tcl y PHP. * Módulos de autenticación: mod_access, mod_auth y mod_digest. * Soporte para SSL y TLS. * Permite la configuración de mensajes de errores personalizados y negociación de contenido. * Permite autenticación de base de datos basada en SGBD. Uso de Apache Apache es principalmente usado para servir páginas web estáticas y dinámicas en la WWW. Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de programaciónPHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es Windows: WAMP, si es

1.

16


UNIDAD 5 APACHE

el Linux: LAMP, etc. 5.2.3 CARACTERISTICAS

Img. 2.2 Características

Apache es un servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus características destacan: • • •

• • • •

Multiplataforma Es un servidor de web conforme al protocolo HTTP/1.1 Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos. Basado en hebras en la versión 2.0 Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos. Se desarrolla de forma abierta Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP, un lenguaje de programación del lado del servidor.

5.2.4 TENDENCIAS A partir de la versión 3 de Red Hat Enterprise Linux, los paquetes del Servidor Apache HTTP han sido renombrados. Además otros paquetes se han eliminado, renombrado y otros se han introducido en otros paquetes.

1.

17


UNIDAD 5 APACHE

La siguiente lista contiene los cambios de los paquetes: •

Los paquetes apache, apache-devel y apache-manual, fueron renombrados a httpd, httpd-devel y httpd-manual repectivamente.

Se ha incorporado el paquete mod_dav en el paquete httpd.

Los paquetes mod_put y mod_roaming se han eliminado, ya que su funcionalidad aparece recogida en mod_dav (el cual forma parte ahora del paquete httpd).

Los paquetes mod_auth_any y mod_bandwidth se han eliminado.

El número de versión del paquete mod_ssl se ha sincronizado con el paquete httpd. Esto significa que el paquete mod_ssl para el Servidor Apache HTTP 2.0 tiene un número de versión menor que el paquete mod_ssl del Servidor Apache HTTP 1.3.

5.2.5 VERSIONES

Apache es el software más utilizado en Internet para actuar como servidor de contenido para la web. Las últimas estadísticas publicadas por Netcraft, hace escasamente unas semanas, lo dejan bien claro: el 67,05% de los servidores web visibles en Internet utilizan alguna versión de Apache. Haciendo números de forma rápida esto significa que a principios de este mes había casi 34 millones de servidores en Internet utilizando Apache. De hecho, son varios los analistas que ya califican abiertamente a Apache como la "killer application" del mundo del software libre. Actualmente Apache se distribuye en dos "ramas" separadas de código, que corresponden a la versión 2.0.xx y la versión 1.3.xx. La versión 1.3 corresponde a la edición clásica de Apache, especialmente optimizada para las plataformas Unix. En la versión 2.0 se introducen cambios en el funcionamiento interno que permiten su utilización en otros sistemas operativos no derivados de Unix. Si el servidor web es una plataforma basada en Unix, el rendimiento de ambas versiones de Apache es prácticamente equivalente. En cambio, en otras plataformas como Windows y OS/2, la versión 2.0 ofrece un rendimiento notablemente superior.

1.

18


UNIDAD 5 APACHE

Apache 2.0.49 Esta nueva versión soluciona tres problemas de seguridad detectados en las versiones anteriores de Apache 2.0.*. La primera de las vulnerabilidades corresponde una condición de carrera en el proceso de conexiones con un corto periodo de vida y que puede ser utilizada para provocar un ataque de denegación de servicio. Esta vulnerabilidad afecta los servidores Apache ejecutándose en determinadas versiones de Solaris, AIX y Tru64. La segunda vulnerabilidad radica en la posibilidad de que un usuario remoto pueda añadir caracteres arbitrarios en los mensajes de error escritos en el archivo de registro de errores del servidor. Esta vulnerabilidad puede ser utilizada para atacar algunos emuladores de Terminal en el momento que se visualiza el contenido de este archivo de registro de errores. La tercera y última vulnerabilidad es una pérdida de memoria, explotable de forma remota, en el módulo mod_ssl. Esto puede ser utilizado para consumir toda la memoria del servidor, provocando un ataque de denegación de servicio. Apache 1.3.31 En lo que se refiere a la versión "clásica" de Apache, las vulnerabilidades de seguridad solucionadas son cuatro. La primera se encuentra en el módulo mod_digest y consiste en que no se verifica correctamente las respuestas enviadas por el cliente remoto cuando se utiliza AuthNonce. La segunda vulnerabilidad radica en la posibilidad de que un usuario remoto pueda añadir caracteres arbitrarios en los mensajes de error escritos en el archivo de registro de errores del servidor. Esta vulnerabilidad puede ser utilizada para atacar algunos emuladores de Terminal en el momento que se visualiza el contenido de este archivo de registro de errores. La tercera vulnerabilidad radica en la posibilidad de que el servidor web deje de procesar nuevas conexiones hasta que se liberen los sockets bloqueados por un atacante remoto bajo circunstancias muy especiales.

1.

19


UNIDAD 5 APACHE

La cuarta y última vulnerabilidad se encuentra en las reglas de filtro de direcciones IP cuando se indican sin especificar su máscara de red. Mod_ssl Simultáneamente a la publicación de Apache 1.3.31, también se ha publicado una nueva versión de mod_ssl. Este es un modulo para la versión 1.3.xx de Apache que incorpora la capacidad criptográfica necesaria para que el servidor web pueda utilizar los protocolos SSL (SSL v2/v3) y TLS (TLS v1) para el cifrado del tráfico. Mod_ssl se utiliza para la configuración de servidores HTTPS.

I Img. 2.3 Versiones

1.

20


UNIDAD 5 APACHE

5.2.6 COMPATIBILIDAD

Img. 2.4 -2.5 Requisitos y compatibilidad

1.

21


UNIDAD 5 APACHE

1.

22


UNIDAD 5 APACHE

5.2.5 INSTALACIÓN, CONFIGURACIÓN Y ADMINISTRACIÓN El proceso para instalar Apache en W indows es muy sencillo. En a d e l a n t e , e s posible que la configuración del servidor pueda complicarse un poco, sin embargo,si deseamos utilizarlo con las funciones habituales, no hemos de tener mayoresproblemas en ningún momento. DESCARGA DE APACHE El servidor web Apache se puede descargar en la página de la Fundación Apache,en apache.org. En la URL http://httpd.apache.org/ tienen una sección en particular para el servidor HTTP (Protocolo de transmisión utilizado en la web), en la quetendremos que buscar el enlace para descarga.Una vez en la página de descarga debemos buscar la última versión estable o lav e r sión que recomendada. El servidor está disponible para si s t e m a s U n i x o Windows, por lo que nos ofrecerán diversas opciones de descarga, incluso parao b t e n e r e l c ó d i g o f u e n t e d e l p r o g r a m a . S i deseamos instalarlo en un sistemaW indows, necesitamos obten e r e l a r c h i v o W i n - 3 2 B i n a r y , q u e e s u n i n s t a l a d o r Windows. INSTALACIÓN

Img. 2.6 instalación Una vez descargado, debemos instalarlo en nuestro sistem a , e j e c u t a n d o e l archivo obtenido. Daremos paso a un asistente que nos guiará en el proceso deinstalación del servidor.

1.

23


UNIDAD 5 APACHE

Img. 2.7 instalaciรณn Con estos datos queda configurado el Apache inicialmente. En cualquier momentopodemos editarlos a nuestro gusto o necesidades. Para ello deberemos editar elfichero httpd.conf, que se encuentra en el directorio de instalaciรณn de Apache, queh e m o s i n d i c a d o d u r a n t e e l p r o c e s o d e i n s t a l a c i รณ n , m รก s c o n c r e t a m e n t e , e n e l subdirectorio conf.D u r a n t e e l p r o c e s o n o s p r e g u n t a r รก e l n o m b r e d e l d o m i n i o y d e l s e r v i d o r , q u e podemos relle-

1.

24


UNIDAD 5 APACHE

nar con "localhost". Nos pedirá también una dirección de correo, quep o d e mos rellenar con cualquiera que deseemos. También nos p r e g u n t a s i deseamos que el servidor responda en el puerto 80 para todos los usuarios o sideseamos que sólo se active para el usuario actual en el puerto 8080, cuando seinicie manualmente. Lo normal es que lo activemos para todos los usuarios

Nota: Debemos ir con cuidado de no tener otro servidor configurado para trabajar e n e l p u e r t o 8 0 ( p o r e j e m p l o e l s e r v i d o r I I S q u e v i e n e e n l a s v e r s i o n e s profesionales o servidor de Windows). En caso de tener en marcha otro servidor w e b d u r a n t e l a i n s t a l a c i ó n , p u e d e f a l l a r y m o s t r a r n o s u n m e n s a j e d e e r r o r q u e indique esto precisamente, es decir, que no podemos tener dos servidores a la vezescuchando en el puerto 80.Para solucionar el problema basta con que paremos el IIS o el otro servidor quee s t é f u n c i o n a n d o . E l I I S l o p o d e m o s parar accediendo a Panel de control Herramientas administrativas S e r v i c i o s d e I n t e r n e t I n f o r m a t i o n S e r v e r . L a pantalla que sale es la consola de administración del sistema. Aquí debemosd e s p l e gar el árbol de la izquierda, pulsando sobre el signo "+", hasta queencontremos el "Sitio web predeterminado". Nos pon e m o s e n c i m a d e é l y apretamos el botón de STOP que está situado en la barra de herramientas de laconsola de administración. También podemos encontrar una opción para detener el servicio pulsando con el botón derecho en el "Sitio web predeterminado".

1.

25


UNIDAD 5 APACHE

Img. 2.8 instalación Una vez instalado, el Apache se pone en funcionamiento. Para controlar el Apachep o d e m o s e n c o n t r a r e n e l b o t ó n d e i n i c i o , s e c c i ó n p r o g r a m a s , u n n u e v o g r u p o llamado "Apache HTTP Server", con iconos para detener el servidor, ponerlo enmarcha, editar el archivo de configuración httpd.conf o para ver los logs de acceso.T a m b i é n p o d e m o s v e r e n l a b a r r a d e t a reas un nuevo icono que indica que elApache está funcionando y q u e o f r e c e o p c i o n e s p a r a c o n t r o l a r l o s i p u l s a m o s sobre él.

1.

26


UNIDAD 5 APACHE

img. 2.9 instalaci贸n

1.

27


UNIDAD 5 APACHE

Img. 2.10 instalación VER SI ESTÁ FUNCIONANDO Para comprobar que el servidor está activo y funciona correctamente podemos abrir un explorador y probar a acceder a la URL http: //local host, que es nuestro propio servidor. Si todo ha ido bien observaremos el mensaje de bienvenida del servidor con algo como "¡Funciono! ¡El servidor Apache ha sido instalado en este equipo!"

5.2.6 VENTAJAS Y DESVENTAJAS DE APACHE SERVER Apache presenta entre otras características altamente configurables bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. + Altamente configurable - Para los que saben, casi cualquier cosa que se necesite hacer con un servidor web se puede hacer con apache. + Estabilidad - Ha probado su estabilidad y funcionamiento en una inmensa cantidad de proyectos. + Independencia de la plataforma - Está disponible en variedad de plataformas. + Código abierto - Esto permite por ejemplo, producir binarios para plataformas en las que no hay un binario oficial o compilarlo para un mejor rendimiento en una plataforma específica.

1.

28


UNIDAD 5 APACHE

Complejidad - Puede resultar difícil de configurar incluso para tareas sencillas y por ello muchos novatos le escapan a su uso

Formatos de configuración no estándar – esto dificulta un poco la automatización y el procesamiento de la configuración al no estar basada esta en formatos más soportados como el XML.

Falta de integración - Al ser un producto multiplataforma, el servidor no aprovecha al máximo las posibilidades que ofrece el sistema operativo.

Administración - Como la mayoría de los programas open-source, uno depende de configurar los archivos a mano o tener que instalarse herramientas adicionales para las tareas de administración. Apache viene en una suerte de Kit para armar.

5.2.7 ESTABILIDAD

• •

1.

Corre en una multitud de Sistemas Operativos, lo que lo hace prácticamente universal. Apache es una tecnología gratuita de código fuente abierta. El hecho de ser gratuita es importante pero no tanto como que se trate de código fuente abierto. Esto le da una transparencia a este software de manera que si queremos ver que es lo que estamos instalando como servidor, lo podemos saber, sin ningún secreto, sin ninguna puerta trasera ;). Apache es un servidor altamente configurable de diseño modular. Es muy sencillo ampliar las capacidades del servidor Web Apache. Actualmente existen muchos módulos para Apache que son adaptables a este, y están ahí para que los instalemos cuando los necesitemos. Otra cosa importante es que cualquiera que posea una experiencia decente en la programación de C o Perl puede escribir un módulo para realizar una función determinada. Apache trabaja con gran cantidad de Perl, PHP y otros lenguajes de script. Perl destaca en el mundo del script y Apache utiliza su parte del pastel de Perl tanto con soporte CGI como con soporte mod perl. También trabaja con Java y páginas jsp. Teniendo todo el soporte que se necesita para tener páginas dinámicas. Apache te permite personalizar la respuesta ante los posibles errores que se puedan dar en el servidor. Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto.

29


UNIDAD 5 APACHE •

Tiene una alta configurabilidad en la creación y gestión de logs. Apache permite la creación de ficheros de log a medida del administrador, de este modo puedes tener un mayor control sobre lo que sucede en tu servidor .

5.2.8 SEGURIDAD

El servidor web Apache es sin dudas el más utilizado a nivel mundial, por encima de otros como lighttpd, nginx y demás. La mayoría de los proveedores usan Apache en sus servidores compartidos y muchos de los sitios más concurridos del mundo se encuentran en servers que también corren conApache. Si tienes tu propio VPS o dedicado que use dicho servidor web, entonces aquí te damos algunos consejos básicos de seguridad:

Img. 2.11 Seguridad -Desactiva la indexación de directorios: mod_autoindex se hace cargo de esto. Si está activado, cualquier usuario que ingrese a un directorio sin una página por defecto (un index) podrá ver contenido de la carpeta. Desactiva el mod para que los archivos no sean visibles.

1.

30


UNIDAD 5 APACHE

-Instala un firewall: seguro de que ya has oído antes sobre firewalls de red, pero esperamos que ya tengas uno de esos. Una aplicación de firewall está diseñada para proteger nuestro servidor. El firewall se soloca entre Internet y Apache y dificulta los posibles ataques de los hackers. Una buena opción esModSecurity. -Impide que se vea información sensible: por defecto, Apache envía información sobre si al usuario. Esa información puede incluir nombre, número de versión y quizá incluso el sistema operativo. Un individuo malintencionado puede hacer uso de todo esto para atacar tu servidor o VPS. Para que la información no se vea, hay que colocar ServerSignature en “Off” y ServerTokens en “Prod” desde el archivo de configuración de Apache. 5.2.9 I.I.S Y APACHE

img. 2.12 comparación

1.

31


UNIDAD 5 APACHE

TEMA 5.3 I.I.S (Internet Information Server)

5.3.1 DEFINICIÓN Los servicios de Internet Información Server (o IIS), son los servicios de software que admiten la creación, configuración y administración de sitios Web, además de otras funciones de Internet. Los servicios de Microsoft Internet Información Server incluyen el Protocolo de transferencia de noticias a través de la red (NNTP), elP r o t o c o lo de transferencia de archivos (FTP) y el Protoc o l o s i m p l e d e transferencia de correo (SMTP).IIS es un conjunto de servicios que es especialmente usado en servidores web, actualmente es el segundo más popular sistema de servidor web. VERSIONES DE IIS* IIS 1.0: Windows NT 3.51* IIS 2.0: Windows NT 4.0* IIS 3.0: Windows NT 4.0 Service Pack 3* IIS 4.0: Windows NT 4.0 Option Pack* IIS 5.0: Windows 2000* IIS 5.1: Windows XP Professional* IIS 6.0: Windows Server 2003 y Windows XP Professional x64 Edition* IIS 7.0: Windows Vista y Windows Server 2008 soluciónd e p r o b l e m a s , f a m i l i a r i z a r s e c o n l a s c a r a c t e r í s t i c a s d e seguridad en IIS 6.0.4 . E l r e n d i m i e n t o y l a e s c a l a b i l i d a d . M e j o r a r e l r e n d i m i e n t o al proporcionar a i s l a m i e n t o e n e l p r o c e s o . I n t e g r a d a s d e e s c a l a b i l i d a d a l o f r e c e r u n a arquitectura que le permite consolidar los sitios y aplicaciones en menosservidores. 5.3.2 Historia Servidores de Aplicaciones (Application Servers): Designados a veces como un tipo de middleware (software que conecta dos aplicaciones), los servidores de aplicaciones ocupan una gran parte del territorio entre los servidores de bases de datos y el usuario, y a menudo los conectan. Servidores de Audio/Video (Audio/Video Servers): Los servidores de Audio/Video añaden capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma de flujo continuo (streaming) desde el servidor. Servidores de Chat (Chat Servers): Los servidores de chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real.

1.

32


UNIDAD 5 APACHE

Servidores de Fax (Fax Servers): Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Servidores FTP (FTP Servers): Uno de los servicios más antiguos de Internet, File Transfer Protocol permite mover uno o más archivos...Leer más » Servidores Groupware (Groupware Servers): Un servidor groupware es un softwarediseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual. Servidores IRC (IRC Servers): Otra opción para usuarios que buscan la discusión en tiempo real, Internet Relay Chat consiste en varias redes de servidores separadas que permiten que los usuarios conecten el uno al otro vía una red IRC. Servidores de Listas (List Servers): Los servidores de listas ofrecen una manera mejor de manejar listas de correo electrónico, bien sean discusiones interactivas abiertas al público o listas unidireccionales de anuncios, boletines de noticias o publicidad. Servidores de Correo (Mail Servers): Casi tan ubicuos y cruciales como los servidores web, los servidores de correo mueven y almacenan el correo electrónico a través de las redes corporativas (vía LANs y WANs) y a través de Internet. Servidores de Noticias (News Servers): Los servidores de noticias actúan como fuente de distribución y entrega para los millares de grupos de noticias públicos actualmente accesibles a través de la red de noticias USENET. Servidores Proxy (Proxy Servers): Los servidores proxy se sitúan entre un programa del cliente (típicamente un navegador) y un servidor externo (típicamente otro servidor web) para filtrar peticiones, mejorar el funcionamiento y compartir conexiones. Servidores Telnet (Telnet Servers): Un servidor telnet permite a los usuarios entrar en un ordenador huésped y realizar tareas como si estuviera trabajando directamente en ese ordenador. Servidores Web (Web Servers): Básicamente, un servidor web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red.

1.

33


UNIDAD 5 APACHE

5.3.3 CARACTERISTICAS Microsoft ha mejorado sustancialmente su software estrella en el campo delos servicios Web. Los avances vienen motivados sobre todo por la seguridad y el rendimiento, aunque todavía adolece de algunos agujeros de seguridad. L a s características agregadas en seguridad se aprovechan de las últ i m a s tecnologías de cifrado y métodos de autenticación mediante certificados de cliente y servidor. •

IIS tiene la forma de asegurar los datos es mediante SSL ( SecureSockets Layer ). Esto proporciona un método para transferir datos entre el cliente y el servidor de forma segura, permitiendo también que el servidor pueda comprobar al cliente antes de que inicie una sesión de usuario. • La autenticación implícita que permite a los administradores autenticara los usuarios de forma segura a través de servidores de seguridad yproxy. •

IIS también es capaz de impedir que aquellos usuarios con direcciones IP conocidas obtengan acceso no autorizado al servidor, permitiendo especificar la información apropiada en una lista de restricciones.

En cuanto a la seguridad, IIS tiene integrado el protocolo Kerberos v5( c o m o l e o c u r r e a l s i s t e m a o p e r a t i v o ) . E l a lmacenamient o d e certificados se integra ahora con el almacenamiento C r y p t o A P I d e Windows. Se puede utilizar el administrador de certificados de Windowsp a ra hacer una copia de seguridad, guardar y c onfigur a r l o s certificados.A d e m á s , l a a d m i n i s t r a c i ó n d e l a s e g u r i d a d del servidor IIS es una tarea fácilmente ejecutable a base de asistentes para la seguridad.

1.

34


UNIDAD 5 APACHE

5.3.4 Versiones •

IIS 1.0, Windows NT 3.51 Service Pack 3 IIS 2.0, Windows NT 4.0 IIS 3.0, Windows NT 4.0 Service Pack 3 IIS 4.0, Windows NT 4.0 Option Pack IIS 5.0, Windows 2000 IIS 5.1, Windows XP Professional IIS 6.0, Windows Server 2003 y Windows XP Profesional x64 Edition IIS 7.0, Windows Vista (Solo Business y Ultimate) y Windows Server 2008 IIS 7.5, Windows 7 y Windows Server 2008 R2 IIS 8, Windows 8 y Windows Server 2012

• • • • • • • • •

5.3.5 COMPATIBILIDAD Es compatible con los sistemas operativos Windows Vista RTM, Windows Vista SP1, Windows XP, Windows Server 2003 y Windows Server 2008, y además es compatible con las arquitecturas x86 y 64-bit.

5.3.6 CONFIGURACIÓN, INSTALACIÓN Y ADMINISTRACIÓN DE I.I.S

Para instalar y configurar el ISS, se debe de seguir la siguiente ruta:I n i c i o - > Panel de Control -> Agregar ó quitar componentes de W indows > luego seguir los siguientes pasos:

1.

35


UNIDAD 5 APACHE

IMG. 3.1 Instalaci贸n

1.

36


UNIDAD 5 APACHE

img 3.2

1.

37


UNIDAD 5 APACHE

Img. 3.3 instalaci贸n Como pudimos observar en las figuras anteriores, los elementos que seconfiguran junto con el IIS son:1.Internet Information Services (IIS) 6.02.COM+ for remote transactions3.Distributed Transaction Coordinator (DTC) for remote access4.ASP.NET, FrontPage Server Extensions, entre otros.

1.

38


UNIDAD 5 APACHE

5.3.7 VENTAJAS Y DESVETAJAS DE I.I.S Desventaja IIS • • •

Multitud de nuevos fallos de seguridad. La mayoría de funcionalidad extra debe ser comprada separadamente. Sólo funciona en Windows NT/2000.

Ventajas IIS • • • • •

Fácil de usar. Servidores WebUCAD ASP preparado en la instalación por defecto. Soporte ODBC integrado. Configuración gráfica y en línea de comandos

5.3.8 ESTABILIDAD Parches acumulativos para IIS 4.0, 5.0 y 5.1 Microsoft publica actualizaciones acumulativas para Internet Information Server en sus versiones 4.0, 5.0 y 5.1, que entre otras funciones soporta los servidores webs de Microsoft para plataformas Windows NT 4.0, Windows 2000 y Windows XP. Además de incluir los parches anteriores, la actualización viene a corregir nuevos problemas de seguridad. En el caso de IIS 4.0 el parche cubre toda las actualizaciones de seguridad aparecidas posteriormente al Service Pack 6a para Windows NT 4.0, mientras que cubre todos los parches de seguridad aparecidos hasta la fecha para IIS 5.0 y 5.1. Las nuevas vulnerabilidades corregidas con esta actualización son: - Vulnerabilidad de elevación de privilegios (IIS 4.0, 5.0 y 5.1): Implicaciones: La explotación de esta vulnerabilidad permitiría a un atacante, que tuviera la opción de cargar y ejecutar aplicaciones en el servidor web, conseguir privilegios de sistema y el control total de la máquina.

1.

39


UNIDAD 5 APACHE

Por defecto IIS 5.0 y 5.1 ejecutan las aplicaciones web en procesos separados y aislados al propio proceso IIS, para ganar en estabilidad y seguridad. En estos casos las aplicaciones ISAPI se ejecutan bajo el contexto de seguridad de la cuenta IWAM_nombremáquina con privilegios restringidos sobre el sistema para evitar que pueda llevar a cabo acciones potencialmente peligrosas. Un fallo en la implementación de Microsoft permite a las aplicaciones conseguir privilegios de Sistema Local con los que pueden obtener el control total sobre la máquina. En el caso de IIS 4.0 esta vulnerabilidad es prácticamente una funcionalidad por defecto, ya que las aplicaciones web comparten recursos y se ejecutan en el mismo espacio de memoria que el proceso IIS. La única ventaja de este esquema es el ahorro de recursos y una mejora en el rendimiento, por contra si falla una aplicación afectará a la estabilidad del servidor web y, además, puede aprovechar la posición privilegiada dentro del proceso IIS para llevar a cabo acciones bajo el contexto de Sistema Local con derechos ilimitados sobre el sistema. Aunque en IIS 4.0 es posible impersonalizar el cliente antes de lanzar aplicaciones CGI y extensiones ISAPI, existen varias estrategias para ejecutar código en el contexto de la cuenta de Sistema Local. Por ejemplo, se puede invocar ReverToSelt en la función HttpExtensionProc en una extensión ISAPI para finalizar la sesión de impersonalización y situarse en el contexto de seguridad de la cuenta Sistema Local, consiguiendo de nuevo acceso total a la máquina. Además del ataque premeditado a través de aplicaciones webs, no debemos olvidar los problemas de estabilidad que puede ocasionar la ejecución de aplicaciones en el mismo proceso que IIS, como son las filtraciones de memoria, la corrupción de pila, o las violaciones de acceso, que suelen terminar destruyendo el proceso IIS. Por todo lo anterior se recomienda que las aplicaciones web corran fuera del proceso IIS, lo que también es posible de configurar en IIS 4.0. Es en este punto donde también sufriría la vulnerabilidad de elevación de privilegios que nos ocupa, y por lo que también se incluye un parche para corregirla en IIS 4.0.

1.

40


UNIDAD 5 APACHE

- Denegación de servicios, DoS (IIS 5.0 y 5.1): Implicaciones: La explotación de esta vulnerabilidad permitiría a un atacante que el servidor web dejara de prestar servicios. La Autoría distribuida y control de versiones (Web-based Distributed Authoring and Versioning, WebDAV) es un conjunto de extensiones al protocolo HTTP/1.1, aprovechando el Lenguaje de marcación ampliable (XML), que especifican métodos, cabeceras y tipos que permiten a los usuarios modificar y gestionar archivos remotos en colaboración. Por ejemplo trabajar en documentos compartidos a través del web como si los datos estuvieran en un disco duro local. La vulnerabilidad de Denegación de Servicios (DoS) se produce por un fallo en la forma en que IIS 5.0 y 5.1 asigna memoria para las peticiones WebDAV. Si se realizan ciertas peticiones WebDAV malformadas se produce un consumo de memoria muy elevado, cuya reiteración puede acabar provocando la caida del servidor. Explotar esta vulnerabilidad provoca la perdida de todas las sesiones web que hubiera en curso, siendo necesario reiniciar el sistema para que el servidor vuelva a estar operativo. En esta ocasión IIS 4.0 no es vulnerable ya que no soporta WebDAV. - Uploads de ficheros .COM (IIS 5.0) Implicaciones: Permitiría a un atacante subir un ejecutable .COM en el servidor web sin necesidad de permisos adicionales. IIS mantiene una doble capa de protección para prevenir los uploads al servidor web. La primera es la configuración de escritura del directorio, ya que si el administrador del servidor no ha dado permisos de escritura al usuario, será imposible para éste subir cualquier tipo de fichero al servidor. Existe además una segunda capa de protección consistente en un filtro que previene la subida de algunos tipos de fichero potencialmente peligrosos, como pueden ser los scripts y ejecutables. Este tipo de ficheros requieren de un permiso adicional (script source access),

1.

41


UNIDAD 5 APACHE

además del permiso de escritura, para que el usuario pueda subir formatos ejecutables. La vulnerabilidad es provocada por un simple error tipográfico en la lista de tipos de ficheros que están sujetos a este filtro, de forma que no contempla los ejecutables .COM. Esta vulnerabilidad sólo afecta a la lista distribuida con IIS 5.0. (IIS 4.0 y 5.1 están libres del error). Para que un atacante pueda aprovechar con resultados la vulnerabilidad debe tener acceso de escritura en un directorio para subir el ejecutable .COM y, además, permisos de ejecución para poder lanzarlo. -Cross-Site Scripting, CSS (IIS 4.0, 5.0 y 5.1) Implicaciones: Permite a un atacante inyectar código en las páginas que sirve un servidor web a un usuario. Cross-Site Scripting es una vulnerabilidad bien conocida que afecta a numerosas aplicaciones web. En el caso de IIS se encuentra en numerosas páginas web que se distribuyen en el servidor web para tareas de administración y documentación. Como suele ocurrir en estos casos la inyección de código es posible debido a que no se filtran de forma adecuada las entradas.

5.3.9 SEGURIDAD Una programación segura es muy importante, pero no podemos olvidar la plataforma del servidor en la que la aplicación reside, empezando por el sistema operativo y llegando hasta el software encargado de prestar el servicio HTTP, por lo que ciertos consejos de seguridad en lo referente a este último nunca deben despreciarse. Sin embargo debido a los diferentes tipos de servidores web y sistemas operativos, estos consejos pueden variar sustancialmente aunque los principios de protección sean los mismos.

En este artículo especialmente vamos a centrar nuestra atención en el Internet Information Service (conocido comúnmente como IIS) que es la plataforma que

1.

42


UNIDAD 5 APACHE

ofrece Microsoft para sus servidores Windows 2000, 2003 y 2008. IIS es una plataforma mixta de servicios web (HTTP/HTTPS, FTP, SMTP y NNTP) y las versiones con las que comunmente podemos conseguirnos son la 5, 6, 7 y 7.5. Sin embargo si usted actualmente tiene algún tipo de servicio en la primera de estas (versión 5) o anteriores, el mejor consejo que podría darle es que trate de mudar sus aplicaciones a cualquiera de las versiones superiores. Entrando en materia a continuación mostraremos una lista de acciones o consejos que aumentarán la seguridad de este tipo de plataformas:

Reduzca la superficie de ataque apagando o eliminando los servicios que no necesita. Ya que el IIS es una plataforma de servicios múltiples lo primero que debe hacer es reducir radicalmente la superficie de ataque apagando o eliminando los servicios de dicha plataforma que no se utilizan. Es muy sabido que un servidor SMTP mal configurado puede dedicar la mayor parte de los servicios de su sistema operativo a enviar SPAM. Tener un servicio FTP activo permanentemente es una brecha por la cual el atacante podría introducir sus scripts malignos en nuestra web. Y ni hablar del NNTP!

Desactive la opción de mensajes de error detallados. Si bien en el ambiente de desarrollo esta opción es de gran ayuda, mantenerla activa solo sirve para que un atacante intente generar errores que le entreguen información adicional y le descubran algún dato que abra la brecha de seguridad esperada. Para información acerca de cómo desactivar esta opción en ASP.NET puede visitar este enlace. También puede manejar sus errores de forma dinámica, es decir haciendo que la página de especial de error que usted cree sea también una página dinámica que reporte el error a una base de datos o un archivo de registros personal, así como que envíe un e-mail dependiendo del tipo de error. Algunos ejemplos puede encontrarlos aquí.

Instale sus directorios de aplicación web en una unidad diferente a la unidad que aloja el sistema operativo. En caso de que un atacante pudiera obtener acceso a la unidad en la que usted aloja su aplicación, usted agradecerá sobremanera que este no tenga a mano utilidades importantes del sistema operativo como cmd.exe y otros igualmente poderosos.

1.

43


UNIDAD 5 APACHE

Remueva el mapeo de extensiones no utilizadas. Su servidor probablemente pueda y esté listo para resolver el mapeo de extensiones asp, php, cgi y otras dependiendo de los diferentes módulos CGI o librerías ISAPI instaladas. Nuevamente, si usted no necesita ejecutar ASP clásico o PHP simplemente deshabilite este tipo de extensiones.

Use URLScan. URLscan es un módulo que permite filtrar direcciones URL con determinadas características que pudieran considerarse como intentos de ataque. Inclusive actúa como una especie de firewall de aplicación que puede evitar una gran parte de los problemas. Sin embargo recuerde: la mejor manera de eliminar una brecha de seguridad en su aplicación es corregirla en el código en la que se origina. Descargue el URLscan aquí

Siempre utilice el sistema de archivos NTFS para las unidades en las que debe alojar sus aplicaciones. El problema con los sistemas de archivo FAT y FAT32 es que no utilizan un sistema de control de acceso lo suficientemente cerrado como para alojar aplicaciones web en las que los recursos deban restringirse de forma eficiente o variadas. El sistema ACL de NTFS es muy superior y por tanto mucho más seguro.

Mantenga los archivos de registro de sus servicios web fuera del directorio de su aplicación. Por defecto los archivos de registro se encuentran en el directorio "c:\windows\system32\logs" lo cual es perfecto, pero algunos administradores los ubican en otros directorios para evitar que los programadores u otros usuarios que los necesiten tengan acceso a un directorio tan crítico como este. La idea no es mala, pero tampoco se deben ubicar bajo el directorio web de nuestra aplicación. Los archivos de registros de IIS como en cualquier otro sistema, tienen un formato de nombre preestablecido, por lo que son muy fáciles de ubicar una vez conseguido un directorio "logs", "weblogs" o algo parecido mediante el uso de un scanner de rutas y archivos como por ejemplo OWASP Dirbuster. Usted no querrá que el atacante pueda obtener información detallada de la ubicación de los recursos simplemente bajando a su equipo uno de estos archivos.

Renombre, borre o restrinja el acceso a cualquier utilidad potencialmente peligrosa. Quizás por esto es que principalmente hay que colocar la aplicación en

1.

44


UNIDAD 5 APACHE

una unidad diferente a la del sistema operativo. Sin embargo si en la unidad en la que está ubicada la aplicación usted encuentra alguna aplicación potencialmente peligrosa trate de eliminarla, restringir el acceso a la misma o renombrarla.

Desative el usuario "guest" y elimine el acceso de usuarios del grupo "guests" a áreas fuera de su directorio principal de IIS (webroot). Usuarios como IUSR_machinename e IWAM_machinename pertenecientes al grupo "guests" no deben tener acceso a ninguna otra parte que no sea el directorio de la aplicación web. Tampoco deben tener atributos de escritura o ejecución en ninguna carpeta de sus aplicación. Utilidades para subir archivos necesitan a veces atributos de escritura en algún directorio, y si no puede evitar usar este tipo de componentes arcaicos, pues almenos en las propiedades del directorio seleccionado elimine todo tipo de permisos de ejecución de secuencias de comandos y archivos ejecutables.

Utilice si es posible los módulos de Restricción dinámica de IPs. Este módulo relativamente nuevo, le permitira defenderse de ataques de DoS limitando las solicitudes múltiples de ciertas características que las pudieran identificar como intentos de DoS. Lo único malo de este módulo es que solo está disponible para IIS 7.0 y 7.5 - http://www.iis.net/download/dynamiciprestrictions.

1.

45


UNIDAD 5 APACHE

FIG. 3.4 Seguridad Hace falta realizar esta operación en cada una de las dos carpetas CACHE y ecrire/data. Si se ha hecho bien, no debería ser posible el acceso a los archivos de estas carpetas a través del servidor web. Se puede comprobar la configuración intentando abrir http://www.tu-sitio.com/ecrire/data/spip.log con el navegador. Se debería obtener un mensaje de tipo « Acceso denegado ».

1.

46


UNIDAD 5 APACHE

TEMA 5.4 ADMINISTRACIÓN, GESTIÓN Y ACTUALIZACIÓN DE PORTALES WEB A TRAVÉS DE APACHE El nombre del servidor web apache proviene de la palabra en ingles patchy server que en español se puede entender como servidor parchado, ¿Tal vez te preguntaras, porque parchado?, la explicación es sencilla, el servidor web apache fue conformado por diversos parches del servidor web usado en ese momento, nos referimos al servidor web NCSA el cual era desarrollado en ese entonces por el National Center Supercomputing. El desarrollo del servidor web apache se remonta al lejano año de 1995, dicho desarrollo dio como resultado una especie de versión beta de lo que llegaría a convertirse en la primera versión de apache ya que estaba compuesto en su totalidad por una colección de parches del servidor web NCSA. Fue hasta el año de 1996 cuando fue lanzada la primera versión estable de Apache la cual tenia entre sus principales características la reescritura por completo de su código base, también incluía la carga de módulos en tiempo de ejecución. Meses mas tarde fue lanzada la versión 1.1 la cual tenia como novedad la inclusión de un modulo de autenticacion contra bases de datos. La versión 1.3 de apache vio la luz en el año de 1998 y esta incluía como principal característica soporte para plataformas Windows. Actualmente el servidor web apache se encuentra en su versión 2 e incluye notables mejoras con respecto a versiones anteriores, algunas de ellas son: • • • • •

Modo Híbrido Nuevo sistema de configuración y compilación Soporte nativo para Ipv6 Mensajes de error en diferentes idiomas Mejoras adicionales. Como dato adicional, cabe menciona que apache es el servidor web numero uno a nivel mundial el cual abarca cerca de un 52.26 % del mercado total de Internet desbancando a servidores web como el IIS (Internet Information Server) de Microsoft. Estos cifras pueden ser verificadas visitando el portal de Netcraft: http://news.netcraft.com/ Existe también una fundación dedicada a dar soporte legal y financiero al desarrollo de los proyectos relacionados con Apache , el nombre de esta fundación es Apache Software Foundation, la cual actualmente esta conformada por una comunidad de desarrolladores los cuales día a día contribuyen a la expansión y mejora de proyectos. Entre los proyectos mas destacados de esta fundación podemos encontrar los siguientes: •

Http Server.- Servidor Web Apache http://www.apache.org/ •

Jakarta.- Proyectos en el lado del servidor basados en Java http://tomcat.apache.org/ •

mod_perl.- Modulo de apache para la programación dinámica en Perl http://perl.apache.org/

1.

47


UNIDAD 5 APACHE • SpamAssin.- Sistema de detección de Spam http://spamassassin.apache.org/

2.1

Proceso de instalación del servidor web Apache#

2.1.1 Instalando el servidor web apache# La instalación del servidor web apache es relativamente sencilla , solo debe teclear en terminal el siguiente comando. [root@ localhost ~]# yum install -y httpd Recuerde que este comando se debe ejecutar como root 2.1.2 Archivos de configuración del servidor web Apache# La configuración del servidor web apache se realizara sobre dos ficheros distintos, uno de configuración general del servidor web apache y otro para indicarle al servidor apache los dominios virtuales que deben ser cargados al sistema. El fichero de configuración principal de apache lo encontramos en la siguiente ruta: /etc/httpd/conf/ La carpeta donde deberán ser añadidos los ficheros de configuración de los dominios virtuales sera en la siguiente ruta: /etc/httpd/conf.d/ 2.1.2.1 Configuración del fichero httpd.conf# La ubicación de este fichero lo encontramos en: /etc/httpd/conf/ -----> httpd.conf El contenido del fichero “httpd.conf” esta compuesto por un gran numero de secciones es por ello que solo describiremos las mas relevantes del mismo, usted podrá habilitar o deshabilitar cada una de las funciones que describiremos según su necesidad. Directiva ServerTokens# Esta directiva limita la cantidad de información que sera mostrada por nuestro servidor web apache como puede ser, la version del servidor web apache que tenemos instalado o los servicios que corren paralelamente con apache como php o

1.

48


UNIDAD 5 APACHE

MySQL. Para delimitar la cantidad de información mostrada por el sistema existen cuatro opciones: •

ServerTokens ProductOnly Solo mostrara el nombre del servidor web instalado. Ejemplo://Server Apache •

ServerTokens Minimal Muestra el nombre asi como la version de apache instalada. Ejemplo://Server Apache 2.1 •

ServerTokens OS Mostrara el nombre, version y sistema operativo sobre el cual se encuentra montado: Ejemplo://Server Apache 1.3/(Linux) •

ServerTokens Full Mostrara nombre, version, sistema operativo asi como los servicios que hacen uso del servidor web. Ejemplo://Apache 1.3/(Linux)/PHP3/MySQL Directiva ServerRoot# Esta directiva le indica al servidor web la ubicación donde se almacenan los ficheros de configuración de apache. El valor por defecto es: ServerRoot “/etc/httpd” Si usted quisiera ubicar estos ficheros en otra ruta diferente solo deberá especificarla, aunque no es recomendable Directiva Timeout# Esta directiva indica el número de segundos antes de que se cancele un conexión por falta de respuesta. Su valor por defecto es 120 Timeout 120 Directiva KeepAlive# Esta directiva indica si se permiten o no las conexiones persistentes, es decir más de una petición por conexión. Puede tomar los valores de “On” u “Off”. KeepAlive On|Off Directiva MaxKeepAliveRequests# Esta directiva indica el máximo número de peticiones que se permiten en conexiones persistentes. Un valor 0 permite un número ilimitado. Se recomienda dejar esta valor elevado para obtener un mayor rendimiento. Por ejemplo100

1.

49


UNIDAD 5 APACHE

MaxKeepAliveRequests 100 Directiva KeepAliveTimeout# Esta directiva indica el número de segundos de espera para la siguiente petición del mismo cliente con la misma conexión. Por ejemplo 15 KeepAliveTimeout 15 Directiva Listen# Listen permite asociar Apache a una dirección y/o puerto específico además del predeterminado. Ejemplo: Listen 192.168.1.1:8080 Listen 80}}} Directiva Include# Include conf.d/*.conf Esta directiva indica al servidor web la ruta en donde se encuentran almacenados los ficheros de configuración adicionales de apache como por ejemplo los dominios virtuales. Es habitual dejar el fichero de configuración con las características globales que no se tienen que modificar en el fichero principal e incluir los ficheros que pueden estar sujetos a modificación en el directorio /etc/httpd/conf.d De esta forma para añadir o quitar algún fichero de configuración de apache sólo tenemos que borrarlo del directorio /etc/httpd/conf.d Directiva LoadModule# Esta directiva corresponde al soporte de Dynamic Shared Object (Objetos Dinámicos Compartidos). Son módulos que incorporan ciertas funcionalidades que se le incorporan al servidor Apache. Para que un módulo sea funcional tienen que estar construido como un DSO e incorporar la correspondiente directiva `LoadModule' antes de que se a utilizada. Los módulos compilados de forma estática no es necesario incluirlos. Ejemplo: LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module

1.

50


UNIDAD 5 APACHE

modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so}}} Directiva User# Esta directiva especifica qué usuario es el que ejecuta los procesos del servidor web y en consecuencia los permisos de lectura y escritura que se aplican sobre los recursos. User apache Directiva Group# Esta directiva especifica qué grupo es el que ejecuta los procesos del servidor web y en consecuencia los permisos de lectura y escritura que se aplican sobre los recursos. Group apache Directiva ServerAdmin# Esta directiva especifica la persona a la que se le debe notificar los problemas referentes al portal web , esto a través de su cuenta de correo. Ejemplo: ServerAdmin administrador@tuDominio.net Directiva ServerName# Esta directiva especifica el nombre y puerto que el servidor utiliza para identificarse. Con una correcta configuración, este valor se puede determinar automáticamente, pero es recomendable especificarlo explíciatamente para evitar problemas durante el arranque. ServerName www.tuDominio.net:80 Directiva UseCanonicalName# UseCanonicalName determina como Apache construye las autoreferencias de URL y las variables SERVER_NAME y SERVER_PORT. Cuando está directiva esta como "Off" apache usa los valores suministrados por el cliente. Cuando está como "On" , apache usa la directiva ServerName. UseCanonicalName On|Off}}} Directiva DocumentRoot# Esta directiva indica al servidor web la ruta en donde se encuentran almacenados los ficheros web de tu sitio principal

1.

51


UNIDAD 5 APACHE

DocumentRoot "/var/www/html" NOTA:Esta directiva cambia cuando se implementan sitios virtuales Directiva Options# La directiva Options indica varias posibles opciones de comportamiento y estas pueden ser aplicadas a un directorio concreto. Un claro ejemplo de aplicación de estas directiva se puede observar en el siguiente cuadro: Directory /web/docs> Options Indexes FollowSymLinks </Directory> <Directory /web/docs/spec> Options Includes </Directory>}}} Las opciones que podemos observar se explican con mas detalle en el siguiente cuadro: All

Todas las opciones salvo MultiViews

ExecCGI

Se permite la ejecución de scripts CGI

FollowSymLinks

El servidor seguirá los enlaces simbólicos. Tener esta opción activa aumenta el rendimiento ya que el servidor no comprueba si un fichero o directorio es un enlace simbólico y es más rápido, pero en algunos casos puede presentar problemas de inseguridad.

Includes

Se permiten incluir Server-side.

Indexes

Si una URL solicita un directorio y no existe DirectoryIndex (v.g., index.html) en ese directorio, el servidor devolverá una lista del contenido del directorio.

MultiViews

Se permite mostrar contenido negociado en función de diversos valores.

SymLinksIfOwnerMatch

Se sigue un enlace simbólico sólo si los propietarios del enlace y del destino coinciden.

Directiva AllowOverride# La directiva AllowOverride controla qué directivas se pueden situar el los ficheros .htaccess y estas pueden ser aplicadas igualmente a un directorio concreto. Un claro ejemplo de aplicación de estas directiva se puede observar en el siguiente cuadro: <Directory "/var/www/icons">

1.

52


UNIDAD 5 APACHE

Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>}}} Los valores de AllowOverride pueden ser "All", "None", o una combinación de: Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthConfigAuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc). FileInfo

Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).

Indexes

Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).

Limit

Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).

Options

Permitir el uso de las opciones antes vistas en la directiva Options

Directiva Allow# La directiva Allow indica al sistema los equipos que pueden acceder a una determinada área del servidor. El acceso se puede controlar por nombre, IP, rango de IP, igualmente pueden ser aplicadas a un directorio concreto. El primer argumento de esta directiva es siempre "from". Los siguientes argumentos pueden tener diferentes formas: All permite el acceso a todos los equipos excepto los especificados en Deny y Order que se verá más adelante. Para permitir el acceso a un dominio en especifico solo se deberá especificar el antes mencionado Ejemplo: Allow from linuxparatodos.net También puede aplicarse esa misma regla usando direcciones IP Ejemplo: Allow from 207.249.24.61 Directiva Deny# La directiva Deny indica al sistema los equipos que no podrán acceder al servidor web. El acceso se puede controlar por nombre, IP, rango de IP, igualmente pueden ser aplicadas a un directorio concreto El primer argumento de esta directiva es siempre "from". Los siguientes argumentos pueden tener diferentes formas: Para denegar el acceso a un dominio en especifico solo se deberá especificar el antes mencionado Ejemplo: Deny from microsoft.com También puede aplicarse esa misma regla usando direcciones IP Ejemplo: 1.

53


UNIDAD 5 APACHE

Allow from 207.249.0.60 Directiva Order# Esta directiva trabaja en conjunto con las dos directivas anteriores asi mismo se encarga de controlar el orden en que se ejecutan las antes descritas. Igualmente pueden ser aplicadas a un directorio concreto Ejemplo 1: Order Deny,Allow En este ejemplo se evaluá primero Deny, de esta forma se permite el acceso a cualquier equipo que no este listado en Deny, de esta forma el acceso se garantiza por defecto. Ejemplo 2: Order Allow,Deny En este ejemplo se evaluá primero Allow, de esta forma se niega el acceso a cualquier equipo que no este listado en Allow, de esta forma el acceso se niega por defecto. Directiva Alias# La directiva Alias permite alojar ficheros fuera del directorio especificado en DocumentRoot , igualmente pueden ser aplicadas a un directorio concreto. La sintaxis necesaria para aplicar la directiva Alias es la siguiente: Alias directorioAlternativo “/vaw/www/manual” Ejemplo Alias /home/gerencia “/var/www/gerencia” Directiva ErrorLog# ErrorLog indica la ubicación del fichero de registro de errores en las consultas. Es conveniente especificar un fichero de registro en cada VirtualHost con el nombre asociado a ese servidor. De esta forma podemos separar los registros de los distintos dominios que tengamos albergados en el servidor web. Ejemplo: ErrorLog logs/error_log Directiva ErrorLevel# LogLevel Controla el número de mensajes registrados en error_log. Puede ser: debug, info, notice, warn, error, crit, alert, emerg. Directiva Redirect#

1.

54


UNIDAD 5 APACHE

La directiva Redirect permite indicar al cliente que un documento ha sido modificado o actualizado. Ejemplo: Redirect permanent /portal1 http://www.ies-bezmiliana/portal2 2.1.3 Iniciar , detener o reiniciar el servidor web Apache# Para iniciar el servidor FTP por primera vez solo deberá teclear en terminal el siguiente comando: [root@ localhost ~]# /etc/init.d/httpd start Igualmente existen opciones ya sea para reiniciar, detener, recargar o conocer el status en el que se encuentra el servidor FTP. Estas opciones pueden ser consultadas en la siguiente tabla: start

Inicia el servicio

stop

Detiene el servicio

restart

Reinicia el servicio.-La diferencia con reload radica en que al ejecutar un restart este mata todos los procesos relacionado con el servicio y los vuelve a generar de nueva cuenta

reload

Recarga el servicio.-La diferencia con restart radica en que al ejecutar un reload este solamente carga las actualizaciones hechas al fichero de configuración del servicio sin necesidad de matar los procesos relacionados con el mismo, por lo que podría entenderse que hace el cambio en caliente.

Reinicio Condicional.- Solamente se inicia si el servicio se encuentra condrestart ejecutándose. status

Da a conocer el estado en el que se encuentra el servicio

Como alternativa también podemos ocupar el siguiente comando para iniciar el servidor FTP [root@ localhost ~]# service httpd start Y de igual manera podemos usar las opciones antes descritas en la tabla anterior. Recuerde que estos comandos se ejecutan como root. 2.2

Creación de dominios virtuales en Apache#

La creación de dominios virtuales sobre un servidor web como apache tiene una vital importancia cuando se trata de dar hospedaje a varios sitios web dentro del

1.

55


UNIDAD 5 APACHE

mismo servidor. Lograr implementar de manera correcta los dominios virtuales sobre el servidor web apache es tarea sencilla por lo que le recomendamos primero haber leído todas las directivas que pueden ser aplicadas al fichero httpd.conf A partir de este punto comenzaremos a crear los dominios virtuales, es por ello que pedimos tu total concentración y paciencia para que leas poco a poco estos puntos. 2.2.1 Paso 1.- Activando la directiva NameVirtualHost# El primer paso sera abrir el fichero httpd.conf el cual esta almacenado en la ruta: /etc/httpd/conf/ En dicho fichero debemos localizar la siguiente linea y descomentarla si es que lo esta NameVirtualHost *:80 La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando el servicio o bien insertando un asterisco() para que esté activa en cualquier interfaz del servidor que es como nosotros lo debemos tener. 2.2.2 Paso 2.- Estructura de directorios para dominios virtuales # Lo siguiente sera crear la estructura que contendrá cada uno de los dominios virtuales que serán hospedados en nuestro servidor. Ejemplo: Suponga que tenemos 5 nombres de dominio que serán hospedados en nuestro servidor web www.turbolinux.com.mx www.comerciolinux.com www.escuelalinux.edu www.linuxunido.org www.linuxbloger.net}}} por cada dominio se deberá crear un directorio, dicho directorio sera nombrado de la misma forma que el dominio, solo omitiendo el “www”. [root@ localhost ~]# mkdir turbolinux.com.mx

1.

56


UNIDAD 5 APACHE

[root@ localhost ]# mkdir comerciolinux.com [root@ localhost ]# mkdir escuelalinux.edu [root@ localhost ]# mkdir linuxunido.org [root@ localhost ]# mkdir linuxbloger.net}}} Estos directorios deberán ser creados dentro de la ruta /var/www/ Al final estos directorios deberán quedar de la siguiente manera /var/www/turbolinux.com.mx /var/www/comerciolinux.com /var/www/escuelalinux.edu /var/www/linuxunido.org /var/www/linuxbloger.net}}} Si no están en la ruta antes descrita solo debe moverlos con el comando “mv” Lo siguiente sera crear dentro de cada uno de estos directorios la estructura básica que debe llevar cada uno de estos dominios. Esta estructura estará conformada por cuatro directorios: • • • •

html cgi-bin icons error por lo que deberá crear estos cuatro directorios para cada uno de los directorios de dominio. Ejemplo para el dominio turbolinux.com.mx # mkdir /var/www/turbolinux.com.mx/html 1. mkdir /var/www/turbolinux.com.mx/cgi-bin 2. mkdir /var/www/turbolinux.com.mx/icons 3. mkdir /var/www/turbolinux.com.mx/error}}} y asi para los siguientes restantes dominios. 2.2.3 Paso 3.- Creación y modificación de los ficheros de configuración de los dominios virtuales # Una vez creadas las carpetas de dominios asi como también la estructura de cada uno pasaremos al ultimo paso, crear los ficheros de configuración correspondientes a cada dominio. Nuevamente por cada dominio se deberá crear un fichero de configuración, dicho fichero sera nombrado de la misma forma que el dominio, solo omitiendo el “www”. [root@ localhost ~]# mkdir turbolinux.com.mx.conf [root@ localhost ]# mkdir comerciolinux.com.conf [root@ localhost ]# mkdir escuelalinux.edu.conf [root@ localhost ]# mkdir linuxunido.org.conf [root@ localhost ]#

1.

57


UNIDAD 5 APACHE

mkdir linuxbloger.net.conf}}} Estos directorios deberán ser creados dentro de la ruta /etc/httpd/conf.d/ Al final estos directorios deberán quedar de la siguiente manera<<TableOfContents>> 2.3

Como empezó todo#

El nombre del servidor web apache proviene de la palabra en ingles patchy server que en español se puede entender como servidor parchado, ¿Tal vez te preguntaras, porque parchado?, la explicación es sencilla, el servidor web apache fue conformado por diversos parches del servidor web usado en ese momento, nos referimos al servidor web NCSA el cual era desarrollado en ese entonces por el National Center Supercomputing. El desarrollo del servidor web apache se remonta al lejano año de 1995, dicho desarrollo dio como resultado una especie de versión beta de lo que llegaría a convertirse en la primera versión de apache ya que estaba compuesto en su totalidad por una colección de parches del servidor web NCSA. Fue hasta el año de 1996 cuando fue lanzada la primera versión estable de Apache la cual tenia entre sus principales características la reescritura por completo de su código base, también incluía la carga de módulos en tiempo de ejecución. Meses mas tarde fue lanzada la versión 1.1 la cual tenia como novedad la inclusión de un modulo de autenticacion contra bases de datos. La versión 1.3 de apache vio la luz en el año de 1998 y esta incluía como principal característica soporte para plataformas Windows. Actualmente el servidor web apache se encuentra en su versión 2 e incluye notables mejoras con respecto a versiones anteriores, algunas de ellas son: • • • • •

Modo Híbrido Nuevo sistema de configuración y compilación Soporte nativo para Ipv6 Mensajes de error en diferentes idiomas Mejoras adicionales. Como dato adicional, cabe menciona que apache es el servidor web numero uno a nivel mundial el cual abarca cerca de un 52.26 % del mercado total de Internet desbancando a servidores web como el IIS (Internet Information Server) de Microsoft. Estos cifras pueden ser verificadas visitando el portal de Netcraft: http://news.netcraft.com/ Existe también una fundación dedicada a dar soporte legal y financiero al desarrollo de los proyectos relacionados con Apache , el nombre de esta fundación es Apache Software Foundation, la cual actualmente esta conformada por una comunidad de desarrolladores los cuales día a día contribuyen a la expansión y mejora de proyectos. Entre los proyectos mas destacados de esta fundación podemos encontrar los siguientes: •

Http Server.- Servidor Web Apache

1.

58


UNIDAD 5 APACHE

http://www.apache.org/ •

Jakarta.- Proyectos en el lado del servidor basados en Java http://tomcat.apache.org/ •

mod_perl.- Modulo de apache para la programación dinámica en Perl http://perl.apache.org/ •

SpamAssin.- Sistema de detección de Spam http://spamassassin.apache.org/ 2.4

Proceso de instalación del servidor web Apache#

2.4.1 Instalando el servidor web apache# La instalación del servidor web apache es relativamente sencilla , solo debe teclear en terminal el siguiente comando. [root@ localhost ~]# yum install -y httpd Recuerde que este comando se debe ejecutar como root 2.4.2 Archivos de configuración del servidor web Apache# La configuración del servidor web apache se realizara sobre dos ficheros distintos, uno de configuración general del servidor web apache y otro para indicarle al servidor apache los dominios virtuales que deben ser cargados al sistema. El fichero de configuración principal de apache lo encontramos en la siguiente ruta: /etc/httpd/conf/ La carpeta donde deberán ser añadidos los ficheros de configuración de los dominios virtuales sera en la siguiente ruta: /etc/httpd/conf.d/ 2.4.2.1 Configuración del fichero httpd.conf# La ubicación de este fichero lo encontramos en: /etc/httpd/conf/ -----> httpd.conf El contenido del fichero “httpd.conf” esta compuesto por un gran numero de secciones es por ello que solo describiremos las mas relevantes del mismo, usted po-

1.

59


UNIDAD 5 APACHE

drá habilitar o deshabilitar cada una de las funciones que describiremos según su necesidad. Directiva ServerTokens# Esta directiva limita la cantidad de información que sera mostrada por nuestro servidor web apache como puede ser, la version del servidor web apache que tenemos instalado o los servicios que corren paralelamente con apache como php o MySQL. Para delimitar la cantidad de información mostrada por el sistema existen cuatro opciones: •

ServerTokens ProductOnly Solo mostrara el nombre del servidor web instalado. Ejemplo://Server Apache •

ServerTokens Minimal Muestra el nombre asi como la version de apache instalada. Ejemplo://Server Apache 2.1 •

ServerTokens OS Mostrara el nombre, version y sistema operativo sobre el cual se encuentra montado: Ejemplo://Server Apache 1.3/(Linux) •

ServerTokens Full Mostrara nombre, version, sistema operativo asi como los servicios que hacen uso del servidor web. Ejemplo://Apache 1.3/(Linux)/PHP3/MySQL Directiva ServerRoot# Esta directiva le indica al servidor web la ubicación donde se almacenan los ficheros de configuración de apache. El valor por defecto es: ServerRoot “/etc/httpd” Si usted quisiera ubicar estos ficheros en otra ruta diferente solo deberá especificarla, aunque no es recomendable Directiva Timeout# Esta directiva indica el número de segundos antes de que se cancele un conexión por falta de respuesta. Su valor por defecto es 120 Timeout 120 Directiva KeepAlive# Esta directiva indica si se permiten o no las conexiones persistentes, es decir más de una petición por conexión. Puede tomar los valores de “On” u “Off”.

1.

60


UNIDAD 5 APACHE

KeepAlive On|Off Directiva MaxKeepAliveRequests# Esta directiva indica el máximo número de peticiones que se permiten en conexiones persistentes. Un valor 0 permite un número ilimitado. Se recomienda dejar esta valor elevado para obtener un mayor rendimiento. Por ejemplo100 MaxKeepAliveRequests 100 Directiva KeepAliveTimeout# Esta directiva indica el número de segundos de espera para la siguiente petición del mismo cliente con la misma conexión. Por ejemplo 15 KeepAliveTimeout 15 Directiva Listen# Listen permite asociar Apache a una dirección y/o puerto específico además del predeterminado. Ejemplo: Listen 192.168.1.1:8080 Listen 80}}} Directiva Include# Include conf.d/*.conf Esta directiva indica al servidor web la ruta en donde se encuentran almacenados los ficheros de configuración adicionales de apache como por ejemplo los dominios virtuales. Es habitual dejar el fichero de configuración con las características globales que no se tienen que modificar en el fichero principal e incluir los ficheros que pueden estar sujetos a modificación en el directorio /etc/httpd/conf.d De esta forma para añadir o quitar algún fichero de configuración de apache sólo tenemos que borrarlo del directorio /etc/httpd/conf.d Directiva LoadModule# Esta directiva corresponde al soporte de Dynamic Shared Object (Objetos Dinámicos Compartidos). Son módulos que incorporan ciertas funcionalidades que se le incorporan al servidor Apache. Para que un módulo sea funcional tienen que estar construido como un DSO e incorporar la correspondiente directiva `LoadModule' antes de que se a utilizada. Los módulos compilados de forma estática no es necesario incluirlos. Ejemplo: 1.

61


UNIDAD 5 APACHE

LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so}}} Directiva User# Esta directiva especifica qué usuario es el que ejecuta los procesos del servidor web y en consecuencia los permisos de lectura y escritura que se aplican sobre los recursos. User apache Directiva Group# Esta directiva especifica qué grupo es el que ejecuta los procesos del servidor web y en consecuencia los permisos de lectura y escritura que se aplican sobre los recursos. Group apache Directiva ServerAdmin# Esta directiva especifica la persona a la que se le debe notificar los problemas referentes al portal web , esto a través de su cuenta de correo. Ejemplo: ServerAdmin administrador@tuDominio.net Directiva ServerName# Esta directiva especifica el nombre y puerto que el servidor utiliza para identificarse. Con una correcta configuración, este valor se puede determinar automáticamente, pero es recomendable especificarlo explíciatamente para evitar problemas durante el arranque. ServerName www.tuDominio.net:80 Directiva UseCanonicalName# UseCanonicalName determina como Apache construye las autoreferencias de URL y las variables SERVER_NAME y SERVER_PORT. Cuando está directiva esta como "Off" apache usa los valores suministrados por el cliente. Cuando está como "On" , apache usa la directiva ServerName. UseCanonicalName On|Off}}}

1.

62


UNIDAD 5 APACHE

Directiva DocumentRoot# Esta directiva indica al servidor web la ruta en donde se encuentran almacenados los ficheros web de tu sitio principal DocumentRoot "/var/www/html" NOTA:Esta directiva cambia cuando se implementan sitios virtuales Directiva Options# La directiva Options indica varias posibles opciones de comportamiento y estas pueden ser aplicadas a un directorio concreto. Un claro ejemplo de aplicaciรณn de estas directiva se puede observar en el siguiente cuadro: Directory /web/docs> Options Indexes FollowSymLinks </Directory> <Directory /web/docs/spec> Options Includes </Directory>}}} Las opciones que podemos observar se explican con mas detalle en el siguiente cuadro: All

Todas las opciones salvo MultiViews

ExecCGI

Se permite la ejecuciรณn de scripts CGI

FollowSymLinks

El servidor seguirรก los enlaces simbรณlicos. Tener esta opciรณn activa aumenta el rendimiento ya que el servidor no comprueba si un fichero o directorio es un enlace simbรณlico y es mรกs rรกpido, pero en algunos casos puede presentar problemas de inseguridad.

Includes

Se permiten incluir Server-side.

Indexes

Si una URL solicita un directorio y no existe DirectoryIndex (v.g., index.html) en ese directorio, el servidor devolverรก una lista del contenido del directorio.

MultiViews

Se permite mostrar contenido negociado en funciรณn de diversos valores.

SymLinksIfOwnerMatch

Se sigue un enlace simbรณlico sรณlo si los propietarios del enlace y del destino coinciden.

Directiva AllowOverride# La directiva AllowOverride controla quรฉ directivas se pueden situar el los ficheros .htaccess y estas pueden ser aplicadas igualmente a un directorio concreto. Un

1.

63


UNIDAD 5 APACHE

claro ejemplo de aplicación de estas directiva se puede observar en el siguiente cuadro: <Directory "/var/www/icons"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>}}} Los valores de AllowOverride pueden ser "All", "None", o una combinación de: Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthConfigAuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc). FileInfo

Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).

Indexes

Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).

Limit

Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).

Options

Permitir el uso de las opciones antes vistas en la directiva Options

Directiva Allow# La directiva Allow indica al sistema los equipos que pueden acceder a una determinada área del servidor. El acceso se puede controlar por nombre, IP, rango de IP, igualmente pueden ser aplicadas a un directorio concreto. El primer argumento de esta directiva es siempre "from". Los siguientes argumentos pueden tener diferentes formas: All permite el acceso a todos los equipos excepto los especificados en Deny y Order que se verá más adelante. Para permitir el acceso a un dominio en especifico solo se deberá especificar el antes mencionado Ejemplo: Allow from linuxparatodos.net También puede aplicarse esa misma regla usando direcciones IP Ejemplo: Allow from 207.249.24.61 Directiva Deny# La directiva Deny indica al sistema los equipos que no podrán acceder al servidor web. El acceso se puede controlar por nombre, IP, rango de IP, igualmente pueden ser aplicadas a un directorio concreto El primer argumento de esta directiva es siempre "from". Los siguientes argumentos pueden tener diferentes formas: Para

1.

64


UNIDAD 5 APACHE

denegar el acceso a un dominio en especifico solo se deberá especificar el antes mencionado Ejemplo: Deny from microsoft.com También puede aplicarse esa misma regla usando direcciones IP Ejemplo: Allow from 207.249.0.60 Directiva Order# Esta directiva trabaja en conjunto con las dos directivas anteriores asi mismo se encarga de controlar el orden en que se ejecutan las antes descritas. Igualmente pueden ser aplicadas a un directorio concreto Ejemplo 1: Order Deny,Allow En este ejemplo se evaluá primero Deny, de esta forma se permite el acceso a cualquier equipo que no este listado en Deny, de esta forma el acceso se garantiza por defecto. Ejemplo 2: Order Allow,Deny En este ejemplo se evaluá primero Allow, de esta forma se niega el acceso a cualquier equipo que no este listado en Allow, de esta forma el acceso se niega por defecto. Directiva Alias# La directiva Alias permite alojar ficheros fuera del directorio especificado en DocumentRoot , igualmente pueden ser aplicadas a un directorio concreto. La sintaxis necesaria para aplicar la directiva Alias es la siguiente: Alias directorioAlternativo “/vaw/www/manual” Ejemplo Alias /home/gerencia “/var/www/gerencia” Directiva ErrorLog# ErrorLog indica la ubicación del fichero de registro de errores en las consultas. Es conveniente especificar un fichero de registro en cada VirtualHost con el nombre asociado a ese servidor. De esta forma podemos separar los registros de los distintos dominios que tengamos albergados en el servidor web. Ejemplo: ErrorLog logs/error_log

1.

65


UNIDAD 5 APACHE

Directiva ErrorLevel# LogLevel Controla el número de mensajes registrados en error_log. Puede ser: debug, info, notice, warn, error, crit, alert, emerg. Directiva Redirect# La directiva Redirect permite indicar al cliente que un documento ha sido modificado o actualizado. Ejemplo: Redirect permanent /portal1 http://www.ies-bezmiliana/portal2 2.4.3 Iniciar , detener o reiniciar el servidor web Apache# Para iniciar el servidor FTP por primera vez solo deberá teclear en terminal el siguiente comando: [root@ localhost ~]# /etc/init.d/httpd start Igualmente existen opciones ya sea para reiniciar, detener, recargar o conocer el status en el que se encuentra el servidor FTP. Estas opciones pueden ser consultadas en la siguiente tabla: start

Inicia el servicio

stop

Detiene el servicio

restart

Reinicia el servicio.-La diferencia con reload radica en que al ejecutar un restart este mata todos los procesos relacionado con el servicio y los vuelve a generar de nueva cuenta

reload

Recarga el servicio.-La diferencia con restart radica en que al ejecutar un reload este solamente carga las actualizaciones hechas al fichero de configuración del servicio sin necesidad de matar los procesos relacionados con el mismo, por lo que podría entenderse que hace el cambio en caliente.

Reinicio Condicional.- Solamente se inicia si el servicio se encuentra condrestart ejecutándose. status

Da a conocer el estado en el que se encuentra el servicio

Como alternativa también podemos ocupar el siguiente comando para iniciar el servidor FTP [root@ localhost ~]# service httpd start

1.

66


UNIDAD 5 APACHE

Y de igual manera podemos usar las opciones antes descritas en la tabla anterior. Recuerde que estos comandos se ejecutan como root. 2.5

Creación de dominios virtuales en Apache#

La creación de dominios virtuales sobre un servidor web como apache tiene una vital importancia cuando se trata de dar hospedaje a varios sitios web dentro del mismo servidor. Lograr implementar de manera correcta los dominios virtuales sobre el servidor web apache es tarea sencilla por lo que le recomendamos primero haber leído todas las directivas que pueden ser aplicadas al fichero httpd.conf A partir de este punto comenzaremos a crear los dominios virtuales, es por ello que pedimos tu total concentración y paciencia para que leas poco a poco estos puntos. 2.5.1 Paso 1.- Activando la directiva NameVirtualHost# El primer paso sera abrir el fichero httpd.conf el cual esta almacenado en la ruta: /etc/httpd/conf/ En dicho fichero debemos localizar la siguiente linea y descomentarla si es que lo esta NameVirtualHost *:80 La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando el servicio o bien insertando un asterisco() para que esté activa en cualquier interfaz del servidor que es como nosotros lo debemos tener. 2.5.2 Paso 2.- Estructura de directorios para dominios virtuales # Lo siguiente sera crear la estructura que contendrá cada uno de los dominios virtuales que serán hospedados en nuestro servidor. Ejemplo: Suponga que tenemos 5 nombres de dominio que serán hospedados en nuestro servidor web www.turbolinux.com.mx

1.

67


UNIDAD 5 APACHE

www.comerciolinux.com www.escuelalinux.edu www.linuxunido.org www.linuxbloger.net}}} por cada dominio se deberá crear un directorio, dicho directorio sera nombrado de la misma forma que el dominio, solo omitiendo el “www”. [root@ localhost ~]# mkdir turbolinux.com.mx [root@ localhost ]# mkdir comerciolinux.com [root@ localhost ]# mkdir escuelalinux.edu [root@ localhost ]# mkdir linuxunido.org [root@ localhost ]# mkdir linuxbloger.net}}} Estos directorios deberán ser creados dentro de la ruta /var/www/ Al final estos directorios deberán quedar de la siguiente manera /var/www/turbolinux.com.mx /var/www/comerciolinux.com /var/www/escuelalinux.edu /var/www/linuxunido.org /var/www/linuxbloger.net}}} Si no están en la ruta antes descrita solo debe moverlos con el comando “mv” Lo siguiente sera crear dentro de cada uno de estos directorios la estructura básica que debe llevar cada uno de estos dominios. Esta estructura estará conformada por cuatro directorios: • • • •

html cgi-bin icons error por lo que deberá crear estos cuatro directorios para cada uno de los directorios de dominio. Ejemplo para el dominio turbolinux.com.mx # mkdir /var/www/turbolinux.com.mx/html 1. mkdir /var/www/turbolinux.com.mx/cgi-bin 2. mkdir /var/www/turbolinux.com.mx/icons 3. mkdir /var/www/turbolinux.com.mx/error}}} y asi para los siguientes restantes dominios. Paso 3Creación y modificación de los ficheros de configuración de los dominios virtuales # Una vez creadas las carpetas de dominios asi como también la estructura de cada uno pasaremos al ultimo paso, crear los ficheros de configuración correspondientes a cada dominio. Nuevamente por cada dominio se deberá crear un fichero de configuración, dicho fichero sera nombrado de la misma forma que el dominio, solo omitiendo el “www”.

1.

68


UNIDAD 5 APACHE

[root@ localhost ~]# mkdir turbolinux.com.mx.conf [root@ localhost ]# mkdir comerciolinux.com.conf [root@ localhost ]# mkdir escuelalinux.edu.conf [root@ localhost ]# mkdir linuxunido.org.conf [root@ localhost ]# mkdir linuxbloger.net.conf}}} Estos directorios deberán ser creados dentro de la ruta /etc/httpd/conf.d/ Al final estos directorios deberán quedar de la siguiente manera /etc/httpd/conf.d/turbolinux.com.mx.conf /etc/httpd/conf.d/comerciolinux.com.conf /etc/httpd/conf.d/escuelalinux.edu.conf /etc/httpd/conf.d/linuxunido.org.conf /etc/httpd/conf.d/linuxbloger.net.conf}}} Si no están en la ruta antes descrita solo debe moverlos con el comando “mv”. Lo siguiente sera crear dentro de cada uno de estos ficheros la estructura básica que deben contener para que puedan ser leídos por el fichero principal de configuración de apache, nos referimos al fichero “httpd.conf”. Esta estructura estará conformada por la siguiente configuración básica: Ejemplo de configuración para el dominio turbolinux.com.mx <VirtualHost *:80> ServerAdmin administrador@tuDominio.net DocumentRoot "/var/www/turbolinux.com.mx/html" ServerName www. turbolinux.com.mx ServerAlias turbolinux.com.mx </VirtualHost>}}} Los parámetros usados son descritos en la siguiente tabla:

VirtualHost

La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando o bien insertando un asterisco() para que esté activa en cualquier interfaz del servidor que es como nosotros lo debemos tener.

Esta directiva especifica la persona a la que se le debe notificar los ServerAdmin problemas referentes al portal web , esto a través de su cuenta de correo. Esta directiva indica al servidor web la ruta en donde se encuentran DocumentRoot almacenados los ficheros web de tu sitio principal. ServerName

1.

Esta directiva especifica el nombre y puerto que el servidor utiliza para identificarse. Con una correcta configuración, este valor se puede determinar automáticamente, pero es recomendable especi-

69


UNIDAD 5 APACHE

ficarlo explíciatamente para evitar problemas durante el arranque. ServerAlias

Esta directiva sirve para que el mismo sitio web sea accesible desde distintos nombres de dominio. Ejemplo: turbolinux.com.mx ---> www.turbolinux.com.mx

/etc/httpd/conf.d/turbolinux.com.mx.conf /etc/httpd/conf.d/comerciolinux.com.conf /etc/httpd/conf.d/escuelalinux.edu.conf /etc/httpd/conf.d/linuxunido.org.conf /etc/httpd/conf.d/linuxbloger.net.conf}}} Si no están en la ruta antes descrita solo debe moverlos con el comando “mv”. Lo siguiente sera crear dentro de cada uno de estos ficheros la estructura básica que deben contener para que puedan ser leídos por el fichero principal de configuración de apache, nos referimos al fichero “httpd.conf”. Esta estructura estará conformada por la siguiente configuración básica: Ejemplo de configuración para el dominio turbolinux.com.mx <VirtualHost *:80> ServerAdmin administrador@tuDominio.net DocumentRoot "/var/www/turbolinux.com.mx/html" ServerName www. turbolinux.com.mx ServerAlias turbolinux.com.mx </VirtualHost>}}} Los parámetros usados son descritos en la siguiente tabla:

VirtualHost

La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando o bien insertando un asterisco() para que esté activa en cualquier interfaz del servidor que es como nosotros lo debemos tener.

Esta directiva especifica la persona a la que se le debe notificar los ServerAdmin problemas referentes al portal web , esto a través de su cuenta de correo. Esta directiva indica al servidor web la ruta en donde se encuenDocumentRoot tran almacenados los ficheros web de tu sitio principal.

ServerName

Esta directiva especifica el nombre y puerto que el servidor utiliza para identificarse. Con una correcta configuración, este valor se puede determinar automáticamente, pero es recomendable especificarlo explíciatamente para evitar problemas durante el arranque.

ServerAlias

Esta directiva sirve para que el mismo sitio web sea accesible desde distintos nombres de dominio. Ejemplo: turbolinux.com.mx ---> www.turbolinux.com.mx

1.

70


UNIDAD 5 APACHE

TEMA 5.5 SORFTWARE PARA SERVIDORES WEB Y COMPATIBILIDAD CON S.O Ubuntu Server Edition Ubuntu Server Edition es una distribuci贸n especial del famoso Linux, el cual viene con todos los paquetes preinstalados que son necesarios para montar un servidor, incluye el conjunto LAMP (linux+Apache+MySQL+PHP) para montar sitios poderosos y robustos. Es completamente gratis y lo puedes descargar desde su pagina oficial. http://www.ubuntu.com/products/whatisub ... veredition

AppServ AppServ es una suite de herramientas imprescindibles para comenzar a utilizar gestores de contenidos como PHP-Nuke, Joomla o WordPress. AppServ instalar谩 en tu ordenador en tan s贸lo unos segundos Apache, PHP, MySQL y phpMyAdmin, dejando las aplicaciones configuradas para su funcionamiento inmediato. Una vez instalado AppServ, dispondremos de un servidor web y otro de base de datos propio, configurado de manera local, y que nos permitir谩 realizar todas las pruebas necesarias en nuestra web antes de lanzarla a la red. Podeis descargarlo gratuitamente desde la pagina oficial http://www.appservnetwork.com/

XAMPP * Apache * MySQL * PHP 5.1.6 & PHP * phpMyAdmin * FileZilla FTP Server * OpenSSL

1.

71


UNIDAD 5 APACHE

los 10 mejores hosting de alojamiento web gratis en nuestra opinión, que ofrecen los mejores servicios de alojamiento web gratis en cuanto a las características que ofrece y atención al cliente. Empezamos con las características más deseables y mejores funciones que puede ofrecer un alojamiento web gratis: •

Alojamiento web gratis sin publicidad es sinónimo de un servicio de alojamiento web o proveedor que no añade anuncios (banners, pop-ups, enlaces de texto, etc) a las páginas web gratuitas y sitios web que se albergan de forma gratuita. Alojamiento web con nombre de dominio gratuíto representa proveedores de hosting que permiten a los clientes alojar sus propios nombres de dominio a las páginas alojadas en sus servidores sin costo adicional. Hosting con dominio gratis también puede referirse a los servicios que proporcionan un nombre de dominio gratuito incluido en su plan de alojamiento web gratuito. Hosting gratuito con PHP y MySQL significa que el proveedor de servicios de alojamiento web gratis ofrece la posibilidad de ejecutar aplicaciones PHP y la posibilidad de tener una base de datos MySQL en sus servidores.

En cuanto a los mejores proveedores de alojamiento web gratuito , te recomendamos revisar la siguiente lista de los 10 mejores proveedores de alojamiento gratis para alojar su sitio web gratis, así como blogs, foros, galería de imágenes, etc: 1. Biz.nf (PHP, MySQL, WordPress, Joomla, dominio gratis . co.nf, sin anuncios) 2. Free Hosting UE (Blog / Sitio, Sin publicidad, gratis dominio gratis . eu.pn) 3. AwardSpace.com (PHP, MySQL, envío de mails, sin publicidad, subdominio gratis) 4. Biz.ly (Blog / Sitio, Álbum de fotos, dominio gratis . biz.ly) 5. FreeHostia.com (PHP, MySQL, sin anuncios, subdominio gratuito) 6. Wix.com (constructor de páginas para móviles o en flash, blogs, etc) 7. ByetHost.com (PHP, MySQL, phpBB, SMF, Wiki, subdominio gratis) 8. x10Hosting.com (Soporte cPanel , PHP, FTP, Sin publicidad, subdominio gratis) 9. Yola.com (constructor visual del sitio web, agregar videos, fotos, carrito de la compra) 10. Webs.com (constructor de sitios fácil, blog, formularios, encuestas, subdominio gratis)

1.

72


UNIDAD 5 APACHE

ATOM Intel Atom 330 1.60GHz Dual Core 1M Cache1GB DDR2 800MhzDisco duro de 250GB Sata2 7.2K RPM1000GB$ 29$ 79 1 mes

Core i3 Intel Core i3 530 2.93GHz Dual Core 4M Cache2GB DDR3 Reg ECC 1333MHzDisco duro de 320GB Sata2 7.2K RPM2000GB$ 29$ 119 1 mes

Servidor DELL D-Corei3 Intel Core i3 2100 3.1GHz Dual Core 3M Cache2GB (DDR3 1333MHz)Disco de 500GB Sata3 a 7.2K RPM2000GB$ 49$ 129 1 mes

Servidor DELL D-E31200 Intel Xeon E3 1220 3.1GHz Quad Core 8M Cache4GB DDR3 Reg ECC 1333MHzDisco de 1TB Sata3 a 7.2K RPM3000GB$ 69$ 179 1 mes

Dual E-5520 Doble Intel Xeon E5520 2.26GHz Dual Quad Core 2x8M Cache16GB (DDR3 Reg ECC 1333MHz)250GB Sata2 7.2KRPM Hotswap4000GB$ 69$ 239 4 meses

1.

73


UNIDAD 5 APACHE

Servidor DELL D-E5645 Doble Intel Xeon E5645 2.4GHz Dual Hex Core 2x12M Cache24GB (DDR3 Advanced ECC 1333MHz)Disco de 1TB Sata3 a 7.2K RPM4000GB$ 99$ 479 6 meses

Dual E5620 raid Doble Intel Xeon E5620 Quad Core 2.4GHz 2x12M Cache16GB (DDR3 Reg ECC 1333MHz)3TB R5 o 2TB R10 4 Discos de 1TB Sata3 7.2K RPM4000GB/mes transfer$ 99$ 499 4 meses

Dual E5-2430 Doble Intel Xeon E5 2430 2.20GHz Dual Hex Core 2x15M Cache16GB (DDR3 Reg ECC 1333MHz)(1x) Disco de 1TB Sata3 7.2k RPM HotPlug4000GB$ 299$ 589 6 meses

1.

74


UNIDAD 5 APACHE

CONCLUSIÓN

El Apache Web Server es una excelente opción a la hora de escoger montar un Servidor Web, su característica open-source lo hace asequible a toda persona (dado que es gratis). Su robustez y desempeño de alta calidad (comparable con servidores Web de estilo comercial) lo hacen la mejor de las opciones a la hora de escoger un servidor Web de alta calidad, buen desempeño y costo nulo. Con esto queremos decir que solo la compra del equipo (hardware) seria nuestra única inversión a la hora de ubicar los servidores Web se nuestro Site de Internet. El ser de libre uso lo hace extremadamente configurable y expandidle, además su forma de programación por módulos es extremadamente útil dado que podemos configurar así un servidor Web que responda a nuestras necesidades (tanto de hardware como de software) básicas primordiales y luego en un futuro expandir el mismo según el crecimiento del trafico en nuestro sitio Web. En cuanto a la configuración es deseable algún tipo de mejora grafica en cuanto a la facilidad de ejecutar esta tarea (el desarrollo de un Front Grafico seria muy buena idea). La configuración es un tanto tediosa y difícil dada la gran cantidad de opciones que presenta el Servidor Web Apache, además su manera de configuración (por texto plano y con muchas directivas de explicación in entendible) hace muy difícil su entendimiento, generando en la mayoría de los casos costos extras en su mantenimiento ya que es necesario la contratación de personal altamente calificado para esta tarea. El proceso de configuración como decíamos antes es algo muy tedioso que puede tornarse en un dolor de cabeza muy grande para cualquier usuario que no este familiarizado con la configuración del mismo. Pero este punto negativo podemos contrarrestarlo con el gran soporte que posee el software de Apache en cuanto a documentación, tutoriales y reporte de bugs, con los cuales podemos empezar a facilitar y entender el funcionamiento del software. Su característica de desarrollo colaborativo y el gran uso que posee en la red (mas de un 64%) hacen que este en constante desarrollo gracias a la contribución de miles de Webmasters alrededor del mundo que día a día colaboran con mejoras, módulos, reportes de bugs y muchas otras cosas que hacen del Apache Web Server la mejor opción cuando se desea implementar un Sitio Web de bajo costo, alto desempeño, escalable y de gran compatibilidad.

1.

75


UNIDAD 5 APACHE

BIBLIOGRAFIA http://www.desarrolloweb.com/articulos/1496.php http://acsblog.es/articulos/trunk/LinuxActual/Apache/html/x31.html http://www.webtaller.com/maletin/articulos/seguridad-apache-2.php http://www.ivemfinity.com/foro/herramientas-y-recursos-webmasters/programaspara-montar-servidores-web-t1478.html http://www.vrasoluciones.com.mx/Solutionssx.html?gclid=CNbqwZKurcCFYLm7AodTnsAZA http://www.masadelante.com/faqs/servidor-web http://www.josecriado.com/hosting-alojamiento-web/caracteristicas-de-un-servidorweb/ http://www.tendencias21.net/La-virtualizacion-de-los-servidores-sera-la-tecnologiadominante-en-tres-anos_a1816.html https://www.internetworks.com.mx/servidores-dedicados/ http://www.spip.net/es_article2650.html http://unaaldia.hispasec.com/2002/11/parches-acumulativos-para-iis-40-50-y.html http://es.scribd.com/doc/83122571/Cuadro-Comparativo-Apache-IIS

1.

76


UNIDAD 5 APACHE

1.

77


Apache Server Unidad 5