Master online en LAMP (Linux - Apache - MySQL - PHP) – Ciberaula.



La plataforma web libre

A finales del año 2000, los miembros del equipo de MySQL David Axmark y Monty Widenius visitaron al editor de O'Reilly Dale Dougherty y le hablaron de un nuevo término: LAMP. Al parecer era ya muy popular en Alemania, donde se empleaba para definir el trabajo conjunto con Linux, Apache, MySQL y uno de los siguientes lenguajes: Perl, Python o PHP. El término LAMP gustó tanto a Dougherty que empezó a promocionarlo desde la posición de extraordinaria influencia de su editorial en el mundo del software libre.

Es frecuente que se identifique a primera vista el mundo del software libre con Linux. Eso provoca que muchas veces se ignoren las herramientas que permiten a Linux convertirse en una gran herramienta de desarrollo de software, especialmente de aplicaciones web. Existen varios casos en los que un producto pasa de ser una curiosidad a una solución adecuada para la empresa, como ya ha sucedido con Sendmail o Kerberos. Esto es lo que ha sucedido con la solución para servicios web llamada LAMP.

LAMP está considerada como una de las mejores herramientas disponibles para que cualquier organización o individuo pueda emplear un servidor web versátil y potente. Aunque creados por separado, cada una de las tecnologías que lo forman disponen de una serie de características comunes. Especialmente interesante es el hecho que estos cuatro productos pueden funcionar en una amplia gama de hardware, con requerimientos relativamente pequeños sin perder estabilidad. Esto ha convertido a LAMP en la alternativa más adecuada para pequeñas y medianas empresas. También Ciberaula emplea tecnología LAMP.

Existen, no obstante, multitud de variaciones de código libre. La L de Linux puede ser sustituida por FreeBSD, NetBSD u OpenBSD. En lugar de la M de MySQL también podemos encontrar PostgreSQL. La P sirve para PHP, Perl, Python, y Ruby. No obstante, las encuestas de Netcraft muestran que el LAMP que enseñamos en Ciberaula es la plataforma para crear páginas web más popular.

Algunas de las ventajas que se obtienen de utilizar LAMP son:

  • Soporte a gran cantidad de arquitecturas, como son Intel y compatibles, SPARC, Mips y PPC (Macintosh).
  • Código relativamente sencillo y con pocos cambios de una plataforma a otra.
  • Parches generados en poco tiempo después de encontrarse un agujero de seguridad.
  • Actualizaciones del software vía Internet.
  • Posibilidad de incrementar los servicios y funciones desde el código fuente

Sin embargo, tenemos también una serie de desventajas que deben considerarse:

  • Es muy distinto de Windows, lo que dificulta el trabajo a quienes estén acostumbrados a él.
  • Las actualizaciones requieren en ocasiones tener conocimientos profundos del sistema.
  • Configurar algunos servicios de red requiere de más tiempo que en Windows.
  • Mayor coste del personal.
Software libre

Todos los elementos que forman LAMP son software libre, de modo que disfrutan de las siguientes ventajas propias del mismo:

  • Libertad de copia y distribución.
    Se puede conseguir gratuitamente en Internet. Hay muchísimas fuentes donde conseguir cualquiera de las distribuciones. Si no tienes una conexión rápida, también regalan Linux en los CD-ROM de muchas revistas especializadas.
  • Libertad de modificación.
    Junto a los programas ejecutables, se puede obtener su código fuente. Esto, si se tienen los conocimientos necesarios, permite verificar la seguridad y eficiencia de los mismos, además de modificar y/o añadir las características y comportamientos que deseemos.
Linux

Esta basado en los estándares Unix, y surgió a principios de los 90, a partir de las inquietudes de Linus Torvalds por mejorar y ampliar Minix (otra implementación gratuita de Unix desarrollada por Andy Tanenbaum, dirigida al ámbito educativo). Desde entonces, ha ido incrementándose de forma espectacular el numero de desarrolladores desinteresados que se han implicado en su desarrollo a lo largo y ancho del mundo.

Lo que es propiamente Linux es el núcleo del sistema operativo, que ha ido implementando soporte para una gran parte del hardware actual (USB, cámaras digitales, escáneres, impresoras, grabadoras, redes, etc...). Dicho núcleo viene arropado por librerías y utilidades distribuidas bajo la licencia libre GPL o similares (de aquí la denominación GNU/Linux).

Su excelente relación calidad-precio le ha granjeado la admiración e incondicional apoyo de muchísimos usuarios alrededor del mundo. Su adopción en el ámbito de los servidores web ha sido espectacular. Estadísticas recientes demuestran que su empuje es cada vez mayor en este campo y todos los relacionados con Internet (como, por ejemplo, los servidores de espacio web e ISP). Por ejemplo, se usa en Google y Amazon.

Linux, entre muchas otras, es multitarea, multiusuario, multiplataforma, multiprocesador, tiene protección de la memoria entre procesos, soporta muchísimos tipos de sistemas de archivos, dispone de una amplia variedad de protocolos de red soportados en el núcleo y, finalmente, permite compartir por red ficheros e impresoras, incluso con otros sistemas operativos. La potencia, estabilidad, gratuidad, modificabilidad y portabilidad de Linux lo hacen el sistema operativo perfecto, y ya tiene una posición líder en el ámbito de Internet, siendo cuestión de tiempo que la tenga en el resto de ámbitos informaticos.

Apache

Apache es el servidor web por excelencia, con algo mas de un 60% de los servidores de internet confiando en él. Entre sus características mas sobresalientes están:

  • Fiabilidad: Alrededor del 90% de los servidores con mas alta disponibilidad funcionan con Apache.
  • Gratuidad: Apache es totalmente gratuito, y se distribuye bajo la licencia Apache Software License, que permite la modificacion del codigo.
  • Extensibilidad: se pueden añadir módulos para ampliar las ya de por si amplias capacidades de Apache. Hay una amplia variedad de módulos, que permiten desde generar contenido dinámico (con PHP, Java, Perl, Pyton,...), monitorizar el rendimiento del servidor, atender peticiones encriptadas por SSL, hasta crear servidores virtuales por IP o por nombre (varias direcciones web son manejadas en un mismo servidor) y limitar el ancho de banda para cada uno de ellos. Dichos módulos incluso pueden ser creados por cualquier persona con conocimientos de programación

Este potente y famoso servidor se basa en el pionero NCSA server, y surgió a partir de diferentes ampliaciones y parches para el mismo (de ahi su nombre, derivación de 'A patchy server'), cuyo desarrollo se estancó a mediados de 1994. Un grupo de administradores web pusieron en marcha una lista de correo y fundaron el Apache Group. Al año, Apache era el numero 1 en la lista de Netcraft.

MySQL


La administración y gestión de la información es uno de los puntos clave del éxito en cualquier entidad empresarial. La informática aporta la tecnología que permite satisfacer la necesidad de control de esta información, pero las empresas no se conforman trabajando con aplicaciones o programas que amontonen la información de forma caótica. Los datos deben organizarse de acuerdo a un proceso previo que comprende el análisis y diseño del modelo de datos, así como la elección y posterior configuración del sistema que soportará nuestra base de datos.

Existen diferentes arquitecturas para los sistemas de gestión de bases de datos, pero la más extendida, y la que más éxito ha tenido, es la arquitectura relacional. MySQL es un servidor de bases de datos relacionales muy rápido y robusto. Es software libre, publicado bajo la licencia GPL (GNU Public License) y mantenido por la compañía sueca MySQL AB. Este gestor se creó con la rapidez en mente, de modo que no tiene muchas de las características de los gestores comerciales más importantes, como Oracle, Sybase o SQL Server. No obstante, eso no ha impedido que sea el más indicado para aplicaciones que requieren muchas lecturas y pocas escrituras y no necesiten de características muy avanzadas, como es el caso de las aplicaciones web. MySQL está disponible para un enorme número de sistemas operativos: AIX, BSDi, DEC Unix, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI Irix, Solaris, SCO OpenServer, SCO UnixWare, Tru64 Unix, Windows.

MySQL AB estima que hay 4 millones de servidores MySQL instalados en el mundo, lo significa aproximadamente el 20% del mercado. Entre sus clientes destacan Yahoo!, Cisco, NASA, Lucent Technologies, Motorola, Google, Silicon Graphics, HP, Xerox o Sony Pictures. Buena parte de su éxito se debe, sin duda, a formar parte de la tecnología LAMP.

El 25 de marzo de 2003 se marcó la versión 4.0.12 como la primera versión estable de MySQL 4. Este nuevo MySQL introduce esperadas mejoras entre las que podemos destacar el soporte de transacciones, claves extranjeras (con borrado y actualización en cascada), bloqueo a nivel de fila, caché de consultas, la instrucción UNION y el borrado y actualización multitabla

PHP


Entre las muchas cosas que distinguen la web de los restantes medios de comunicación, está la capacidad de interacción. En este ámbito, las capacidades del HTML, Javascript y demás tecnologías de cliente son bastante reducidas. Una página realmente profesional no puede limitarse a mostrar información y disponer de formularios para conectarse con los usuarios. Esta necesidad se comprendió muy pronto y provocó el nacimiento del protocolo CGI que permite a los navegadores comunicarse con programas alojados en el servidor.

Con los años, no obstante, se comenzaron a percibir diversos problemas con respecto a los CGIs, entre los cuales el menor no era su complejidad. La popularidad de Javascript o Perl llevó a muchas cabezas pensantes a considerar el uso de los lenguajes de script para ejecutar tareas en el servidor. Así nacieron tecnologías como ASP, PHP, JSP o ColdFusion. Vamos a ver cuales son las diferencias de PHP con respecto a las demás alternativas:

  1. Es software libre, lo que implica menores costes y servidores más baratos que otras alternativas, a la vez que el tiempo entre el hallazgo de un fallo y su resolución es más corto. Además, el volumen de código PHP libre es mucho mayor que en otras tecnologías, siendo superado por Perl, que es más antiguo. Esto permite construir sitios realmente interesantes con sólo instalar scripts libres como PHP Nuke (weblog, comunidad o bitácora), osCommerce (comercio electrónico con capacidad multilingüe), eZ publish (sistema de gestión de contenidos), phpBB (foros de discusión) o phpMyAdmin (administración de base de datos MySQL).
  2. Es muy rápido. Su integración con la base de datos MySQL, también veloz, le permite constituirse como una de las alternativas más atractivas para sitios de tamaño medio-bajo.
  3. Su sintaxis está inspirada en C, ligeramente modificada para adaptarlo al entorno en el que trabaja, de modo que si estás familiarizado con esa sintaxis, PHP o JSP son las opciones más atractivas.
  4. Su librería estándar es realmente amplia, lo que permite reducir los llamados 'costes ocultos', uno de los principales defectos de ASP.
  5. PHP es relativamente multiplataforma. Funciona en toda máquina que sea capaz de compilar su código, entre ellas diversos sistemas operativos para PC y diversos Unix. El código escrito en PHP en cualquier plataforma funciona exactamente igual en cualquier otra.
  6. El acceso a las bases de datos de PHP es muy heterogéneo, pues dispone de un juego de funciones distinto por cada gestor.
  7. PHP es suficientemente versátil y potente como para hacer tanto aplicaciones grandes que necesiten acceder a recursos a bajo nivel del sistema como pequeños scripts que envíen por correo electrónico un formulario rellenado por el usuario.
  8. Existen menos especialistas en PHP que en ASP en nuestro país.
  9. Como lenguaje, PHP padece ciertas carencias: no soporta polimorfismo ni tiene excepciones u otro sistema de errores aceptable.

PHP es una tecnología con mucho futuro, con cada vez más presencia en Internet. Existen muchísimas páginas a lo largo y ancho del mundo que lo utilizan, como Libertad Digital (periódico digital), SourceForge (sistema de albergue de proyectos de software libre), El Mundo (edición digital de un periódico en papel), Gran Avenida (Publicación de ocio y cultura y albergue de páginas personales) o Sport Area (tienda virtual). Por supuesto hay muchos más; en cuanto se navega un poco la extensión .php suena a conocida.



Nombre:

Email:

Comentario: