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
Ahora instala el servidor web Apache utilizando el siguiente comando‘apt install‘. Introduce Y para confirmar la instalación.
sudo apt install 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)‘.
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
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:
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
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)‘.
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...
Escribe‘n’ 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
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.
Desplázate hacia abajo en la página y también encontrarás el módulo PHP mysql instalado.
Por último, comprueba también los módulos de caché de PHP a través de APC como el siguiente.
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
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:
Has completado la instalación de LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP) en el servidor Ubuntu 24.04 «Noble Numbat».