Instalar la pila LAMP en Debian 11
La Pila LAMP es un conjunto común de herramientas de código abierto utilizadas para alojar sitios web y aplicaciones en la web. La Pila LAMP es una plataforma de desarrollo web que utiliza Linux como sistema operativo, Apache como servidor web, MariaDB/MySQL como servidor de bases de datos y PHP como lenguaje de scripting. Su uso está muy extendido y proporciona un conjunto de software probado para ofrecer aplicaciones web de alto rendimiento.
En este tutorial, te mostraremos cómo instalar la pila LAMP en Debian 11.
Requisitos previos
- Un servidor que ejecute Debian 11.
- Un nombre de dominio válido apuntado con la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Instalar el servidor web Apache
El paquete del servidor web Apache está incluido en el repositorio por defecto de Debian 11. Puedes instalarlo simplemente ejecutando el siguiente comando:
apt-get install apache2 apache2-utils -y
Tras instalar el servidor web Apache, verifica la versión instalada de Apache con el siguiente comando:
apache2 -v
Deberías ver la siguiente salida:
Server version: Apache/2.4.48 (Debian) Server built: 2021-08-12T11:51:47
Para iniciar el servicio Apache, ejecuta el siguiente comando:
systemctl start apache2
Para activar el servicio Apache de modo que se inicie al arrancar el sistema, ejecuta el siguiente comando:
systemctl enable apache2
También puedes comprobar el estado completo del Apache con el siguiente comando:
apt-get install elinks apache2ctl fullstatus
Deberías ver la siguiente salida:
Apache Server Status for localhost (via ::1) Server Version: Apache/2.4.48 (Debian) Server MPM: prefork Server Built: 2021-08-12T11:51:47 -------------------------------------------------------------------------- Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC Parent Server Config. Generation: 1 Parent Server MPM Generation: 0 Server uptime: 7 seconds Server load: 0.05 0.01 0.00 Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0 CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load 0 requests/sec - 0 B/second 1 requests currently being processed, 4 idle workers
Por defecto, Apache se ejecuta en el puerto 80, puedes comprobarlo con el siguiente comando:
ss -antpl | grep apache2
Deberías obtener la siguiente salida:
LISTEN 0 511 *:80 *:* users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))
También puedes comprobar la instalación de Apache navegando por la URL http://your-server-ip. Deberías ver la página de prueba de Apache en la siguiente pantalla:
Instalar el servidor de bases de datos MariaDB
MariaDB es un sistema de gestión de bases de datos que se utiliza para almacenar y gestionar los datos de tu sitio web. Puedes instalarlo utilizando el siguiente comando:
apt-get install mariadb-server -y
Una vez instalado MariaDB, inicia el servicio MariaDB y habilítalo para que se inicie al arrancar el sistema utilizando el siguiente comando:
systemctl start mariadb systemctl enable mariadb
También puedes comprobar el estado del servicio MariaDB utilizando el siguiente comando:
systemctl status mariadb
Deberías ver la siguiente salida:
? mariadb.service - MariaDB 10.3.31 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 1838 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2353) Memory: 66.1M CGroup: /system.slice/mariadb.service ??1838 /usr/sbin/mysqld
También se recomienda asegurar tu instalación de MariaDB y establecer una contraseña de root de MariaDB. Puedes ejecutar el script mysql_secure_installation para asegurar la instalación de MariaDB:
mysql_secure_installation
Se te pedirá que establezcas una contraseña de root de MariaDB, elimines los usuarios anónimos, deshabilites el inicio de sesión de root de forma remota y elimines la base de datos de prueba, como se muestra a continuación:
Enter current password for root (enter for none): Change the root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Por defecto, MariaDB se ejecuta en el puerto 3306. Puedes comprobarlo utilizando el siguiente comando:
ss -antpl | grep mariadb
Deberías ver el siguiente comando:
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
Para conectar la shell de MariaDB, ejecuta el siguiente comando:
mysql -u root -p
Proporciona tu contraseña de root de MariaDB y pulsa Intro para conectarte al shell de MariaDB. Una vez conectado, deberías ver la siguiente salida:
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 64 Server version: 10.5.11-MariaDB-1 Debian 11 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Ahora, ejecuta el siguiente comando para comprobar la versión de MariaDB:
MariaDB [(none)]> SELECT VERSION();
Deberías ver la siguiente salida:
+-------------------+ | VERSION() | +-------------------+ | 10.5.11-MariaDB-1 | +-------------------+ 1 row in set (0.001 sec)
Instalar el lenguaje de procesamiento PHP
PHP es el lenguaje de procesamiento utilizado para servir aplicaciones PHP en el servidor web. Por defecto, la versión de PHP disponible en Debian 11 es PHP 7.4. Puedes instalar PHP con otras extensiones de uso común con el siguiente comando:
apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y
Una vez instalado PHP, verifica la versión de PHP con el siguiente comando:
php -v
Deberías ver la siguiente salida:
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Crear un host virtual para Apache
En este punto, la pila LAMP está instalada en tu servidor. Ahora, necesitarás crear un archivo de configuración del host virtual de Apache para alojar cualquier aplicación.
En este caso, crearemos un directorio ejemplo.com para alojar una página PHP. Puedes crearlo con el siguiente comando:
mkdir /var/www/html/example.com
A continuación, establece la propiedad del directorio example.com en www-data:
chown -R www-data:www-data /var/www/html/example.com
A continuación, crea un archivo de configuración de host virtual Apache con el siguiente comando:
nano /etc/apache2/sites-available/example.com.conf
Añade las siguientes líneas:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName example.com DocumentRoot /var/www/html/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Guarda y cierra el archivo y, a continuación, activa el host virtual ejemplo.com y desactiva el host virtual por defecto con el siguiente comando:
a2ensite example.com.conf a2dissite 000-default
A continuación, comprueba que el archivo de host virtual no contenga ningún error de sintaxis con el siguiente comando:
apache2ctl configtest
Si todo va bien, deberías ver la siguiente salida:
Syntax OK
Por último, reinicia el servicio Apache para aplicar los cambios de configuración:
systemctl reload apache2
También puedes comprobar el estado del servicio Apache con el siguiente comando:
systemctl status apache2
Deberías ver la siguiente salida:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 2257 (apache2) Tasks: 55 (limit: 2353) Memory: 5.3M CGroup: /system.slice/apache2.service ??2257 /usr/sbin/apache2 -k start ??2259 /usr/sbin/apache2 -k start ??2260 /usr/sbin/apache2 -k start Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server... Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9> Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.
Verificar la instalación de PHP en Apache
A continuación, tendrás que crear un archivo PHP de ejemplo para servirlo a través del servidor web Apache. Puedes crear un archivo phpinfo.php dentro de tu directorio example.com:
nano /var/www/html/example.com/phpinfo.php
Añade la siguiente línea:
<?php phpinfo(); ?>
Guarda y cierra el archivo y, a continuación, abre tu navegador web y accede a tu página PHP utilizando la URL http://example.com/phpinfo.php. Deberías ver tu página PHP en la siguiente pantalla:
Conclusión
En la guía anterior hemos explicado cómo instalar la pila LAMP en Debian 11. Ahora puedes empezar a alojar tu primer sitio web utilizando la pila LAMP. No dudes en preguntarme si tienes alguna duda.