Como instalar Lamp en Debian 12

lamp

¿Que es Lamp?

Lamp es un conjunto de herramientas de código abierto que se utilizan para crear y gestionar aplicaciones web. Los principales componentes de esta pila son:

  • Linux: Sistema operativo donde se ejecutará la pila Lamp.

  • Apache: Servidor web.

  • Mariadb: Gestor de base de datos.

  • PHP: Lenguaje de programación utilizado para desarrollar aplicaciones web.

Requisitos

  • Sistema Debian 12 actualizado.
  • Privilegios de root o sudo.
  • Acceso a internet.

Instalación de Lamp

La instalación de la pila Lamp es bastante sencilla, solo necesitamos instalar las herramientas mencionadas anteriormente, un módulo de php y una librería de apache para que php pueda comunicarse con apache y mariadb.

root@lamp:~# apt install apache2 libapache2-mod-php php8.2 php8.2-mysql mariadb-server -y

Para comprobar el estado de los servicios de Lamp podemos usar el comando systemctl:

root@lamp:~# systemctl status apache2.service mariadb.service

Salida del comando:

* apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-08-03 22:10:56 UTC; 1min 1s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 11536 (apache2)
      Tasks: 6 (limit: 18995)
     Memory: 11.9M
        CPU: 47ms
     CGroup: /system.slice/apache2.service
             |-11536 /usr/sbin/apache2 -k start
             |-11538 /usr/sbin/apache2 -k start
             |-11539 /usr/sbin/apache2 -k start
             |-11540 /usr/sbin/apache2 -k start
             |-11541 /usr/sbin/apache2 -k start
             `-11542 /usr/sbin/apache2 -k start

Aug 03 22:10:56 lamp systemd[1]: Starting apache2.service - The Apache HTTP Server...
Aug 03 22:10:56 lamp systemd[1]: Started apache2.service - The Apache HTTP Server.

* mariadb.service - MariaDB 10.11.3 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-08-03 22:10:53 UTC; 1min 5s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 10288 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 11 (limit: 18995)
     Memory: 79.0M
        CPU: 328ms
     CGroup: /system.slice/mariadb.service
             `-10288 /usr/sbin/mariadbd

Aug 03 22:10:53 lamp mariadbd[10288]: 2023-08-03 22:10:53 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
Aug 03 22:10:53 lamp mariadbd[10288]: 2023-08-03 22:10:53 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog->
Aug 03 22:10:53 lamp mariadbd[10288]: 2023-08-03 22:10:53 0 [Note] Server socket created on IP: '127.0.0.1'.

Prueba de funcionamiento de Lamp

Con la pila Lamp ya en funcionamiento vamos a comprobar su funcionamiento:

Para comprobar el funcionamiento de Lamp vamos a crear una página web de manera muy sencilla con el siguiente comando:

root@lamp:~# echo '<?php phpinfo();' > /var/www/html/info.php

Para acceder a esta página web introducimos en nuestro navegador la ip o nombre dns de la máquina donde hemos instalado Lamp y hacemos referencia el archivo info.php (http://ip-server/info.php).

info-php

Mariadb

Por defecto el usuario root de Mariadb se loguea a través de sockets unix y no pide contraseña, podemos acceder al gestor de base de datos con el siguiente comando:

root@lamp:~# mysql

Salida del comando:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.11.3-MariaDB-1 Debian 12

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Si queremos cambiar eso podemos hacer una instalación manual con el comando ‘mariadb-secure-installation’.

root@lamp:~# mariadb-secure-installation