You are on page 1of 21

MARCO TEORICO

1. EL SOFTWARE LIBRE

El software libre respeta la libertad de los usuarios sobre el producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente.

El software libre suele estar disponible gratuitamente, o al precio de costo de la distribucin a travs de otros medios; sin embargo no es obligatorio que sea as, por lo tanto no hay que asociar software libre a software gratuito.

El desarrollo de este proyecto se lleva a cabo con un conjunto software con la licencia anteriormente sealada.

Para

la

edicin

de

lenguaje

de

programacin

se

utiliz

ADOBE

DREAMWEAVER, lenguaje de programacin PHP, base de datos MySQL, servidor Web Apache HTTP Server en donde estar alojado el sitio Web.

A continuacin se especifica cada uno de estos software anteriormente mencionados.

2. ADOBE DREAMWEAVER (Editor de programacin) es una aplicacin en forma de suite (basada en la forma de estudio de Adobe Flash) que est destinada a la construccin, diseo y edicin de sitios y aplicaciones Web basados en estndares. Creado inicialmente por Macromedia (actualmente producido por Adobe Systems) es el programa ms utilizado en el sector del diseo y la programacin web, por sus funcionalidades, su integracin con otras herramientas como Adobe Flash y, recientemente, por su soporte de los estndares del World Wide Web Consortium. Su principal competidor es Microsoft Expression Web y tiene soporte tanto para edicin de imgenes como para animacin a travs de su integracin con otras. Hasta la versin MX, fue duramente criticado por su escaso soporte de los estndares de la web, ya que el cdigo que generaba era con frecuencia slo vlido para Internet Explorer y no validaba como HTML estndar. Esto se ha ido corrigiendo en las versiones recientes. Se vende como parte de la suite Adobe Creative Suite. La gran ventaja de este editor sobre otros es su gran poder de ampliacin y personalizacin del mismo, puesto que en este programa, sus rutinas (como la de insertar un hipervnculo, una imagen o aadir un comportamiento) estn hechas en Javascript-C, lo que le ofrece una gran flexibilidad en estas materias. Esto hace que los archivos del programa no sean instrucciones de C++ sino rutinas de Javascript que hace que sea un programa muy fluido, que todo ello hace, que programadores y editores web hagan extensiones para su programa y lo ponga a su gusto. Las versiones originales de la aplicacin se utilizaban como simples editores WYSIWYG. Sin embargo, versiones ms recientes soportan otras tecnologas web como CSS, JavaScript y algunos frameworks del lado servidor. Dreamweaver ha tenido un gran xito desde finales de los aos 1990 y actualmente mantiene el 90% del mercado de editores HTML. Esta aplicacin est disponible tanto para la plataforma MAC como para Windows, aunque tambin se puede ejecutar en plataformas basadas en UNIX utilizando programas que implementan las API's de Windows, tipo Wine. Como editor WYSIWYG que es, Dreamweaver permite ocultar el cdigo HTML de cara al usuario, haciendo posible que alguien no entendido pueda crear pginas y sitios web fcilmente sin necesidad de escribir cdigo.

Algunos desarrolladores web criticaban esta propuesta ya que crean pginas HTML ms largas de lo que solan ser al incluir mucho cdigo intil, lo cual va en detrimento de la ejecucin de las pginas en el navegador web. Esto puede ser especialmente cierto ya que la aplicacin facilita en exceso el diseo de las pginas mediante tablas. Adems, algunos desarrolladores web han criticado Dreamweaver en el pasado porque creaba cdigo que no cumpla con los estndares del consorcio Web (W3C). No obstante, Adobe ha aumentado el soporte CSS y otras maneras de disear pginas sin tablas en versiones posteriores de la aplicacin, haciendo que se reduzca el exceso de cdigo. Dreamweaver permite al usuario utilizar la mayora de los navegadores Web instalados en su ordenador para previsualizar las pginas web. Tambin dispone de herramientas de administracin de sitios dirigidas a principiantes como, por ejemplo, la habilidad de encontrar y reemplazar lneas de texto y cdigo por cualquier tipo de parmetro especificado, hasta el sitio web completo. El panel de comportamientos tambin permite crear JavaScript bsico sin conocimientos de cdigo. Con la llegada de la versin MX, Macromedia incorpor herramientas de creacin de contenido dinmico en Dreamweaver. En lo fundamental de las herramientas HTML WYSIWYG, tambin permite la conexin a Bases de Datos como MySQL y Microsoft Access, para filtrar y mostrar el contenido utilizando tecnologa de script como, por ejemplo, ASP (Active Server Pages), ASP.NET, ColdFusion, JSP (JavaServer Pages) y PHP sin necesidad de tener experiencia previa en programacin. Un aspecto de alta consideracin de Dreamweaver es su funcionalidad con extensiones. Es decir, permite el uso de "Extensiones". Las extensiones, tal y como se conocen, son pequeos programas, que cualquier desarrollador web puede escribir (normalmente en HTML y Javascript) y que cualquiera puede descargar e instalar, ofreciendo as funcionalidades aadidas a la aplicacin. Dreamweaver goza del apoyo de una gran comunidad de desarrolladores de extensiones que hacen posible la disponibilidad de extensiones gratuitas y de pago para la mayora de las tareas de desarrollo web, que van desde simple efectos rollover hasta completas cartas de compra. Tambin podra decirse, que para un diseo ms rpido y a la vez fcil podra complementarse con fireworks en donde podra uno disear un men o para otras

creaciones de imgenes (gif web, gif websnap, gif adaptable, jpeg calidad superior, jpeg archivo ms pequeo, gif animado websnap) para un sitio web y despus exportar la imagen creada y as utilizarla como una sola, en donde ya llevara los vnculos a un dicho sitio en especfico que uno le haya dado.(MRR - U.P.C.)

2.1. CARACTERISTICAS:

Dreamweaver sea la versin que sea es una herramienta totalmente til para todos los programadores ya sean novatos o expertos. Cuando programas en HTML puedes hacerlo directamente desde una pestaa en la que puedes ver el una especia de vista previa de la pagina . Dentro de esta vista previa puedes editar la pagina fcilmente aadiendo botones , tablas etc... sin ningn problema rpido y sencillo. Cuando programas en PHP tiene una excelente biblioteca de cdigos que te pueden ayudar a editar mas rpido. Tiene la posibilidad de conectarse a Ftp con un host y editar directamente los archivos all almacenados te permite editar CSS rpidamente , podrs hacer plantillas en pocos minutos siguiendo una bsica ya predefinida por Dreamweaver.

Puedes bajarte complementos para sistemas ya estipulados como para Joomla que tiene varios editores de plantillas. Con esta aplicacin podrs hacer formularios muy rpidamente sin necesidad de escribir cdigo por cdigo y tener que andar sufriendo. Te identifica los cdigos por colores para que puedas localizar mejor los tipos de cdigo

2.1. REQUISISTOS MINIMOS DEL SISTEMA:

Procesador: Intel Pentium 4 o Centrino (o compatible) Sistema operativo: Windows XP SP2 o posterior, Windows Vista Home Premium, Business, Enterprise, Ultimate (compatibilidad certificada slo para las ediciones de 32 bits)

RAM: 512 MB Disco duro: 1,3 GB de espacio libre Unidad multimedia: Unidad de DVD-ROM

3. HTML (Lenguaje de marcado de hipertexto)

HTML, siglas de HyperText Markup Language (Lenguaje de Marcado de Hipertexto), es el lenguaje de marcado predominante para la elaboracin de pginas Web. Es usado para describir la estructura y el contenido en forma de texto, as como para complementar el texto con objetos tales como imgenes. HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>). HTML tambin puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo JavaScript), el cual puede afectar el comportamiento de navegadores Web y otros procesadores de HTML.

HTML tambin es usado para referirse al contenido del tipo de MIME text/html o todava ms ampliamente como un trmino genrico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y anteriores).

4. PHP (Lenguaje de programacin)

PHP es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas Web dinmicas. Es usado principalmente en interpretacin del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt o GTK+.

4.1. Visin General

PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools o Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementacin principal de PHP es producida ahora por The PHP Group y sirve como el estndar de facto para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.

Puede ser desplegado en la mayora de los servidores Web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en ms de 20 millones de sitios Web y en un milln de servidores, el nmero de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Es tambin el mdulo Apache ms popular entre las computadoras que utilizan Apache como servidor Web. La versin ms reciente de PHP es la 5.3.3, del 22 de julio de 2010.

El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un nuevo grupo de funciones.

Aunque todo en su diseo est orientado a facilitar la creacin de pgina Web, es posible crear aplicaciones con una interfaz grfica para el usuario, utilizando la extensin PHP-Qt o PHP-GTK. Tambin puede ser usado desde la lnea de rdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versin de PHP se la llama PHP-CLI (Command Line Interface).

Cuando el cliente hace una peticin al servidor para que le enve una pgina Web, el servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por ejemplo obteniendo informacin de una base de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo enva al cliente. Mediante extensiones es tambin posible la generacin de archivos PDF, Flash, as como imgenes en diferentes formatos.

Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intrpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrnimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa est liberado bajo la licencia GNU y acta como un servidor Web libre, fcil de usar y capaz de interpretar pginas dinmicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

PHP tambin tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de Web ms populares ya que existe en versin CGI, mdulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologas de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compaa Adobe (antes Macromedia), a

JSP/Java de Oracle, y a CGI/Perl. Aunque su creacin y desarrollo se da en el mbito de los sistemas libres, bajo la licencia GNU, existe adems un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la divisin de lenguajes de programacin de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. Tambin existen al menos un par de mdulos[1] para Eclipse, uno de los IDE ms populares.

4.2. Historia

Fue originalmente diseado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador dans-canadiense Rasmus Lerdorf en el ao 1994 para mostrar su currculum vitae y guardar ciertos datos, como la cantidad de trfico que su pgina Web reciba. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" despus de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.

4.2.1. PHP 3

Dos programadores israeles del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintctico (parser en ingls) en el ao 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones pblicas de PHP3 y fue publicado oficialmente en junio del 1998.

Para 1999, Suraski y Gutmans reescribieron el cdigo de PHP, produciendo lo que hoy se conoce como motor Zend. Tambin fundaron Zend Technologies en Ramat Gan, Israel.

4.2.2. PHP 4

En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El da 13 de julio de 2007 se anunci la suspensin del soporte y desarrollo de la versin 4 de

PHP,[2] a pesar de lo anunciado se ha liberado una nueva versin con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versin 4.4.9 publicada el 7 de agosto de 2008.[3] Segn esta noticia [3] se dar soporte a fallos crticos hasta el 2008-08-09,......

4.2.3. PHP 5

El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). La versin ms reciente de PHP es la 5.3.3 (22 de julio de 2010), que incluye todas las ventajas que provee el nuevo Zend Engine 2 como: Mejor soporte para la Programacin Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario. Mejoras de rendimiento. Mejor soporte para MySQL con extensin completamente reescrita. Mejor soporte a XML ( XPath, DOM, etc. ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Manejo de excepciones. Mejoras con la implementacin con Oracle.

An se siguen publicando versiones de la rama 5.2.X, siendo publicada la versin 5.2.14 el 22 de Julio de 2010, aunque la mayora son actualizaciones de seguridad

4.2.4. PHP 6

Est previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta nueva versin quedarn solo dos ramas activas en desarrollo (PHP 5 y 6), pues se abandon el desarrollo y soporte de PHP 4 el 13 de julio de 2007.[4]

Las diferencias que encontraremos frente a PHP 5.* son: Soportar Unicode; Limpieza de funcionalidades obsoletas como register_globals, safe_mode, etc; PECL y eliminacin de soporte ereg; Mejoras en orientacin a objetos; Inclusin en el ncleo de xmlReader y xmlWriter as como Fileinfo; Return por referencia devolver un error; se retira el soporte de las bibliotecas FreeType1 y GD1; etc.

5. MySQL (Base de Datos)

MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones.[1] MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de 2009 desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pblica y el copyright del cdigo est en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems de la venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran va Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

MySQL es muy utilizado en aplicaciones Web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin Web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante

adelantar monitoreos sobre el desempeo para detectar y corregir errores tanto de SQL como de programacin.

5.1. Historia del proyecto.

SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estndar para las bases de datos relacionales. Desde 1986, el estndar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa OpenSource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estndar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.

Michael Widenius en la dcada de los 90 trat de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rpido y flexible para sus necesidades. Esto lo llev a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero ms portable.

La procedencia del nombre de MySQL no es clara. Desde hace ms de 10 aos, las herramientas han mantenido el prefijo My. Tambin, se cree que tiene relacin con el nombre de la hija del cofundador Monty Widenius quien se llama My.

Por otro lado, el nombre del delfn de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso Name the Dolphin. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de cdigo abierto africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

5.2. Multiplataforma.

MySQL funciona sobre mltiples plataformas, incluyendo: AIX BSD FreeBSD HP-UX GNU/Linux Mac OS X NetBSD Novell Netware OpenBSD OS/2 Warp QNX SGI IRIX Solaris SunOS SCO OpenServer SCO UnixWare Tru64 eBD Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008). OpenVMS.

5.3. Caractersticas de la versin 5.0.22 Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataforma.

Procedimientos almacenados Disparadores (triggers). Cursores Vistas actualizables. Soporte a VARCHAR INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas; transaccin en dos fases como parte de esto, utilizando el motor InnoDB de Oracle. Motores de almacenamiento independientes (MyISAM para lecturas rpidas, InnoDB para transacciones e integridad referencial). Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperacin (savepoints) con InnoDB. Soporte para SSL. Query caching Sub-SELECTs (o SELECTs anidados). Rplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automtico para mltiples maestros por esclavo. indexing y bsqueda de campos de texto completos usando el motor de almacenamiento MyISAM. Embedded database library Soporte completo para Unicode. Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster. Shared-nothing clustering through MySQL Cluster.

5.4. Caractersticas Adicionales Usa GNU Automake, Autoconf, y Libtool para portabilidad Uso de multihilos mediante hilos del kernel. Usa tablas en disco b-tree para bsquedas rpidas con compresin de ndice

Tablas hash en memoria temporales El cdigo MySQL se prueba con Purify (un detector de memoria perdida comercial) as como con Valgrind, una herramienta GPL Completo soporte para operadores y funciones en clusulas select y where. Completo soporte para clusulas group by y order by, soporte de funciones de agrupacin Seguridad: ofrece un sistema de contraseas y privilegios seguro mediante verificacin basada en el host y el trfico de contraseas est cifrado al conectarse a un servidor. Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros. Se permiten hasta 64 ndices por tabla (32 antes de MySQL 4.1.2). Cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son 1000 bytes (500 antes de MySQL 4.1.2). Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix. En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el cdigo fuente de la distribucin de MySQL

5.5. Mejoras futuras

El mapa de ruta de MySQL 5.1 indica soporte para: Particionado de la base de datos. Backup en lnea para todos los motores de almacenamiento. Replicacin segura Restricciones a nivel de columna. Funciones XML

5.6. Caractersticas distintivas

Las siguientes caractersticas son implementadas nicamente por MySQL: Mltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea ms adecuada para cada tabla de la base de datos. Agrupacin de transacciones, reuniendo mltiples transacciones de varias conexiones para incrementar el nmero de transacciones por segundo.

5.7. Tipos de compilacin del servidor

Hay tres tipos de compilacin del servidor MySQL: Estndar: Los binarios estndar de MySQL son los recomendados para la mayora de los usuarios, e incluyen el motor de almacenamiento InnoDB. Max (No se trata de MaxDB, que es una cooperacin con SAP): Los binarios incluyen caractersticas adicionales que no han sido lo bastante probadas o que normalmente no son necesarias. MySQL-Debug: Son binarios que han sido compilados con informacin de depuracin extra. No debe ser usada en sistemas en produccin porque el cdigo de depuracin puede reducir el rendimiento.

5.8. Especificaciones del cdigo fuente.

MySQL est escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internas en http://dev.mysql.com/doc/internals/en/ (en ingls).

6. APACHE (Servidor Web)

El servidor HTTP Apache es un servidor Web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1[1] y la nocin de sitio virtual. Cuando comenz su desarrollo en 1995 se bas inicialmente en cdigo del popular NCSA HTTPd 1.3, pero ms tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quera que tuviese la connotacin de algo que es firme y enrgico pero no agresivo, y la tribu Apache fue la ltima en rendirse al que pronto se convertira en gobierno de EEUU, y en esos momentos la preocupacin de su grupo era que llegasen las empresas y "civilizasen" el paisaje que haban creado los primeros ingenieros de Internet. Adems Apache consista solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en ingls, a patchy server (un servidor "parcheado").

El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Apache presenta entre otras caractersticas altamente configurables, bases de datos de autenticacin y negociado de contenido, pero fue criticado por la falta de una interfaz grfica que ayude en su configuracin.

Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP ms usado. Alcanz su mxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios Web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los ltimos aos. (Estadsticas histricas y de uso diario proporcionadas por Netcraft[2] ).

La mayora de las vulnerabilidades de la seguridad descubiertas y resueltas tan slo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales

malvolos en las disposiciones de recibimiento compartidas que utilizan PHP como mdulo de Apache.

6.1. Ventajas de Apache: Modular Cdigo abierto Multi-plataforma Extensible Popular (fcil conseguir ayuda/soporte)

6.2. Uso de Apache

Apache es usado principalmente para enviar pginas Web estticas y dinmicas en la World Wide Web. Muchas aplicaciones Web estn diseadas asumiendo como ambiente de implantacin a Apache, o que utilizarn caractersticas propias de este servidor web.

Apache es el componente de servidor Web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los lenguajes de programacin PHP/Perl/Python (y ahora tambin Ruby).

Este servidor Web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor Web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux.

Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposicin en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache

instalado en su escritorio puede colocar arbitrariamente archivos en la raz de documentos de Apache, desde donde pueden ser compartidos.

Los programadores de aplicaciones Web a veces utilizan una versin local de Apache con el fin de previsualizar y probar cdigo mientras ste es desarrollado.

Microsoft Internet Information Services (IIS) es el principal competidor de Apache, as como Sun Java System Web Server de Sun Microsystems y un anfitrin de otras aplicaciones como Zeus Web Server. Algunos de los ms grandes sitios Web del mundo estn ejecutndose sobre Apache. La capa frontal (front end) del motor de bsqueda Google est basado en una versin modificada de Apache, denominada Google Web Server (GWS). Muchos proyectos de Wikimedia tambin se ejecutan sobre servidores Web Apache.

6.3. Licencia

La licencia de software bajo la cual el software de la fundacin Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de cdigo abierto. La Licencia Apache permite la distribucin de derivados de cdigo abierto y cerrado a partir de su cdigo fuente original.

La Free Software Foundation no considera a la Licencia Apache como compatible con la versin 2 de la GNU General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL: Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible con la GPL porque tiene un requerimiento especfico que no est incluido en la GPL: tiene ciertos casos de terminacin de patentes que la GPL no requiere. No consideramos que dichos casos de terminacin de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU GPL.

Sin embargo, la versin 3 de la GPL incluye una provisin (Seccin 7e) que le permite ser compatible con licencias que tienen clusulas de represalia de patentes, incluyendo a la Licencia Apache.

El nombre Apache es una marca registrada y puede ser slo utilizada con el permiso expreso del dueo de la marca.

You might also like