Cómo Configurar un Entorno de Desarrollo LAMP en Debian 12: Guía Completa

Introducción

Bienvenido a nuestra guía paso a paso sobre cómo configurar un entorno LAMP (Linux, Apache, MariaDB, PHP) en Debian 12. Este tutorial está diseñado para desarrolladores y administradores de sistemas que buscan establecer una base sólida para aplicaciones web dinámicas utilizando tecnologías de código abierto. Aprenderás a instalar y configurar cada componente del stack LAMP, incluido MariaDB, que ofrece un rendimiento robusto para la gestión de bases de datos. Nuestra guía detallada te ayudará a configurar tu servidor de manera eficiente y efectiva, asegurando que esté optimizado para el desarrollo y prueba de aplicaciones PHP.

Requisitos previos

  • Acceso root o un usuario con privilegios de sudo en Debian 12.
  • Conocimientos básicos de la línea de comandos en Linux.

Al finalizar este tutorial, tendrás un entorno LAMP completamente funcional listo para alojar tus proyectos web. Además, te ofreceremos consejos para la resolución de problemas comunes y cómo mantener tu sistema actualizado. Si estás listo para mejorar tus habilidades en desarrollo web y administración de servidores, ¡comienza con este tutorial integral para configurar LAMP en Debian 12!

1. Instalación y Configuración de LAMP

Actualizar el Sistema

Abre una terminal y actualiza los paquetes del sistema para asegurarte de que todo esté al día:

sudo apt update && sudo apt upgrade

Instalar Apache

Instala el servidor web Apache:

sudo apt install apache2

Instalar y Configurar el Módulo Userdir

  1. Habilitar el módulo:
   sudo a2enmod userdir
  1. Editar la configuración de Userdir para permitir PHP:
   sudo nano /etc/apache2/mods-enabled/userdir.conf

Dentro de este archivo, busca y modifica el bloque <Directory /home/*/public_html> para incluir ExecCGI y asegúrate de que PHP esté habilitado:

   <Directory /home/*/public_html>
       AllowOverride All
       Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
       Require method GET POST OPTIONS
   </Directory>

Guarda y cierra el archivo.

  1. Reiniciar Apache:
   sudo systemctl restart apache2

Instalar PHP

Instala PHP y el módulo para conectarlo con MySQL:

sudo apt install php libapache2-mod-php php-mysql

Configurar php en public_html

Editar el fichero /etc/apache2/mods-available/php8.2.conf y comentar las últimas líneas

sudo nano /etc/apache2/mods-available/php8.2.conf

Configuración del Directorio public_html

Cada alumno debe crear y configurar su directorio public_html en su directorio home:

mkdir ~/public_html
chmod 755 ~/public_html
chmod 755 /home/usuario

Archivo index.php

En el directorio ~/public_html, crea los siguientes archivos PHP: index.php con el contenido

   <?php
echo "hola mundo!";
   ?>

Prueba la Aplicación

Cada estudiante puede probar su aplicación navegando a http://localhost/~username/, donde username es su nombre de usuario en Debian.

Instalar MariaDB

MariaDB es un sistema de gestión de bases de datos relacional, que se ha convertido en una popular alternativa a MySQL. Aquí te mostraré cómo instalar MariaDB y realizar una configuración básica para tu entorno LAMP.

Instalar el servidor MariaDB

Abre una terminal y ejecuta el siguiente comando para instalar el servidor MariaDB:

sudo apt install mariadb-server

Configurar la seguridad de MariaDB

Una vez instalado MariaDB, es recomendable ejecutar el script de seguridad que viene incluido. Este script te permitirá eliminar algunas configuraciones por defecto que son consideradas inseguras. Ejecuta el siguiente comando en la terminal:

sudo mysql_secure_installation

Durante la ejecución de este script, responderás a varias preguntas para configurar aspectos de seguridad de tu servidor MariaDB, como establecer una contraseña para el usuario root de MariaDB, eliminar cuentas anónimas, deshabilitar el inicio de sesión remoto para root y eliminar la base de datos de prueba.

Verificar la instalación de MariaDB

Para asegurarte de que MariaDB está instalado y corriendo correctamente, puedes intentar iniciar sesión en la consola de MariaDB con el siguiente comando:

sudo mariadb -u root -p

Te pedirá la contraseña que configuraste durante el script de mysql_secure_installation. Una vez dentro, puedes salir escribiendo:

exit;

Habilitar MariaDB para iniciar al arranque

Para asegurarte de que MariaDB se inicie automáticamente al encender el sistema, ejecuta el siguiente comando:

sudo systemctl enable mariadb

Crear una base de datos

Para crear una base de datos en MariaDB junto con un usuario específico que tenga permisos para acceder y modificar esta base de datos, puedes seguir los siguientes pasos. Estos comandos deben ejecutarse en la terminal de MariaDB, a la que puedes acceder usando el comando sudo mariadb -u root -p. Este comando te pedirá la contraseña del usuario root que configuraste durante la instalación.

Paso 1: Acceder a MariaDB

Primero, inicia sesión en tu servidor MariaDB como el usuario root:

sudo mariadb -u root -p

Te pedirá que ingreses la contraseña del usuario root.

Paso 2: Crear la Base de Datos

Una vez dentro del prompt de MariaDB, crea la base de datos que desees. En este caso, la base de datos se llamará formacion:

CREATE DATABASE formacion;

Paso 3: Crear el Usuario

A continuación, crea un nuevo usuario. En este ejemplo, el usuario se llamará guillem. Deberás asignar una contraseña segura en lugar de tu_contraseña:

CREATE USER 'guillem'@'localhost' IDENTIFIED BY 'tu_contraseña';

Este comando crea el usuario guillem que solo podrá conectarse desde el host local (localhost). Es importante elegir una contraseña fuerte para asegurar el acceso a la base de datos.

Paso 4: Otorgar Permisos

Ahora, necesitas otorgar a este usuario permisos específicos sobre la base de datos formacion. Para darle todos los permisos (lo cual es común en un entorno de desarrollo), puedes usar el siguiente comando:

GRANT ALL PRIVILEGES ON formacion.* TO 'guillem'@'localhost';

Este comando otorga todos los privilegios al usuario guillem para realizar cualquier acción en todas las tablas de la base de datos formacion.

Paso 5: Aplicar los Cambios

Después de otorgar los permisos, es necesario aplicar los cambios ejecutando:

FLUSH PRIVILEGES;

Este comando le dice a MariaDB que recargue la tabla de permisos y aplique los nuevos cambios inmediatamente.

Paso 6: Salir de MariaDB

Finalmente, puedes salir del prompt de MariaDB con:

EXIT;

Conectar y Probar

Para probar que todo funciona correctamente, puedes intentar conectarte a MariaDB con el nuevo usuario y verificar que tiene acceso a la base de datos formacion:

mariadb -u guillem -p

Una vez dentro, intenta acceder a la base de datos:

USE formacion;

Si no recibes errores, ¡tu configuración ha sido exitosa!

Con estos pasos, has creado con éxito una base de datos en MariaDB y un usuario con permisos completos sobre esa base de datos. Esto te permitirá comenzar a trabajar en tu entorno de desarrollo LAMP con MariaDB.

crear tabla

Para crear la tabla de contactos usar la siguiente instrucción sql

CREATE TABLE contactos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    telefono VARCHAR(255),
    correo VARCHAR(255),
    mensaje TEXT
);

Probar la conexión a MariaDB desde PHP

Para verificar que PHP puede conectarse a MariaDB, puedes crear un pequeño script de prueba en tu directorio public_html. Aquí tienes un ejemplo de cómo se vería:

<?php
$conexion = new mysqli("localhost", "tu_usuario", "tu_contraseña", "tu_base_de_datos");

if ($conexion->connect_error) {
    die("Conexión fallida: " . $conexion->connect_error);
}
echo "Conexión exitosa a MariaDB!";
?>

Reemplaza "tu_usuario", "tu_contraseña" y "tu_base_de_datos" con tus credenciales reales de MariaDB.

Guarda este archivo como test_mariadb.php en tu directorio public_html y luego navega a http://localhost/~username/test_mariadb.php para ver si la conexión a la base de datos funciona correctamente.

Con estos pasos, has completado la instalación y configuración de MariaDB en tu entorno LAMP en Debian 12.