LAMP, acrónimo de Linux, Apache, MySQL/MariaDB y PHP, es un stack de software de código abierto ampliamente adoptado para alojar aplicaciones web. Esta guía te proporcionará instrucciones sobre cómo instalar LAMP en Debian 12 Bookworm o las versiones estables anteriores de Debian 11 Bullseye o Debian 10 Buster, garantizando que tenga un entorno sólido para desarrollar e implementar aplicaciones web.
Pasos previos a la instalación de LAMP en Debian 12, 11 o 10
Antes de continuar con la configuración de la pila LAMP, es fundamental actualizar su sistema Debian para garantizar que todos los paquetes estén actualizados. Este paso garantiza que esté trabajando con las versiones más recientes y seguras de los paquetes de software.
Para actualizar su sistema Debian, ejecute el siguiente comando:
sudo apt update && sudo apt upgrade
Instale LAMP en Debian 12, 11 o 10 a través de APT
Paso 1: Instale Apache – Parte 1 de la configuración de la pila LAMP
Apache 2, también llamado HTTPD, es un servidor web y el primer componente que necesitará configurar como parte de la pila LAMP.
Para iniciar la instalación de Apache 2 en su sistema Debian, ingrese el comando proporcionado:
sudo apt install apache2
Una vez que se complete la instalación, debe verificar su éxito verificando la versión instalada de Apache. Este paso garantiza que el servidor web se haya instalado correctamente. Para hacer esto, ejecute:
sudo apache2 -v
Si el servidor Apache no se está ejecutando, se activa usando el siguiente comando. Este paso garantiza que el servidor web Apache no solo se inicie sino que también esté configurado para ejecutarse automáticamente al iniciar el sistema:
sudo systemctl enable apache2 --now
Para comprobar que funciona vamos al navegador y colocamos algunas de las siguientes opciones:
http://127.0.01
http://localhost
El resultado esperado debería ser
Si no te llega a funcionar, tenes que verificar que el firewall no este arriba o en todo caso permitir el puerto 80.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Este comando modifica las reglas del firewall del sistema para permitir conexiones entrantes en el puerto 80, asegurando que el tráfico web pueda llegar al servidor Apache sin obstáculos.
Paso 2: Instale MySQL o MariaDB – Parte 2 de la configuración de la pila LAMP
Simplemente instalamos el server y el cliente de mariadb para poder conectarnos.
sudo apt install mariadb-server mariadb-client
Verificamos el estado del servicio
systemctl status mariadb
Para iniciar el servicio
sudo systemctl enable mariadb ; sudo systemctl start mariadb
Lanzamos el script de instalación
sudo mysql_secure_installation
Se nos pedirá contestar algunas preguntas relacionadas con la seguridad:
- Defina una contraseña para las cuentas root.
- Eliminar las cuentas root a las que se pueda acceder desde fuera del host local.
- Eliminar cuentas de usuarios anónimos.
- Eliminar la base de datos de prueba, a la que, en su estado predeterminado, cualquier usuario anónimo puede acceder.
Paso 3: Instalar PHP – Parte 3 de la configuración de la pila LAMP
Integrando PHP con el módulo Apache
Esta sección explica cómo integrar PHP con Apache, cubriendo tanto el módulo PHP nativo de Apache como PHP-FPM. Para la mayoría de los usuarios que trabajan con la pila LAMP, normalmente se prefiere el módulo nativo a PHP-FPM.
Para incorporar el módulo PHP de Apache, ejecute lo siguiente:
sudo apt install phpx.x libapache2-mod-phpx.x
Para mayor claridad, un ejemplo concreto sería:
sudo apt install php8.1 libapache2-mod-php8.1
Si no estás seguro acerca de tu versión de PHP, este comando te ayudará a determinarla:
php -v
Después de la instalación, el módulo generalmente se carga automáticamente. Si es necesario cargarlo manualmente, el comando es:
sudo a2enmod php{versión}
Por ejemplo:
sudo a2enmod php8.1
Al finalizar la instalación, es fundamental reiniciar el servidor Apache para asimilar el módulo PHP:
sudo systemctl restart apache2
Configurando Apache con PHP-FPM
Para FastCGI Process Manager, PHP-FPM es una reconocida implementación alternativa de PHP FastCGI conocida por su eficiencia.
Para embarcarse en la configuración de PHP-FPM:
sudo apt install phpx.x-fpm libapache2-mod-fcgid
Para una aplicación práctica:
sudo apt install php8.1-fpm libapache2-mod-fcgid
Es de destacar que, de forma predeterminada, PHP-FPM permanece inactivo para Apache.
Activar PHP-FPM; un ejemplo con la versión 8.1 es:
sudo a2enmod proxy_fcgi setenvif && sudo a2enconf php8.1-fpm
Para completar esta configuración, es esencial reiniciar el servidor:
sudo systemctl restart apache2
Para verificar el estado operativo de PHP-FPM:
sudo systemctl status php8.1-fpm
Para aquellos que deseen desactivar PHP-FPM para Apache, lo siguiente les sirve como guía:
sudo a2dismod proxy_fcgi setenvif && sudo a2disconf php8.1-fpm
Una vez hecho esto, reinicie el servicio:
sudo systemctl restart apache2
Por último, para reactivar la extensión Apache del módulo PHP:
sudo a2enmod php8.1
Configurar una página de información de prueba de PHP en Debian 12, 11 o 10
Para crear el archivo, ejecutamos nano:
sudo nano /var/www/html/info.php
Dentro del archivo info.php
, colocamos el siguiente código PHP:
<?php
phpinfo();
?>
Después de ingresar el código, guardamos el archivo presionando CTRL+O
y luego salimos usando CTRL+X
. (O podemos usar F2).
Ahora comprobamos desde el navegador con: http://127.0.0.1/info.php
Priorizar la seguridad: eliminación de archivos de información PHP
sudo rm -f /var/www/html/info.php
Crear un certificado SSL gratuito Let’s Encrypt en Debian 12, 11 o 10
Para usar https con un certificado válido vamos a usar Certbot. Y cabe aclarar que el dominio debe existir, en este ejemplo voy a colocar example.com.
sudo apt install python3-certbot-apache -y
Tras una instalación exitosa, ejecute el siguiente comando para comenzar el proceso de creación del certificado:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com
Transición a HTTPS
Una vez que se ejecuten los pasos anteriores, la URL de su web pasará de la convencional HTTP://www.example.com
a la segura HTTPS://www.example.com
. Cualquier tráfico dirigido hacia la URL HTTP se redirigirá automáticamente a su contraparte HTTPS, lo que garantiza una experiencia de navegación segura para sus usuarios.
Conclusión
Instalar LAMP en Debian 12 Bookworm, Debian 11 Bullseye o Debian 10 Buster proporciona un entorno confiable y sólido para alojar y desarrollar una amplia gama de aplicaciones web. Esta pila de software de código abierto, que comprende Linux, Apache, MySQL/MariaDB y PHP, cuenta con el respaldo de una vasta comunidad que ofrece amplios recursos y soporte. Su flexibilidad y facilidad de implementación lo convierten en una excelente opción para principiantes y desarrolladores experimentados, lo que garantiza una base sólida para sus necesidades de alojamiento web.