img

¿Qué es un Servidor LAMP?:

El acrónimo LAMP se refiere a un entorno configurado en un servidor que nos posibilita servir aplicaciones web escritas en PHP.

LAMP es el acrónimo de:

  • Linux: el sistema operativo.
  • Apache: el servidor web.
  • MySQL: MariaDB, el gestor de bases de datos.
  • PHP: el lenguaje de programación.

La combinación de estas tecnologías es usada principalmente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para el desarrollo del sistema.

A pesar de que el origen de estos programas de código abierto no fue específicamente diseñado para trabajar entre sí, la combinación se popularizó debido a su bajo coste de adquisición y ubicuidad de sus componentes (ya que vienen pre-instalados en la mayoría de las distribuciones linux).

Cuando son combinados, representan un conjunto de soluciones que proporcionan servidores de aplicaciones.

Requisitos Previos:

Para este escenario parto de una máquina basada en Debian 12, limpia recién instalada.

Por lo que parto de una instalación desde cero.

Instalación:

Servidor de base de datos MariaDB:

El primer paso es instalar el servidor de base de datos MySQL , en este caso, es MariaDB:

sudo apt update

sudo apt install mariadb-server

Como es necesario que el usuario root de la base de datos tenga contraseña, voy a realizar la instalación tambien de mariadb-secure-installation, para tener protegida correctamente la base de datos, y de paso, darle una contraseña a root:

sudo mariadb-secure-installation

Durante el proceso, nos hará una serie de preguntas, como establecer una contraseña de root, impedir que root se conecte en remoto, eliminar usuarios anónimos, eliminar la base de datos por defecto llamada test, etc.

Para iniciar sesión en la base de datos:

mysql -u root -p

Una vez dentro creo una base de datos conforme a las necesidades que tenga, junto con un usuario, y le otorgo privilegios sobre esa base de datos:

CREATE DATABASE nombrebd;
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';
GRANT ALL PRIVILEGES ON nombrebd.* to 'usuario'@'localhost';
FLUSH PRIVILEGES;

Instalación de Apache y PHP:

Para poder servir aplicaciones PHP usando apache, hay que instalar las librerias PHP para poder conectar las aplicaciones web con las bases de datos necesarias, para que puedan funcionar correctamente.

Por otro lado instalaremos tambien el servidor web, que en este tipo de escenario es apache2, junto con el módulo que permite que apache2 interprete PHP.

sudo apt install apache2 libapache2-mod-php php php-mysql
  • Como se ve en la imagen, la versión a la que apunta PHP es la versión 8.2.

Comprobación de funcionamiento:

Para poder comprobar que el servidor esta funcionando correctamente, voy a crear un fichero llamado info.php, en el DocumentRoot, es decir, en el directorio /var/www/html:

<?php phpinfo(); ?>

Este fichero debe ser propiedad del usuario www-data:www-data:

sudo chown www-data:www-data info.php

El siguiente paso hay que definir la resolución estática , y para ello, desde nuestro host (la máquina desde donde me conecto a mi máquina llamada lamp), voy a comprobar si funciona.

Para ello voy al fichero /etc/hosts de mi máquina a la cual me voy a conectar a la máquina lamp y añado la ip de la máquina lamp:

192.168.122.141 www.example.org
  • Esa ip, es de la máquina lamp.

Ahora desde el navegador, introduzco la URL:

www.example.org/info.php

Y como podemos comprobar, el servidor lamp esta configurado para instalar aplicaciónes web PHP.