Cómo instalar LAMP en Debian 10 Buster

Dedicamos esta entrada a explicar cómo instalar LAMP en Debian 10 Buster paso a paso. Con la llegada del nuevo Debian 10 Buster vienen incluidas en el repositorio de la distribución nuevas versiones de los componentes del servidor LAMP (Apache, PHP y MariaDB). Al final de esta guía de instalación tendrás todo el conjunto instalado y configurado para trabajar perfectamente de forma conjunta en tu servidor o VPS Debian.

Antes de instalar LAMP en Debian 10

Para seguir esta guía de instalación de un servidor LAMP en Debian 10 Buster deberías cumplir estos requisitos mínimos:

  • Una máquina Debian 10 Buster actualizada.
  • Acceso a consola como usuario privilegiado (sudo) o root.
  • Conexión a Internet.

También necesitaremos algunas herramientas del sistema que obtendremos desde sus repositorios, para lo que los actualizamos:

~$ sudo apt update

E instalamos dichas herramientas:

~$ sudo apt install -y curl gnupg

Cómo instalar LAMP en Debian 10

Vamos a instalar el servidor LAMP en Debian 10 Buster descargando el software necesario directamente desde los repositorios de la distribución o desde repositorios externos para los componentes que prefieras.

PHP 8.3, 8.2, 8.1, 8.0 y 7.4

Debian 10 incluye la versión 7.3 en sus repositorios, pero si prefieres PHP 8.3, 8.2, 8.1, 8.0 ó 7.4 (e incluso versiones anteriores) puedes instalar un repositorio externo:

~$ sudo nano /etc/apt/sources.list.d/php-sury.org.list

Con la siguiente línea:

deb http://packages.sury.org/php/ buster main

Guardamos el archivo y descargamos e instalamos la clave pública con la que se comprueban las firmas de los paquetes de este repositorio:

~$ sudo wget -O /etc/apt/trusted.gpg.d/php-sury.org.gpg https://packages.sury.org/php/apt.gpg

MariaDB 10.11 y 10.6

Debian 10 incluye la versión 10.3 en sus repositorios, así que como en el caso anterior, si necesitas alguna versión superior tendrás que instalar el repositorio oficial. Por ejemplo, para la versión estable con soporte a largo plazo 10.6:

~$ sudo nano /etc/apt/sources.list.d/mariadb.org-10.6.list

Con esta línea:

deb http://mirrors.up.pt/pub/mariadb/repo/10.6/debian buster main

Si quieres usar otra versión bastará con cambiar el número en las líneas anteriores.

Guardamos el archivo y descargamos la clave pública para la comprobación de firmas de este repositorio:

~$ curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF1656F24C74CD1D8' | sudo apt-key add -

Instalación de los componentes de la pila LAMP

El primer paso es actualizar las listas de paquetes de todos los repositorios:

~$ sudo apt update

Suele ser buena idea, sobre todo si te has decidido por instalar repositorios externos, actualizar paquetes ya instalados en tu sistema Debian 10:

~$ sudo apt upgrade -y

Con el sistema actualizado es el momento de descargar e instalar los paquetes necesarios. Indica en la nomenclatura de los paquetes de PHP la versión que prefieres, por ejemplo para la 8.1

~$ sudo apt install -y apache2 libapache2-mod-php8.1 php8.1 php8.1-curl php8.1-mysql mariadb-server

O si prefieres la versión 8.3:

~$ sudo apt install -y apache2 libapache2-mod-php8.3 php8.3 php8.3-curl php8.3-mysql mariadb-server

Terminada la instalación tenemos dos nuevos servicios corriendo en el sistema, apache2 y mariadb. Además de iniciados, los servicios se encuentran activados, por lo que volverán a iniciarse automáticamente cada vez que arranque la máquina Debian 10.

Puedes comprobar el estado de ambos servicios con el comando systemctl:

~$ systemctl status apache2 mariadb

como instalar lamp en debian 10 buster

Configurar el firewall para la pila LAMP en Debian 10

Si tienes activado el firewall UFW en Debian 10 y quieres que tus aplicaciones LAMP sean accesibles desde la red, debes añadir algunas reglas al firewall.

Para permitir el acceso al servidor web:

~$ sudo ufw allow http

Si decides ofrecer contenido seguro mediante HTTPS:

~$ sudo ufw allow https

Cómo configurar el servidor LAMP en Debian 10

Configurar al detalle cada uno de los elementos de la pila LAMP excede esta pequeña guía, sobre todo porque la instalación deja el servidor LAMP totalmente funcional. Pero unas indicaciones sobre dónde encontrar los archivos de configuración siempre vienen bien.

El motor de base de datos

La ruta de los archivos de configuración de MariaDB se encuentra en /etc/mysql/. El archivo principal de configuración es my.cnf que se limita a cargar configuraciones prensentes en los directorios conf.d/ y mariadb.conf.d/.

La configuración por defecto ha eliminado las bases de datos de pruebas y los usuarios anónimos. El único usuario que existe es root con acceso local, sin clave, aunque sólo puede conectar con el cliente mysql el propio root o un usuario mediante sudo.

configurar lamp en debian 10 buster

Si necesitas ayuda con la configuración de MariaDB, creación de usuarios, etc. echa un vistazo a la guía de instalación de MariaDB Server en Debian 10 Buster.

PHP

La ruta de los arhivos de configuración de PHP es /etc/php/. Dentro de esta carpeta hay otras tantas como versiones de PHP tengamos instaladas, por ejemplo 7.3/, 7.4/, 8.0/, 8.1/, etc.

Finalmente dentro de la carpeta de versión de PHP se encuentran las configuraciones organizadas también a su vez por carpetas de Apache, línea de comandos, y módulos. El archivo que nos interesa es /etc/php/X.X/apache2/php.ini, ya que es el lugar donde ajustaremos cualquier configuración de PHP para las aplicaciones LAMP.

Deberías editar php.ini para asigarle el valor de tu zona horaria a la directiva date.timezone. Además, la configuración por defecto es para entorno de producción, por lo que los mensajes de error no se muestran en las páginas web, tendrías que buscarlos en los archivos de log del servidor web.

Igualmente deberías editar el archivo php.ini de la versión de consola o CLI, cuya ruta es /etc/php/X.X/cli/php.ini. En este archivo sólo sería necesario configurar la directiva date.timezone con el mismo valor que en el paso anterior.

Si necesitas información extendida, consulta la pequeña guía de instalación de PHP en Debian 10 Buster.

El servidor web

La ruta de configuración es /etc/apache2/, siendo el archivo principal de configuración /etc/apache2/apache2.conf. Este archivo incluye las configuraciones guardadas en otras carpetas, como conf-enabled/, mods-enabled/ y sites-enabled/, relativas a configuraciones adicionales, servidores virtuales y módulos de Apache.

La página por defecto se aloja en /var/www/html/, donde puedes alojar contenido sin configuraciones adicionales.

Para más información sobre configuración, servidores virtuales, etc. puede que te interese la guía de instalación de Apache en Debian 10 Buster.

Cómo probar el servidor LAMP en Debian 10

Para comprobar el funcionamiento de nuestro nuevo servidor LAMP en Debian 10 Buster crearemos un pequeño script en PHP y lo situaremos en la carpeta de la página por defecto de Apache.

Crearemos el script, llamdo info.php, en la ruta /var/www/html/:

~$ sudo nano /var/www/html/info.php

El contenido será una sola línea con una llamada a la función phpinfo(), que nos proporcionará muchísima información sobre la configuración de PHP:

<?php phpinfo(); ?>

Accederemos al servidor LAMP usando la dirección IP, nombre o dominio de la máquina Debian 10 y añadiendo la ruta /info.php.

Por ejemplo, si la máquina es accesible con el dominio debian10.local.lan, usaríamos http://debian10.local.lan/info.php como URL:

instalar lamp en debian 10 buster

En esta página podemos ver información sobre la versión de PHP, archivos de configuración, módulos cargados, etc. Por ejemplo, aparecerá información sobre los módulos cargados de MySQL que funcionan perfectamente con MariaDB.

Pero vamos a crear una prueba un poco más elaborada, creando una base de datos y un usuario en MariaDB con los que conectaremos desde una página en PHP.

Iniciamos sesión con el cliente mysql a través de sudo:

~$ sudo mysql

Creamos la base de datos de pruebas lamp_db:

> create database lamp_db;
Query OK, 1 row affected (0.001 sec)

Y ahora creamos el usuario lamp_user con contraseña 1234:

> create user lamp_user@localhost identified by '1234';
Query OK, 0 rows affected (0.016 sec)

Concederemos permisos al usuario sobre la base de datos:

> grant all privileges on lamp_db.* to lamp_user@localhost;
Query OK, 0 rows affected (0.001 sec)

Hecho esto sólo queda actualizar los permisos:

> flush privileges;
Query OK, 0 rows affected (0.001 sec)

Y salir a consola:

> exit
Bye
~$

Ahora crearemos el sencillo script php en /var/www/html/:

~$ sudo nano /var/www/html/phptest.php

Y el contenido será este:

<?php

$enlace = mysqli_connect("127.0.0.1", "lamp_user", "1234", "lamp_db");

if (!$enlace) {
        echo "Error: No se pudo conectar a MariaDB/MySQL.\n";
        echo "código de error: " . mysqli_connect_errno() . PHP_EOL;
        echo "mensaje de error: " . mysqli_connect_error() . PHP_EOL;
        exit;
}

echo "<h1>Éxito: ¡Se realizó una conexión apropiada a MariaDB/MySQL!</h1>\n";
echo "<h2>Información del host: " . mysqli_get_host_info($enlace) . "</h2>\n";
mysqli_close($enlace);

Este script es simple, intenta conectar al sistema de bases de datos usando la función mysqli_connect() especificando la dirección del sevidor, el usuario, la contraseña y la base de datos. La dirección del servidor es 127.0.0.1 ó localhost, ya que los servidores web y de bases de datos están en la misma máquina.

Accedemos de nuevo al servidor LAMP para probar este script mediante el navegador. Siguiendo el ejemplo, la URL en esta ocasión sería http://debian10.local.lan/phptest.php, y obtenemos esto:

como instalar la pila lamp en debian 10

Justo lo que esperábamos, la conexión ha sido exitosa.

Conclusión

Ahora que ya sabes instalar un sevidor LAMP en Debian 10 tienes el entorno perfecto para diseñar potentes aplicaciones web, o instalar complejos CMS que requieren este tipo de backend.

Déjame un comentario si tienes alguna duda, pregunta, sugerencia, etc.

Y si te ha servido este tutorial rápido para instalar tu servidor LAMP en Debian 10 Buster y quieres agradecérmelo, puedes hacerlo dejando una propina a partir de 1 $ desde PayPal:

¡Gracias!

5/5 - (3 votos)

7 comentarios en «Cómo instalar LAMP en Debian 10 Buster»

  1. Hola. En el paso curl -sSL ‘http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF1656F24C74CD1D8’ | sudo apt-key add –
    bash: ~$: orden no encontrada

    De aquí no pasa…

    Responder
    • ¡Hola, Jorgeleitor! Lo que te ha pasado es que has copiado toda la línea incluyendo el comienzo, los símbolos ~$ que conforman el prompt del sistema, en lugar de copiar sólo lo que viene a continuación. Puesto que en el tutorial existen antes que ese otros comandos de consola intuyo que simplemente te has despistado.

      Responder
  2. Buenas, Chacho. A día de hoy, 1 de marzo de 2021, es el único tutorial que funciona en Raspberry Pi Debian 10 Buster 32 bits. Agradecido de tu trabajo enormemente. De más de 20 tutoriales que he usado al respecto, es el único que funciona. Muchísimas gracias.

    Responder

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.