Cómo instalar LAMP en Ubuntu: Apache, MariaDB y PHP paso a paso
Para instalar LAMP en Ubuntu (Apache, MariaDB y PHP) te bastan tres órdenes en la terminal: sudo apt update, después sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql y, para dejar la base de datos en orden, sudo mariadb-secure-installation. Todo sale de los repositorios oficiales de Ubuntu, así que se actualiza con el resto del sistema. Al terminar, abre http://localhost en el navegador y verás la página de bienvenida de Apache.
Un servidor así en tu propio ordenador sirve para programar y probar webs (un WordPress, una aplicación en PHP) sin pagar un hosting ni tocar nada en producción. Publicarlo en internet ya es otra cosa, y tiene su apartado al final.
1. Apache, el servidor web
sudo apt update
sudo apt install apache2
Comprueba que responde abriendo http://localhost. Los archivos de la web van en /var/www/html, que es la carpeta que fija la configuración del sitio por defecto de Debian y Ubuntu (000-default.conf). Lo que pongas ahí es lo que sirve el navegador.
Si tienes activado el cortafuegos UFW, ábrele paso. El paquete de Apache trae los perfiles Apache (puerto 80), Apache Secure (443) y Apache Full (los dos), según su fichero de perfiles:
sudo ufw allow "Apache Full"
2. MariaDB, la base de datos
sudo apt install mariadb-server
MariaDB la hacen los desarrolladores originales de MySQL y nació como sustituto directo de este, así que las aplicaciones web que piden MySQL funcionan con ella. Si prefieres MySQL, Ubuntu también tiene el paquete mysql-server. Instala uno de los dos, no ambos.
Un detalle que despista a quien viene de tutoriales antiguos: el usuario root de MariaDB no tiene contraseña que poner. Según la documentación de MariaDB, root entra por el socket local siempre que lo hagas como root del sistema, así que el acceso es este:
sudo mariadb
El script mariadb-secure-installation sigue siendo útil para quitar los usuarios anónimos, la base de datos de prueba y el acceso de root desde fuera del equipo. La propia página del script avisa de que muchos de sus motivos ya no aplican y de que normalmente no hace falta crear contraseña para root, así que a esa pregunta puedes contestar que no.
Una base de datos y un usuario para tu web
Las aplicaciones no deben conectarse como root. Dentro de sudo mariadb, crea una base de datos y un usuario con permisos solo sobre ella (cambia los nombres y la contraseña por los tuyos):
CREATE DATABASE miweb;
CREATE USER 'miusuario'@'localhost' IDENTIFIED BY 'una-contraseña-larga';
GRANT ALL PRIVILEGES ON miweb.* TO 'miusuario'@'localhost';
EXIT;
La sintaxis de CREATE USER y de GRANT está en la referencia de MariaDB. Esos tres datos (base de datos, usuario y contraseña) son los que te pedirá el instalador de WordPress o de cualquier otra aplicación.
3. PHP y su conexión con Apache
sudo apt install php libapache2-mod-php php-mysql
sudo systemctl restart apache2
El paquete libapache2-mod-php integra PHP en Apache y php-mysql le da acceso a MariaDB o MySQL. El manual de PHP para Debian y derivadas explica que APT instala el módulo, lo activa, y que después hay que reiniciar Apache. Cada versión de Ubuntu trae su propia versión de PHP, que es la que recibe las actualizaciones de seguridad del sistema.
Las extensiones van en paquetes aparte. Con apt search php ves la lista, y se instalan igual. Para WordPress, su guía de entorno de servidor recomienda, entre otras, curl, mbstring, intl, xml y zip, y GD si no hay Imagick: sudo apt install php-curl php-gd php-intl php-mbstring php-xml php-zip. Reinicia Apache después de añadir extensiones.
Comprobar que PHP funciona
Crea un archivo de prueba en la carpeta de la web:
echo '<?php phpinfo();' | sudo tee /var/www/html/info.php
Abre http://localhost/info.php. Si sale una página larga con la versión de PHP y sus módulos, Apache ya ejecuta PHP. Bórralo en cuanto lo veas (sudo rm /var/www/html/info.php), porque phpinfo() enseña la configuración del servidor y datos del entorno que no deben quedar a la vista.
4. phpMyAdmin, si quieres gestionar la base de datos desde el navegador
Está en los repositorios de Ubuntu y se instala con sudo apt install phpmyadmin. En un equipo de desarrollo es cómodo. En un servidor abierto a internet es una puerta más a la base de datos, así que ahí conviene no instalarlo o limitar quién puede entrar.
5. Entrar desde otro equipo o publicarlo en internet
Desde otro ordenador de tu misma red llegas poniendo la IP del equipo en el navegador, en lugar de localhost. Para subir archivos a /var/www/html desde Windows, lo más práctico es SFTP, como se explica en la guía de WinSCP para transferir archivos por SSH.
Sacarlo a internet desde casa exige abrir puertos en el router, tener un dominio que apunte a tu IP y servir la web por HTTPS. Para el certificado, Certbot lo pide gratis a Let’s Encrypt con sudo snap install --classic certbot y sudo certbot --apache, siempre que la web ya responda desde internet por el puerto 80. Un servidor expuesto necesita actualizaciones al día, cortafuegos y copias de seguridad. Para una web que tenga que estar siempre disponible, un hosting o un servidor privado virtual sigue siendo lo sensato, y el servidor de casa queda para aprender y probar.
Revisado y actualizado en octubre de 2026.
Deja un comentario