Diferencia entre revisiones de «Servidor Apache»

 
(No se muestran 6 ediciones intermedias de 4 usuarios)
Línea 1: Línea 1:
{{Aplicación|nombre=El servidor HTTP Apache|logo=Apache1.gif|descripcion=Servidor web de mayor implantación|creador=Tim Berners Lee|fecha_de_creacion=|sitio_web=}}'''El servidor HTTP Apache'''. Una de las aplicaciones estrella del mundo del [[Software libre]], ya que es el servidor web de mayor implantación según la encuesta que realiza en tiempo real Netcraft:server-survey-august:03. Así, en mayo de [[1999]] el 57% de los servidores web corrían bajo apache, mientras que en mayo de [[2003]] el porcentaje ha aumentado hasta el 68%. Apache está disponible para todos los sabores de [[UNIX]] (BSD, GNU/Linux, Solaris,...), Microsoft Windows y otras plataformas minoritarias.
+
#REDIRECCIÓN [[servidor HTTP Apache]]
  
 
+
[[Categoría: Redirecciones]]
 
+
<!--==Fuentes==-->
== Historia  ==
 
 
 
En marzo de [[1989]] [[Tim Berners Lee]], un científico inglés que trabaja en el [[CERN]] (Suiza) propone un nueva forma de gestionar la ingente cantidad de información de los proyectos del CERN.
 
 
 
Se trata de una red de documentos hiper enlazados (hipertexto tal y como [[Ted Nelson]] lo denominó ya en [[1965]]); estaba naciendo el WWW. Hubo que esperar hasta noviembre de [[1990]] hasta que el primer software WWW vio la luz: en un paquete llamado [[WorldWideWeb]] se incluía un navegador web de interfaz gráfica y un editor WYSIWYG (What You See Is What You Get - lo que ve en la pantalla es lo que obtiene como resultado).
 
 
 
Dos años después, la lista de servidores WWW contaba con una treintena de entradas, entre los cuales ya se encontraba el NCSA HTTPd. La verdadera historia de Apache comienza cuando en marzo de [[1995]], [[Rob McCool]]abandona el NCSA. Apache 0.2 vería la luz el 18 de marzo de 1995 basado en el servidor NCSA httpd 1.3 realizado por el propio [[Rob McCool]] durante su estancia en NCSA.
 
 
 
Durante esos primeros meses, Apache era una colección de parches aplicados al servidor NCSA, hasta que [[Robert Thau lanzara Shambhala 0.1]], una reimplementación casi completa que ya incluía [[La API]] para los módulos que ha resultado ser tan exitosa.
 
 
 
Nota: El nombre del proyecto Apache se debe a la filosofía de desarrollo y de organización. Al igual que la tribu de los apaches, los desarrolladores de Apache decidieron que su forma organizativa debía fundamentarse en los méritos personales de los desarrolladores para con el resto de la comunidad Apache.
 
 
 
Se ha extendido, sin embargo, la leyenda de que el nombre Apache en realidad se debe a que en los primeros tiempos no dejaba de ser un servidor NCSA parcheado, en inglés a [[Patchy Server]]. Habría que esperar a enero de [[1996]] para poder disfrutar de la primera versión estable de Apache, la Apache 1.0, que incluía la carga de módulos en tiempo de ejecución a modo de pruebas además de otras funcionalidades interesantes. Los primeros meses de ese año fueron especialmente fructíferos para el proyecto, ya que la versión 1.1 se publicó apenas dos meses después contando con módulos de autentificación contra bases de datos (como [[MySQL]]).
 
 
 
Desde entonces hasta la actualidad, los hitos más grandes del proyecto han sido la total conformidad con el estándar HTTP 1.1 (incluido en abril de [[1997]] en Apache 1.2), la inclusión de la plataforma [[Windows NT]] (que comenzó ya en julio de [[1997]] con las versiones en pruebas de Apache 1.3), la unificación de los archivos de configuración en uno solo (habría que esperar a octubre de [[1998]] ya Apache 1.3.3 para ello) y el lanzamiento, todavía en pruebas, de la siguiente generación de Apache, Apache 2.
 
 
 
Entremedias, en junio de [[1998]], [[IBM]] decidió que el motor tras su producto [[WebSphere]] fuera Apache en lugar de desarrollar un servidor HTTP propio. Esto se vio como un gran espaldarazo por parte del gigante azul al proyecto Apache y al software libre en general, aunque para facilitar este hecho hubiera que cambiar ligeramente la licencia Apache original.
 
 
 
== Desarrollo  ==
 
 
 
El servidor HTTP Apache es el proyecto central dentro de los muchos que gestiona la Apache Software Foundation. El diseño modular de Apache ha permitido que exista una serie de proyectos satélite -algunos incluso más grandes en tamaño que el propio Apache- alrededor de Apache.
 
 
 
De esta forma, el servidor HTTP Apache contiene el núcleo del sistema con las funcionalidades básicas, mientras las funcionalidades adicionales las aportan los diferentes módulos.
 
 
 
Los módulos más conocidos son [[Mod perl]] (un intérprete del lenguaje de guión Perl empotrado en el servidor web) y [[Yakarta]] (un potente servidor de aplicaciones). En los siguientes párrafos, se va a describir solamente el proceso de desarrollo seguido para el servidor HTTP, sin tener en cuenta los demás módulos, que pueden tener modelos parecidos o no.
 
 
 
El desarrollo del servidor HTTP Apache se fundamenta en el trabajo de un reducido grupo de desarrolladores denominado [[Apache Group]]. El Apache Group lo constituyen aquellos desarrolladores que han colaborado durante un periodo prolongado de tiempo, generalmente más de seis meses.
 
 
 
Después de ser nominado de un miembro del Apache Group para formar parte del mismo, se vota entre todos los miembros del Apache Group. En sus comienzos, el Apache Group constaba de ocho desarrolladores, luego de doce y en la actualidad cuenta con 25 personas.
 
 
 
Sobre el Apache Group recae la responsabilidad de la evolución del servidor web y, por tanto, las decisiones puntuales de desarrollo en cada momento. Hay que diferenciar al Apache Group del núcleo de desarrolladores ([[Core group]]) activo en cada momento. El carácter voluntario de la mayoría de los desarrolladores hace que sea improbable que todos los que componen el Apache Group puedan estar activos todo el tiempo, por lo que el core se define como aquéllos que en un espacio de tiempo pueden ocuparse de las tareas en Apache. En líneas generales, las decisiones que han de tomar los desarrolladores pertenecientes al núcleo se limitan a votar la inclusión de código -aunque esto se reserve en realidad sólo para grandes cambios- y para cuestiones de diseño. Por otra parte, en general suelen tener derecho de escritura en el repositorio CVS, por lo que sirven como puerta de entrada del código asegurando que sea correcto y su calidad.
 
 
 
== '''Radiografía de Apache'''  ==
 
 
 
Las cifras que se exponen a continuación corresponden a la versión del servidor HTTP Apache tal y como se podía descargar del servidor CVS del proyecto Apache el [[18 de abril]] de [[2003]].
 
 
 
No se han tenido en cuenta ninguno de los numerosos módulos con los que cuenta el proyecto Apache. Como se puede observar, Apache es un proyecto relativamente pequeño en comparación con los demás casos de estudios considerados en este capítulo. Aunque se ha comentado con anterioridad en este capítulo, es importante hacer hincapié en la modularidad de Apache que permite precisamente esto: que el núcleo sea pequeño y manejable.
 
 
 
El repositorio CVS del proyecto Apache que contiene el núcleo del servidor web y muchos módulos adicionales alberga en total más de cuatro millones de líneas de código fuente, una cifra ligeramente inferior a proyectos como KDE y GNOME. La versión 1.3 de Apache contaba con poco más de 85.000 líneas de código fuente, una cifra que según el modelo [[COCOMO]] requeriría un esfuerzo de desarrollo de 20 desarrolladores a tiempo completo en media durante un año y medio.
 
 
 
El coste total del proyecto rondaría entonces los cuatro millones de dólares. En la elaboración del servidor web de Apache se cuentan hasta 60 commiters diferentes, mientras que el número de desarrolladores que han aportado se calcula que ronda los 400.
 
 
 
== Análisis y Lenguaje de Programación  ==
 
 
 
Análisis de Apache. Página Web http://www.apache.org<br>Inicio del proyecto 1995<br>Licencia Apache Free Software License<br>Versión analizada 2.2.4<br>Líneas de código fuente 225.065<br>Número de ficheros 2.807<br>Estimación de coste 7.971.958 $<br>Estimación de tiempo de ejecución 2,52 años (30,27 meses)<br>Estimación de número medio de desarrolladores 23,4<br>Número aproximado de desarrolladores 60 commiters (400 desarrolladores)<br>Herramientas de ayuda al desarrollo CVS, listas de correo, sistema de notificación de errores<br>Apache 1.3 está escrito casi íntegramente en el lenguaje C, siendo la presencia de otros lenguajes de programación escasa, sobre todo si tenemos en cuenta que la gran mayoría de las líneas escritas en el segundo lenguaje, shell, corresponden a ficheros de configuración y de ayuda a la compilación.
 
 
 
Lenguajes de programación utilizados en Apache
 
 
 
{| cellspacing="1" cellpadding="1" border="1" style="width: 379px; height: 140px;"
 
|-
 
| '''Lenguaje de programación'''
 
| '''Líneas de código'''
 
| '''Porcentaje'''
 
|-
 
| C
 
| 208866
 
| 92.8%
 
|-
 
| Shell
 
| 12796
 
| 5.69%
 
|-
 
| Perl
 
| 1649
 
| 0.73%
 
|-
 
| Awk
 
| 874
 
| 0.39%
 
|}
 
 
 
== Fuente  ==
 
 
 
*[http://www.atenas.cult.cu/rl/informatica/manuales/sl/introduccion_al_SL/apache.html atenas.cult]
 
 
 
[[Category:Software_de_ordenadores]]
 

última versión al 07:37 21 jun 2020