Tech Academy > Webinars > Instalación de Apache, MySQL y PHP en un Servidor Cloud en Linux

LAMP ¿qué es? Instalación de Apache, MySQL y PHP en un Servidor Cloud con Linux

En este webinar hablamos sobre que es LAMP (Linux-Apache-MySQL-PHP) y cómo hacer su instalación y configuración en un Servidor Cloud de Arsys.

04-09-2020
00:57:12

¿Qué es LAMP?

LAMP es un acrónimo de Linux, Apache, MySQL y PHP, un conjunto de tecnologías que sirven como motor para numerosas aplicaciones web. LAMP es el stack de tecnologías más usado en la actualidad, todas ellas de código abierto, con un porcentaje de penetración que supera de largo el 50% de los sitios web. Por eso, es normal que la mayoría de los profesionales de Internet hayan oído hablar de él y que sea otro de los entornos que podemos instalar en sólo unos clics en los Servidores Cloud de Arsys. Es más, puedes configurar un entorno LAMP en un servidor cloud en solo tres pasos.

No obstante, vamos a describir brevemente cada uno de los principales componentes, cuyas respectivas iniciales conforman el acrónimo LAMP.

  • Linux: sistema operativo de código abierto, disponible gratuitamente. Para su instalación, existen diversas distribuciones que contienen distintos paquetes de software instalados de base. Son populares las distribuciones CentOS, Debian y Ubuntu y la elección de uno u otro viene motivada principalmente por los gustos o experiencia del desarrollador, puesto que con cualquiera de ellas se puede poner en marcha cualquier servicio.
  • Apache: es el servidor web más usado en la actualidad. Básicamente, se trata de un programa que escucha peticiones de páginas web y las envía a los clientes que las solicitan.
  • MySQL: es un sistema gestor de bases de datos muy popular, con características avanzadas pero de fácil uso e instalación. Desde que Oracle absorbió Sun Microsystems, la marca comercial MySQL pasó a su propiedad y, aunque sigue siendo un software gratuito, la comunidad Open Source ha creado una nueva rama de este sistema gestor de base de datos, ofreciendo una alternativa compatible con MySQL llamada MariaDB y que se mantiene al margen de Oracle.
  • PHP: es un lenguaje de programación que se ejecuta en el lado del servidor, usado tradicionalmente para crear aplicaciones web. Es el lenguaje más popular entre los lenguajes del lado del servidor, responsable también de la programación de la mayoría de sitios.

Ecosistema LAMP

Aunque las siglas se centran en los cuatros principales componentes de este stack de tecnologías, lo cierto es que el ecosistema LAMP es muy rico en todo tipo de aplicaciones que nos facilitan diversas facetas habituales en el desarrollo y despliegue de sitios web.

  • CMS: en cuanto a sistemas de gestión de contenidos el stack LAMP es responsable de la ejecución de herramientas tan populares como WordPress, Joomla! o Drupal. Tambien otros CMS para comercio electrónico, como Prestashop o Magento.
  • Frameworks: para los desarrolladores LAMP nos ofrece potentes frameworks que pueden acelerar enormemente el proceso de desarrollo. Ejemplos son Symfony, Laravel, Codeigniter, etc.
  • Herramientas:en el apartado de herramientas LAMP nos ofrece clasificaciones para todos los gustos y necesidades. Entre las que habitualmente se usan encontramos PhpMyAdmin, que es un administrador de bases de datos con interfaz web. Composer, que nos permite instalar y mantener actualizadas todas las librerías o frameworks sobre las que se construye un sitio web, llamadas «dependencias» de proyectos.
  • Librerías: en PHP y para entornos LAMP encontramos algunas de las librerías más populares para el desarrollo, capaces de implementar capas de seguridad, sistemas de templates, ORM, etc. Un lugar donde se encuentran todas estas librerías es Packagist, que alberga todos los paquetes instalables vía Composer. Desde este enlace https://packagist.org/explore/popular se pueden navegar entre las más populares, de las que destacamos PhpUnit, Doctrine, Smarty, OpenSSL, etc.

En definitiva, en el ecosistema de LAMP encontramos todo tipo de programas, servidores, librerías, frameworks que se adaptan a las más diversas necesidades.

Muchos de ellos vienen incorporados por defecto al paquete LAMP que podemos instalar en sólo unos clics desde el Panel de Control de Cloudbuiler Next. Entre ellos, destacan: phpMyAdmin, SQLite, Varnish, ImageMagick, ModSecurity, XDebug, Xcache, OAuth, Memcache, FastCGI, APC, GD, OpenSSL, CURL, openLDAP, PEAR, PECL, Zend Framework, Symfony, CodeIgniter, CakePHP, Smarty y Laravel.

La instalación del entorno LAMP se realiza de manera casi automática en Cloudbuilder Next. A la hora de seleccionar la imagen en el proceso de creación del Servidor Cloud, se puede seleccionar LAMP como conjunto de apps de infraestructura en la pestaña Aplicaciones y se instalará con CentOS 7.

Linux vs Windows

La infraestructura AMP se puede implementar tanto en Linux como en Windows (Incluso en OS X MAMP), pero hay que considerar:

  • Disponibilidad y costes.
  • Requisistos de Hardware.
  • Apache y PHP/Python/perk se desarrollan inicialmente para Linux, mejora la velocidad.
  • Despliegue en servicios Cloud más ágil.
  • WAMP usado por desarrolladores no familizarizados con Linux

Instalación estándar/base

Los pasos para la insatalación estándar de LAMP son:

  • Creación de servidor
  • Instalación de paquetes: Apache, MySQL/MariaDB, PHP, PHPMyAdmin
  • Verificación de la instalación creando archivo php ()

Bastionar el servidor: siguientes pasos de seguridad

Para bastionar el servidor cloud serían necesarios los siguientes pasos:

  • Integrar WAF (Web Apllication Firewal)
  • Configurar seguridad de Apache
  • Configurar directivas de riesgo en PHP.ini (Memory_limit, etc.)
  • Deshabilitar servicios no necesarios
  • Añadir certificado SSL
  • Usar VPN (mjor con 2FA)
  • Etc. (Impedir el uso de root remoto, limitar acceso por IP,...)
Abrir el chat Open chat Ouvrir le chat Abrir o chat