Cómo instalar la pila LAMP (Linux, Apache, MariaDB y PHP) en Ubuntu 24.04

La Pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) es un conjunto de tecnologías de código abierto para crear sitios y aplicaciones web. Cada componente de la Pila LAMP es gratuito, y puedes instalarlo tanto para entornos de desarrollo como de producción.

En esta guía, aprenderás a instalar LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP) en el servidor Ubuntu 24.04 «Noble Numbat». También aprenderás a proteger MariaDB y a crear un host virtual utilizando un servidor web Apache.

Requisitos previos

Para empezar con esta guía, asegúrate de que tienes el Ubuntu 24.04 «Noble Numbat» con el usuario root o usuario no root con privilegios de administrador.

Instalación del servidor web Apache

Apache es uno de los programas de servidor web más populares de Internet. Apache alimenta algunos de los grandes sitios de Internet, como Wikipedia, Slack, LinkedIn, The New Your Times y muchos más.

El servidor web Apache es famoso por su modularidad, que permite a los usuarios ampliar sus funciones mediante módulos. En esta sección, instalarás el servidor web Apache en el servidor Ubuntu 24.04.

Para empezar, ejecuta el siguiente comando para actualizar la lista de paquetes de Ubuntu y obtener la información más reciente sobre los paquetes.

sudo apt update

actualizar repo

Ahora instala el servidor web Apache utilizando el siguiente comando‘apt install‘. Introduce Y para confirmar la instalación.

sudo apt install apache2

instala apache2

Una vez finalizada la instalación, el servicio apache2 debería iniciarse y ejecutarse automáticamente al arrancar el sistema. Comprueba el estado del servicio apache2 con el siguiente comando.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Verás que el servicio apache2 está«habilitado» y se ejecutará automáticamente al arrancar el sistema. El estado actual del servicio apache2 es ‘activo(en ejecución)‘.

comprobación del servicio apache

Si tienes UFW (Uncomplicated Firewall) ejecutándose en tu Ubuntu, necesitas permitir el tráfico a tu servidor web Apache a través de UFW.

Ejecuta el siguiente comando‘ufw‘ para permitir el tráfico al servidor web Apache a través del perfil ‘Apache Full’. El perfil «Apache Full» en UFW abrirá los puertos HTTP y HTTPS.

sudo ufw allow 'Apache Full'

Ahora ejecuta el siguiente comando para verificar las reglas de la lista en UFW. Verás el perfil «Apache completo» con el estado«PERMITIDO«.

sudo ufw status

permitir http https ufw

Por último, abre tu navegador web y visita la dirección IP de tu servidor, como http://192.168.5.30/. Si todo va bien, deberías obtener la página‘index.html‘ del servidor web Apache como la siguiente:

índice apache

Si no estás seguro de la dirección IP de tu servidor Ubuntu, ejecuta el siguiente comando para comprobar la dirección IP de tu servidor.

ip a

Instalar el servidor de bases de datos MariaDB

MariaDB es un RDBMS (Sistema de Gestión de Bases de Datos Relacionales) gratuito y de código abierto, bifurcado de MySQL. Fue creado por los desarrolladores originales de MySQL, pero con más funciones, mayor velocidad de consulta y más escalable.

Para esta instalación LAMP Stack, utilizarás MariaDB en lugar de MySQL. Así que ahora instalarás y asegurarás el servidor de base de datos MariaDB en Ubuntu 24.04.

Para instalar el servidor MariaDB en Ubuntu, ejecuta el siguiente comando‘apt install‘. Introduce Y para proceder a la instalación.

sudo apt install mariadb-server

instalar mariadb

Una vez completada la instalación, el servicio MariaDB debería estar funcionando y habilitado en tu sistema. Comprueba el estado del servicio MariaDB utilizando el siguiente comando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Verás una salida‘enabled‘ cuando el servicio mariadb esté habilitado. También verás que el estado actual del servicio mariadb es ‘activo (en ejecución)‘.

instalar el servicio mariadb

Con el servidor MariaDB en ejecución, tienes que asegurarlo mediante la utilidad ‘mariadb-secure-installation’. Esto te permite configurar la contraseña de root de MariaDB, desactivar la autenticación remota para el usuario root de MariaDB y te permite eliminar los datos por defecto de tu servidor MariaDB.

Ejecuta el comando ‘mariadb-secure-installation’ que aparece a continuación para asegurar la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Pulsa ENTER cuando se te pida la contraseña de root de MariaDB.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Escriben’ cuando se te pida cambiar a la autenticación unix_socket.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

Escribe « Y» para configurar la contraseña raíz de MariaDB. A continuación, introduce tu nueva contraseña y repite.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Escribe Y para eliminar el usuario anónimo por defecto de tu instalación del servidor MariaDB.

Remove anonymous users? [Y/n] Y
 ... Success!

Escribe Y para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB. El usuario root debe conectarse siempre desde localhost.

Disallow root login remotely? [Y/n] Y
 ... Success!

Vuelve a teclear Y para eliminar la prueba de base de datos por defecto y sus privilegios de tu servidor MariaDB.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Escribe Y para recargar las tablas de privilegios y aplicar todos los cambios que has hecho hasta ahora.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cuando hayas terminado, verás el siguiente mensaje:

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Instalando PHP

PHP es un lenguaje de programación de código abierto para el desarrollo web. También es la base de los CMS (Sistema de Gestión de Contenidos) más populares, como WordPress y Drupal. En esta sección, instalarás PHP con algunas de las siguientes extensiones:

  • libapache2-mod-php: Este paquete permitirá la integración entre el servidor web Apache y PHP.
  • php-mysql: El controlador MySQL/MariaDB para PHP. Debes instalar este paquete, especialmente cuando desarrolles o despliegues una aplicación web PHP con MySQL/MariaDB como base de datos.
  • php-opcache y php-apcu: Este paquete ofrece rendimiento de caché para tus aplicaciones web PHP.

Primero, instala los paquetes PHP en tu Ubuntu con el siguiente comando. Introduce Y para confirmar la instalación.

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-json php-intl php-bcmath php-opcache php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer php-zip

instalar php

Una vez completada la instalación, ejecuta el siguiente comando del editor nano para modificar el archivo‘php.ini’ de configuración de PHP.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración PHP por defecto por la siguiente y asegúrate de ajustar‘date.timezone‘ con la zona horaria de tu servidor, y‘memory_limit‘ con la memoria máxima de tu servidor Ubuntu.

date.timezone = Europe/Paris
memory_limit = 256M
upload_max_file_size = 64M
max_execution_time = 300

Guarda el archivo y sal.

Por último, ejecuta el siguiente comando para reiniciar el servicio apache2 y aplicar tus cambios a la configuración de PHP.

sudo systemctl restart apache2

Integración de Apache y PHP

Para verificar tu integración de Apache y PHP, crearás un archivo PHPINFO que te mostrará información detallada sobre tu instalación de PHP. Tu archivo PHPINFO debe estar ubicado en el directorio DocumentRoot por defecto /var/www/html.

Crea un nuevo archivo ‘info.php‘ utilizando el siguiente comando.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Abre tu web y visita http://192.168.5.30/info.php. Si tu instalación de Apache y PHP se ha realizado correctamente, deberías obtener la página PHPINFO como la siguiente:

Como puedes ver, PHP 8.3 se está ejecutando con un servidor web Apache a través de Apache Handler.

phpinfo

Desplázate hacia abajo en la página y también encontrarás el módulo PHP mysql instalado.

módulo mysqli

Por último, comprueba también los módulos de caché de PHP a través de APC como el siguiente.

php apc

Crear un host virtual en Apache

Anfitrión virtual es un término para alojar varios sitios web, como sitio1.com y sitio2.com, en un único servidor. En esta sección, aprenderás a configurar un host virtual en el servidor web Apache.

En primer lugar, ejecuta el siguiente comando para crear un nuevo directorio DocumentRoot /var/www/mysite/public_html y una nueva página personalizada‘index.html‘.

mkdir -p /var/www/mysite/public_html
echo "Welcome to mysite.com" > /var/www/mysite/public_html/index.html

Ahora ejecuta el siguiente comando para cambiar la propiedad del directorio /var/www/mysite al usuario‘www-data‘.

sudo chown -R www-data:www-data /var/www/mysite

Después, crea una nueva configuración de host virtual de Apache ‘/etc/apache2/sites-available/mysite.conf ‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/mysite.conf

Introduce la siguiente configuración de host virtual. Asegúrate de cambiar la opción ServerName por tu nombre de dominio, y el directorio DocumentRoot por la ruta‘/var/www/mysite/public_html‘.

<VirtualHost *:80>

ServerAdmin [email protected]

ServerName mysite.com
ServerAlias www.mysite.com

DocumentRoot /var/www/mysite/public_html

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined

</VirtualHost>

Guarda el archivo y sal de él.

A continuación, ejecuta el siguiente comando para activar el archivo de host virtual mysite.conf y verifica tu sintaxis de Apache.

sudo a2ensite mysite.conf
sudo apachectl configtest

Si la sintaxis de Apache es correcta y adecuada, deberías obtener una salida‘Sintaxis OK‘.

Ahora ejecuta el siguiente comando para reiniciar el servicio apache2 y aplicar tu nueva configuración de host virtual.

sudo systemctl restart apache2

crear host virtual apache

Probar tu host virtual de Apache

Para acceder al nombre de dominio de tu host virtual, puedes modificar el archivo ‘hosts’ de tu sistema local.

  • Para los usuarios de Windows, edita el archivo‘C:\Windows\System32\drivers\etc\hosts‘ como administrador.
  • Para usuarios de Linux o MacOS, edita el archivo ‘/etc/hosts‘ con privilegios sudo/root.

Introduce el nombre de dominio de tu host virtual, como ‘mysite.com’, y la dirección IP de tu servidor Ubuntu.

192.168.5.30 mysite.com

Guarda el archivo y sal del editor.

Ahora abre tu navegador web y visita http://mysite.com/. Si la configuración de tu host virtual es correcta, deberías obtener el ‘index.html’ personalizado como el siguiente:

prueba host virtual apache

Has completado la instalación de LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP) en el servidor Ubuntu 24.04 «Noble Numbat».

Scroll al inicio