LAMP Stack

Categories:

Es un conjunto de programas que se utilizan como plataforma para desarrollar y ejecutar aplicaciones web.
El stack está formado por: sistema operativo, servidor web, administrador de bases de datos, lenguaje de programación.
El nombre está dado por las siglas de los programas – sistema operativo – que se utilizan frecuentemente:

Linux Apache MySQL PHP

Linux / Tux

Apache Http Server Logo
MySQL Logo PHP Logo

Es posible instalar cada programa de manera independiente o se puede utilizar una aplicación que contiene parte del stack – AMP – para determinado sistema operativo.

Dependiendo del sistema operativo también se le puede encontrar como:

WAMPWindows
MAMPMac (OS X)
XAMPPX – Windows, OS X, o Linux -.

Las aplicaciones web generalmente utilizan un servidor de correo.
Dos opciones que se pueden utilizar son Postfix o Proofpoint / Sendmail.

Tareas generales

Algunas tareas de cada uno de los componentes del stack son:

Sistema Operativo

Crear de cuentas de usuario para dar acceso al servidor.
Asignar permisos para instalar, desinstalar y / o configurar programas.
Configurar programas de conexión – FTP / SSH -.

Servidor web

El servidor web se encarga de buscar archivos en el sistema de archivos y enviarlos archivos al cliente * que lo solicite.

Si se trata de una aplicación donde exista código, el servidor web, en lugar de enviar el archivo directamente al usuario, lo manda a interpretar al el lenguaje de programación correspondiente. Una vez que se procesa el archivo y que es devuelto por el lenguaje de programación al servidor web, este lo envía al usuario.

* En este caso cliente puede ser un usuario o aplicación que haga una solicitud al servidor.

DBMS – Administrador de Bases de Datos

El administrador de bases de datos – DBMS – Database Management System – funciona como un almacén de datos.
Más adelante vamos a revisar cómo funciona.

Lenguaje de Programación

En el caso de las aplicaciones web que vamos a revisar, el lenguaje de programación se va a utilizar como intermediario entre una base de datos y el cliente * . Algunas de sus funciones van a ser:

Definir la funcionalidad de la aplicación.
Realizar conexiones con la base de datos.
Procesar datos enviados por un cliente *.
Presentar los datos en la manera solicitada.
Utilizar el servidor de correos para envío / recepción de correos.

* En este caso cliente puede ser un usuario o aplicación que haga una solicitud al servidor.

Servidor de Correos

El servidor de correos se encarga de enviar y recibir correos electrónicos.
En las aplicaciones web se puede utilizar para procesos como recuperación de una contraseña por parte de algún usuario.

Para finalizar

Al tener presente la funcionalidad de cada uno de los programas utilizados puedes cambiarlos o complementarlos si es necesario.