LAMP es una palabra que se conoce mucho dentro del mundo del web hosting, el desarrollo y diseño web, también se la conoce como «servidor LAMP» o «LAMP stack». Es la plataforma que ha acompañado muchos de los grandes hitos de las últimas décadas en cuanto al desarrollo de aplicaciones web.
Gracias a la adopción de esta plataforma LAMP es que el famoso CMS WordPress existe, y que tantas empresas, tecnologías y servicios web siguen estando online día a día. Pero ya no sigamos con tantos misterior, y vamos de lleno a averiguar qué es LAMP y para qué sirve, además de ver cómo instalarlo en tu servidor.
Contenido
¿Qué es un servidor LAMP?
LAMP es un acónimo de «Linux, Apache, MySQL y PHP», es decir, las cuatro tecnologías que conforman esta plataforma que corre desde el lado del servidor.
Gracias a LAMP puedes comenzar a crear sitios web, aplicaciones, realizar testing de páginas dinámicas y estáticas, entre muchas otras cosas más. En inglés se lo conoce como LAMP stack, es decir, una apilación de servicios y tecnologías que nos permiten una gracias a la otra, conformar la plataforma que necesitamos. Veamos ahora qué es cada cosa y cómo funciona el servidor LAMP.
- Linux: es el sistema operativo base de la plataforma, y puede ser cualquier tipo de sistema Gnu/Linux, donde podrán ejecutarse el resto de los componentes.
- Apache: se refiere al servidor Apache, que es permite alojar y despachar las páginas web dinámicas y estáticas que son ejecutadas desde el lenguaje PHP.
- MySQL: es el servidor de base de datos más popular del mundo, el cual permite alojar datos y despacharlos desde un motor de datos centralizado.
- PHP: se refiere al lenguaje de programación dinámico que revolucionó la web, y es todavía uno de los más usados del mundo. Es al mismo tiempo el servidor PHP que permite la ejecución de este tipo de scripts.
Desde sus inicios ha tenido una gran adopción debido a que es gratuito, funciona en cualquier tipo de Linux, es fácil de instalar y ofrece estabilidad para montar cualquier tipo de aplicaciones web en tiempo récord.
En Windows se encuentran reemplazos de forma nativa con el servidor WAMP, en tanto en la plataforma de Apple se le conoce comom MAMP. Una alternativa moderna que surgió tras el nacimiento del servidor Nginx fue el stack LEMP, que utiliza Nginx (pronunciado «enginex»), MariaDB y PHP o incluso Python/Ruby como lenguajes de programación más modernos.
Aplicaciones modernas que son 100% compatibles con LAMP son: Wikimedia, WordPress, Joomla, PrestaShop, OpenCart, Magento, Moodle, y casi cualquier app creada en PHP.
Requerimientos de hardware
Primero lo primero, y es aclarar que LAMP puede instalarse en casi cualquier computadora del mundo que corra Linux, desde Xeon QuadCore, hasta un viejo Pentium 4 con Gentoo o Arch Linux.
Dicho esto, igualmente queremos mostrarte cuáles son los requerimientos mínimos que se piden, que como verás son realmente de risa. Lo que más necesitarás será espacio en disco, y el CPU dependerá de que tanta demanda hagas con tus peticiones a las aplicaciones que alojarás en tu hosting LAMP.
Los requerimientos oficiales para montar un servidor LAMP son:
- 128MB de RAM
- CPU de 800MHz
- 1GB de disco duro o ssd
Esto es simple, si vas a usar LAMP para alojar un sitio de pruebas o temporal en tu propia computadora, no necesitarás mucho más que eso. Ahora, si vas a montar un LAMP en producción para recibir consultas de cientos o miles de usuarios diariamente, ya tendrías que pensar en hacerlo en un Servidor Dedicado Linux. Y si ya piensas en montar un servidor de streaming, almacenamiento de archivos o alguna otra cosa, quizás debas pensar en algo más escalable como un Hosting Cloud de alto rendimiento.
Ahora que ya está todo dicho en referencia al hardware, es necesario que definas algo muy importante: ¿Qué distribución Linux es la mejor para montar un servidor LAMP?
En nuestra experiencia, la distro Linux más estable para LAMP es CentOS, que cuenta con el respaldo de RedHat, es la versión gratuita y comunitaria de la famosa RHEL. CentOS es un sistema operativo Linux estable, seguro y rápido, usado tanto en servidores caseros como en centros de datos profesionales de alto nivel.
Otra distro que también es bastante estable y altamente popular es Ubuntu, la cual suele ser la más usada por los usuarios que recién comienzan a programar en PHP, por lo que en esta ocasión, nos orientaremos a instalar el servidor LEMP usando Ubuntu.
Instalación de un servidor LAMP paso a paso
Ahora que ya tienes claro lo que es necesario desde el lado del hardware, pasemos a la instalación del servidor LAMP.
Instalar Linux Ubuntu
Veamos los pasos necesarios para instalar Ubuntu en tu computadora o servidor:
- Descarga Ubuntu Server desde la página oficial
- Graba esa imágen ISO en un CD-ROM o unidad USB
- Carga el ISO al arranque desde el BIOS, seleccionando USB o CD-ROM
- Elige el idioma español para la instalación
- Configura tu teclado, red, zona horaria, nombre del servidor, usuarios y contraseñas
- Configura tu disco duro
- Termina de instalar el servidor Linux Ubuntu
- Reinicia el equipo una vez listo
Cuando termina la instalación del servidor LAMP, procedemos a actualizar los paquetes del sistema corriendo el comando:
sudo apt-get update
En este punto, el servidor Linux está instalado y podrás proceder a instalar Apache, que es el siguiente paso.
Instalar Apache
Ahora vamos a proceder a instalar el servidor Apache sobre la distro Ubuntu, para ello usaremos el siguiente comando:
sudo apt-get install apache2
Una vez instalado, podrás probar iniciarlo con:
sudo service apache2 restart
Para verificar si funciona bien, debes ir al navegador y luego tipear en la barra de la URL: 127.0.0.1, y debería cargarte un mensaje que dice «It works»»
Luego de esto, lo ideal es comenzar a configurar Apache, pues es un servicio crítico que requiere de algunas configuraciones tras su instalación inicial:
Edita el archivo /etc/apache2/apache2.conf, y configura estas variables de la siguiente manera:
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 30
MaxConnectionsPerChild 1500
</IfModule>
Además de esto, te recomendamos jugar con los módulos de Apache2, en este caso, desactivar mpm_event y activar Prefork. Esto lo haces con los siguientes comandos:
sudo a2dismod mpm_event && sudo a2enmod mpm_prefork
Y llegamos al punto final, ya está todo configurado y listo, así que solo resta reiniciar Apache2 para tomar los cambios:
sudo service apache2 restart
Instalar MySQL
MySQL es el servidor de bases de datos más utilizado en el stack LAMP. Aunque también se puede instalar MariaDB hoy en día, que ofrece incluso mejor rendimiento. Para instalar MySQL Community Edition comenzaremos entonces por correr este comando:
sudo apt-get install mysql-server
Cuando se inicie el proceso de instalación de MySQL, te pedirá configurar una contraseña que usará el usuario «root» de MySQL, es decir, el usuario administrador. El paso que le sigue es configurar algunos aspectos de MySQL, para ésto te recomendamos seguir todas las recomendaciones tal como te dice el mismo instalador, es decir, aceptar los valores por defecto y sugerencias (eliminar bases de datos de testing y pruebas, usuarios anónimos, etc)
Para comenzar, ingresa este comando:
sudo apt-get install mysql-server
Y ya estás listo para el próximo paso, crear tu primera base de datos, esto lo haces con este comando:
mysql -u root -p
Para crearla, puedes usar esta sintáxis, debes reemplazar «basededatos_1», «user» y «password» por los valores reales que desees:
create database webdata;
grant all on basededatos_1.*to “user” identified by “password”;
Instalar PHP
Luego de tener el resto de los componentes instalados, llega el turno de PHP. Este lenguaje de programación será vital para que puedas crear tus aplicaciones dinámicas, así como la librería PEAR, y otros módulos que son básicos y necesarios para correr cualquier script o aplicación web hecha en PHP.
Para instalar PHP, corre este comando:
sudo apt-get install php5 php-pear
Algo imprescindible es instalar la extensión PHP5-MySQL, que permitirá que conectes tus scripts PHP con las bases de datos MySQL:
sudo apt-get install php5-mysql
Luego de esto, te recomendamos configurar PHP según necesites desde el archivo php.ini de tu servidor, que se encuentra en la siguiente ruta: /etc/php5/apache2/php.ini
Si queremos que el sistema guarde logs de errores de forma adecuada, se debe además crear dicho directorio, y luego darle propietario de Apache debido, esto se hace con este comando:
sudo mkdir /var/log/php
sudo chown www-data /var/log/php
Tras todo esto, podrás hacer una recarga o reload de la configuración de Apache para tomar los cambios hechos en PHP (ya que PHP es en última instancia, un paquete aparte, pero dependiente de Apache ya que corre como módulo de éste)
sudo service apache2 reload
Conclusión
Como hemos visto, hoy has aprendido qué es un servidor LAMP, para qué sirve, sus requerimientos, así como también la instalación de esta plataforma paso a paso. Tal como hemos visto, este proceso es bastante fácil si se siguen los pasos aquí expuestos.
Ubuntu es una de las distros Linux más populares, y si estas recién empezando en este maravilloso mundo del desarrollo web, será el escenario perfecto para que puedas comenzar a aprender PHP y probar tus aplicaciones. Al ser una plataforma de código abierto, gratuita y disponible para cualquier persona, resulta una de las más adoptadas, tanto en entornos de desarrollo local como producción.