Sunteți pe pagina 1din 19

INTRODUCCIN

Hoy en da el software de cdigo abierto o libre se est convirtiendo en una plataforma muy conocida ya sea por ser utilizado por personas que quieren probar algn sistema operativo distinto de Windows o por programadores y especialistas para crear programas en cdigo libre que sean de fcil acceso a todo el pblico.

Uno de los sistemas operativos de cdigo libre ms conocido es Linux y este sistema operativo es la base de una plataforma diseada para crear servidores web los cuales sirven para proporcionar diversos servicios al cliente que lo requiera, ya sea almacenando informacin de una red o proveer servicio de base de datos. Lo cual es imprescindible en cualquier empresa que requiere tener su informacin respaldada evitando cualquier prdida de la misma.

La plataforma LAMP est integrada por cuatro principales software: Linux (sistema operativo), Apache (servidor web), MySQL (gestor de base de datos) y PHP(lenguaje de programacin) la combinacin de estas tecnologas resulta en la infraestructura de un servidor web.

PLATAFORMA LAMP (LINUX, APACHE, MySQL Y PHP)]


La plataforma LAMP se utiliza frecuentemente para crear sitios web dinmicos con base de datos enormes, como Facebook. En un sitio web como ste, un script puede manejar varias pginas de contenido. Para procesar datos de formularios y contenidos de correo, se utilizan scripts adicionales. Esto tambin puede realizarse a travs del script principal, utilizando los archivos incluidos. Los proyectos de LAMP pueden incluir la integracin de redes sociales, foros, formularios, cargas o descargas, pasarelas de pago, comunidades de usuarios, herramientas de gestin, calendarios, carros de compra, listas de correo y todo tipo de aplicaciones tiles. El cdigo fuente de muchos de los proyectos de cdigo abierto que se encuentran en la Web se crea utilizando los conjuntos de LAMP, la mayora de ellos gratuitos. Por otro lado, los proyectos ms avanzados generalmente requieren una tarifa de inscripcin para su uso comercial. El trmino de Soluciones LAMP se origina para describir a las aplicaciones web creadas utilizando la siguiente combinacin de herramientas:

Linux, el sistema operativo; Apache, el servidor web; MySQL, el servidor de bases de datos; PHP, lenguaje de programacin.

Un poco de Historia
A finales del ao 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 trmino: 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 trmino LAMP gust tanto a Dougherty que

empez a promocionarlo desde la posicin 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 solucin adecuada para la empresa, como ya ha sucedido con Sendmail o Kerberos. Esto es lo que ha sucedido con la solucin para servicios web llamada LAMP. LAMP est considerada como una de las mejores herramientas disponibles para que cualquier organizacin o individuo pueda emplear un servidor web verstil y potente. Aunque creados por separado, cada una de las tecnologas que lo forman dispone de una serie de caractersticas comunes. Especialmente interesante es el hecho que estos cuatro productos pueden funcionar en una amplia gama de hardware, con requerimientos relativamente pequeos sin perder estabilidad. Esto ha convertido a LAMP en la alternativa ms adecuada para pequeas y medianas empresas. Existen, no obstante, multitud de variaciones de cdigo libre. La L de Linux puede ser sustituida por FreeBSD, NetBSD u OpenBSD. En lugar de la M de MySQL tambin podemos encontrar PostgreSQL. La P sirve para PHP, Perl, Python, y Ruby. . 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).

Cdigo relativamente sencillo y con pocos cambios de una plataforma a otra.

Parches generados en poco tiempo despus de encontrarse un agujero de seguridad.

Actualizaciones del software va Internet. Posibilidad de incrementar los servicios y funciones desde el cdigo fuente

Sin embargo, tenemos tambin una serie de desventajas que deben considerarse:

Es muy distinto de Windows, lo que dificulta el trabajo a quienes estn acostumbrados a l.

Las

actualizaciones

requieren

en

ocasiones

tener

conocimientos

avanzados del sistema.


Configurar algunos servicios de red requiere de ms 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 distribucin. Se puede conseguir gratuitamente en Internet. Hay muchsimas fuentes donde conseguir cualquiera de las distribuciones. Si no tienes una conexin rpida, tambin regalan Linux en los CD-ROM de muchas revistas especializadas. Libertad de modificacin. Junto a los programas ejecutables, se puede obtener su cdigo fuente. Esto, si se tienen los conocimientos necesarios, permite verificar la seguridad y eficiencia de los mismos, adems de modificar y/o aadir las caractersticas y comportamientos que deseemos.

Apache
Apache es el servidor web por excelencia, con algo ms de un 60% de los servidores de internet confiando en l. Entre sus caractersticas ms

sobresalientes estn:

Fiabilidad: Alrededor

del

90%

de

los

servidores

con

ms alta

disponibilidad funcionan con Apache.

Gratuidad: Apache

es

totalmente

gratuito,

se

distribuye

bajo

la

licencia Apache Software License, que permite la modificacion del codigo.

Extensibilidad: se pueden aadir mdulos para ampliar las ya de por si amplias capacidades de Apache. Hay una amplia variedad de mdulos, que permiten desde generar contenido dinmico (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 mdulos incluso pueden ser creados por cualquier persona con conocimientos de programacin

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, derivacin 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 ao, Apache era el nmero 1 en la lista de Netcraft. MySQL La administracin y gestin de la informacin es uno de los puntos clave del xito en cualquier entidad empresarial. La informtica aporta la tecnologa que permite satisfacer la necesidad de control de esta informacin, pero las empresas no se conforman trabajando con aplicaciones o programas que amontonen la informacin de forma catica. Los datos deben organizarse de acuerdo a un proceso previo que comprende el anlisis y diseo del modelo de datos, as como la eleccin y posterior configuracin del sistema que soportar nuestra base de datos. Existen diferentes arquitecturas para los sistemas de gestin de bases de datos, pero la ms extendida, y la que ms xito ha tenido, es la arquitectura relacional. MySQL es un servidor de bases de datos relacionales muy rpido y robusto. Es

software libre, publicado bajo la licencia GPL (GNU Public License) y mantenido por la compaa sueca MySQL AB. Este gestor se cre con la rapidez en mente, de modo que no tiene muchas de las caractersticas de los gestores comerciales ms importantes, como Oracle, Sybase o SQL Server. No obstante, eso no ha impedido que sea el ms indicado para aplicaciones que requieren muchas lecturas y pocas escrituras y no necesiten de caractersticas muy avanzadas, como es el caso de las aplicaciones web. MySQL est disponible para un enorme nmero 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 95, 98, NT, 2000 y XP. MySQL AB estima que hay ms de 10 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 tecnologa LAMP. El 25 de marzo de 2003 se marc la versin 4.0.12 como la primera versin estable de MySQL 4. Este nuevo MySQL introduce esperadas mejoras entre las que podemos destacar el soporte de transacciones, claves extranjeras (con borrado y actualizacin en cascada), bloqueo a nivel de fila, cach de consultas, la instruccin UNION y el borrado y actualizacin multitabla.

PHP
PHP es un script o lenguaje de programacin multifuncional adecuado para el desarrollo web del lado del servidor. PHP generalmente se ejecuta en un servidor web Apache; sin embargo, tambin puede ejecutarse en mquinas con IIS de Windows. PHP est disponible de forma gratuita y el grupo de PHP proporciona toda la codificacin fuente para que los usuarios creen, amplen y diseen aplicaciones para el uso personal.

PHP acta principalmente como filtro: extrae entradas desde un archivo o transmisin que contenga texto o instrucciones PHP y produce otra transmisin de datos. Normalmente, el resultado ser un HTML. A partir de PHP 4, el analizador de PHP compila entradas para producir cdigos en bytes para el procesamiento mediante Zend Engine, brindando un mejor rendimiento en comparacin con la interpretacin anterior. Entre las muchas cosas que distinguen la web de los restantes medios de comunicacin, est la capacidad de interaccin. En este mbito, las capacidades del HTML, Javascript y dems tecnologas de cliente son bastante reducidas. Una pgina realmente profesional no puede limitarse a mostrar informacin 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 aos, 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 tecnologas como ASP, PHP, JSP o ColdFusion. Vamos a ver cuales son las diferencias de PHP con respecto a las dems alternativas: 1. Es software libre, lo que implica menores costes y servidores ms baratos que otras alternativas, a la vez que el tiempo entre el hallazgo de un fallo y su resolucin es ms corto. Adems, el volumen de cdigo PHP libre es mucho mayor que en otras tecnologas, siendo superado por Perl, que es ms antiguo. Esto permite construir sitios realmente interesantes con slo instalar scripts libres como PHP Nuke (weblog, comunidad o

bitcora), osCommerce (comercio electrnico con capacidad multilinge), eZ publish (sistema de gestin de contenidos), phpBB (foros de discusin) o phpMyAdmin (administracin de base de datos MySQL).

2. Es muy rpido. Su integracin con la base de datos MySQL, tambin veloz, le permite constituirse como una de las alternativas ms atractivas para sitios de tamao medio-bajo. 3. Su sintaxis est inspirada en C, ligeramente modificada para adaptarlo al entorno en el que trabaja, de modo que si ests familiarizado con esa sintaxis, PHP o JSP son las opciones ms atractivas. 4. Su librera estndar 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 mquina que sea capaz de compilar su cdigo, entre ellas diversos sistemas operativos para PC y diversos Unix. El cdigo escrito en PHP en cualquier plataforma funciona exactamente igual en cualquier otra. 6. El acceso a las bases de datos de PHP es muy heterogneo, pues dispone de un juego de funciones distinto por cada gestor. 7. PHP es suficientemente verstil y potente como para hacer tanto aplicaciones grandes que necesiten acceder a recursos a bajo nivel del sistema como pequeos scripts que enven por correo electrnico un formulario rellenado por el usuario. 8. Existen menos especialistas en PHP que en ASP en nuestro pas. 9. Como lenguaje, PHP padece ciertas carencias: no soporta polimorfismo ni tiene excepciones u otro sistema de errores aceptable. PHP es una tecnologa con mucho futuro, con cada vez ms presencia en Internet. Existen muchsimas pginas a lo largo y ancho del mundo que lo utilizan, comoLibertad Digital (peridico digital), SourceForge (sistema de albergue de proyectos de software libre), El Mundo (edicin digital de un peridico en papel), Gran Avenida (Publicacin de ocio y cultura y albergue de pginas personales) o Sport Area (tienda virtual). Por supuesto hay muchos ms; en cuanto se navega un poco la extensin .php suena a conocida.

A continuacin se proporciona un pequeo tutorial sobre como instalar un servidor Lamp en Ubuntu 10.10.

1. Actualizar nuestro sistema Es siempre aconsejable realizar la actualizacin de nuestro sistema antes de llevar a cabo cualquier instalacin simplemente ejecuten lo siguiente en el terminal

sudo aptitutde update && sudo aptitude safe-upgrade Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualizacin disponible. Si les hace cualquier pregunta acerca de actualizar algn paquete pueden contestar que s. 2. Instalar Apache Apache es el servidor Web ms utilizado en el mundo, es open source, modular, flexible y totalmente configurable. Se puede instalar en muchas plataformas como Linux, MS Windows, Solaris, etc. Para instalarlo simplemente ejecutamos:

sudo aptitude install apache2 Esto instalar Apache 2 y todos los paquetes necesarios para su funcionamiento, si pregunta que si desea continuar instalando estos paquetes responda S o Y segn sea el caso (depende del idioma de la instalacin). Una vez finalizada la instalacin, pueden comprobar la versin de su Apache ejecutando:

apache2 -v Les aparecer algo como:

vensign@lamp-vensign:~$ apache2 -v Server version: Apache/2.2.12 (Ubuntu) Server built: Nov 12 2009 22:51:51 Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versin larga o la corta: Funcin Iniciar Apache Detener Apache Reiniciar Apache Estatus Apache Comando sudo /etc/init.d/apache2 start sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 status Comando Corto sudo service apache2 start sudo service apache2 stop sudo service apache2 restart sudo service apache2 status

Para probar que Apache est funcionando bien basta con ir a la direccin en tu navegador (Firefox, Konqueror o el que prefieran) http://localhost desde el mismo servidor o http://ipservidordesde otra PC y les debe aparecer algo como lo siguiente:

3. Instalar MySQL MySQL es una de las base de datos open source ms popular y utilizadas en innumerables pginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fcil de configurar y lo bastante rpida para la mayora de las aplicaciones comunes. Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

sudo aptitude install mysql-server

Esto instalar todos los paquetes y libreras necesarios para que funcione el servidor MySQL Durante la instalacin les aparecer la siguiente pantalla solicitando la clave de root para el servidor MySQL, aqu debern colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda tambin que tenga una longitud mayor a 8 caracteres y que mezclen letras, smbolos y nmeros, no son permitidos los espacios en blanco.

Clave root Servidor MySQL Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deber pedirles la clave que colocaron en el paso anterior y aparecerles el prompt mysql> algo parecido a esto:

vensign@lamp-vensign:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 40 Server version: 5.1.37-1ubuntu5 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. Vemos que nos muestra la versin del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro. Los comandos para administrar MySQL son: Funcin Comando Comando Corto Iniciar MySQL sudo /etc/init.d/mysql start sudo service mysql start Detener MySQL sudo /etc/init.d/mysql stop sudo service mysql stop Reiniciar MySQL sudo /etc/init.d/mysql restart sudo service mysql restart Estatus MySQL sudo /etc/init.d/mysql status sudo service mysql status Nota: Si no les funciona el comando sudo service mysql ... deben instalar sysvinitutils (especialmente en las versiones ms viejas de Ubuntu).

El archivo de configuracin de mysql se encuentra en /etc/mysql/my.cnf Ya que tenemos instalado Apache y MySQL ahora vamos a proceder a instalar PHP.

4. Instalar PHP

PHP es un lenguaje interpretado que es utilizado para crear pginas web dinmicas y aplicaciones, de una manera rpida y flexible. Entre las plataformas que utilizan PHP est WordPress, Drupal y Joomla. Para instalar PHP 5 junto con el soporte para Apache y MySQL ejecutamos el siguiente comando en el terminal:

sudo aptitude install php5 libapache2-mod-php5 php5-mysql Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes. Una vez que finalice la instalacin debemos reiniciar el servidor Apache para que tome los cambios de la libreria de PHP ejecutamos:

sudo /etc/init.d/apache2 restart El paso anterior es muy importante ya que si no no funcionar el PHP hasta que reinicies el servidor Apache! Para probar PHP vamos a crear el siguiente archivo llamado prueba.php con tu editor favorito puedes utilizar nano, vim, gedit, etc.:

sudo vim /var/www/prueba.php Nota: Aqu estoy utilizando vim para editar utilicen el editor de su preferencia Dentro del archivo copiamos lo siguiente:

<?php phpinfo(); ?> Guardamos al archivo y vamos al navegador en el y colocamos mismo la

direccinhttp://localhost/prueba.php si

estamos

servidor

ohttp://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la informacin de PHP, los mdulos y librerias instalados.

Pagina de prueba.php phpinfo() Si te aparece una pantalla parecida a la anterior es que PHP est correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php lo ms seguro es que no hayas reiniciado el servidor Apache luego de instalar PHP. El archivo de configuracin de PHP se encuentra en /etc/php5/apache2/php.ini Con estos cuatro pasos ya tenemos instalado un servidor LAMP con Ubuntu. Ahora vamos a ver como instalar phpmyadmin para manejar MySQL

Instalar phpmyadmin Phpmyadmin es una interfaz web que nos permite manejar nuestras bases de datos en MySQL en una forma ms amigable. Para instalarlo en Ubuntu seguimos los siguientes pasos: 1. Ejecutamos

sudo aptitude install phpmyadmin 2. Durante el proceso de instalacin aparecer el siguiente dilogo en el cual debemos seleccionar Apache presionando barra espaciadora sobre la opcin y despues presionar Enter o Intro:

Seleccionar Apache2

3. Luego preguntar por la configuracin de paquetes a lo que debemos responder que Si

Seleccionar Si en configuracion de Paquetes 4. El siguiente dialogo nos pregunta por la clave que configuramos para el usuario root de MySQL que hicimos en los pasos anteriores

Clave root MySQL

5. Por ltimo nos pregunta la clave que queremos darle al usuario de administracin de phpmyadmin, escriba la clave que prefieras, si la dejas en blanco y presionas Intro o Enter generar una clave aleatoria

Clave administracin phpmyadmin Con esto finalizar la instalacin de phpmyamin. Para ingresar a la interfaz web de phpmyadmin vamos a nuestro navegador web y colocamos la direccin http://localhost/phpmyadmin

http://ipdelservidor/phpmyadmin y debera aparecer una ventana como la siguiente:

Pagina inicio Phpmyadmin Ah deben colocar el usuario root y la clave de root para MySQL para administrar todas las bases de datos, a medida que creen nuevos usuarios y base de datos pueden entrar con otros usuarios.

Pagina Principal Phpmyadmin

Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus pginas y desarrollar sus proyectos, pronto publicaremos ms tutoriales de configuracin y seguridad de servidores web as que estn pendientes.

S-ar putea să vă placă și