Cómo instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 22.04

LAMP es un grupo de programas de código abierto que suelen instalarse juntos para que un servidor pueda alojar sitios web dinámicos y aplicaciones web escritas en PHP. Este término es un acrónimo que representa el sistema operativo Linux con el servidor web Apache. Los datos del sitio se almacenan en una base de datos MySQL, y el contenido dinámico es procesado por PHP.

En esta guía, configuraremos un entorno LAMP en un servidor Ubuntu 22.04.

Requisitos previos

Para completar este tutorial, necesitaremos tener un servidor Ubuntu 22.04 con una cuenta de usuario no root habilitada para sudo y un cortafuegos básico.

Paso 1 – Instalación de Apache y actualización del cortafuegos

El servidor web Apache es uno de los más populares del mundo. Está bien documentado, tiene una comunidad activa de usuarios, y ha sido ampliamente utilizado durante gran parte de la historia de la web, lo que lo convierte en una gran opción para alojar un sitio web.

Empezamos por actualizar la caché del gestor de paquetes:

$ sudo apt update

A continuación, instalamos Apache con:

$ sudo apt install apache2

Una vez finalizada la instalación, tenemos que ajustar la configuración del cortafuegos para permitir el tráfico HTTP. La herramienta de configuración del cortafuegos por defecto de Ubuntu se llama Uncomplicated Firewall (UFW). Tiene diferentes perfiles de aplicación que podemos aprovechar. Para listar todos los perfiles de aplicación UFW disponibles actualmente, ejecutamos este comando:

$ sudo ufw app list

Output
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Apache: Este perfil sólo abre el puerto 80 (tráfico web normal, no cifrado).
Apache Full: Este perfil abre tanto el puerto 80 (tráfico web normal, no cifrado) como el puerto 443 (tráfico cifrado TLS/SSL).
Apache Seguro: Este perfil sólo abre el puerto 443 (tráfico cifrado TLS/SSL).

Por ahora, es mejor permitir sólo conexiones en el puerto 80, ya que se trata de una instalación nueva de Apache y aún no tiene un certificado TLS/SSL configurado para permitir el tráfico HTTPS en el servidor.

Para permitir tráfico sólo en el puerto 80, habilitamos el perfil de Apache:

$ sudo ufw allow in "Apache"

Verificamos el cambio con:

$ sudo ufw status

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                                
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)                    
Apache (v6)                ALLOW       Anywhere (v6)

Ahora el cortafuegos permite el tráfico a través del puerto 80.

Podemos hacer una comprobación rápida para verificar que todo ha ido según lo previsto visitando la dirección IP pública del servidor en un navegador web:

http://ip_del_servidor

Debemos poder ver la página web de Apache predeterminada en Ubuntu 22.04:

Si podemos ver esta página, nuestro servidor web está correctamente instalado y es accesible a través del cortafuegos.

Paso 2 – Instalación de MySQL

Ahora que tenemos un servidor web en funcionamiento, necesitamos instalar el sistema de base de datos para poder almacenar y gestionar los datos de nuestro sitio web. MySQL es un popular sistema de gestión de bases de datos utilizado en entornos PHP.

De nuevo, usamos apt para instalar este software:

$ sudo apt install mysql-server

Una vez finalizada la instalación, se recomienda ejecutar el script de seguridad mysql_secure_installation que viene preinstalado con MySQL. Este script eliminará algunas configuraciones inseguras por defecto y bloqueará el acceso a nuestro sistema de base de datos.

Antes de ejecutarlo, primero debemos configurar la contraseña del usuario root de MySQL, ya que no tiene:

$ sudo mysql

A continuación, ejecutamos el siguiente comando ALTER USER para cambiar el método de autenticación del usuario root a uno que utilice una contraseña. El siguiente ejemplo cambia el método de autenticación a mysql_native_password (acuérdate de sustituir password por tu contraseña):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Después de realizar este cambio, salimos de MySQL con la instrucción exit:

mysql> exit

Ahora ya podemos inicar el script ejecutando:

$ sudo mysql_secure_installation

Este script nos hará una serie de preguntas de configuración. La primera pregunta es para determinar si queremos configurar el plugin VALIDATE PASSWORD, que sirve para validar la robustez de las contraseñas de nuestros usuarios MySQL. Es seguro contestar NO a esta pregunta y no habilitar el plugin, pero debemos asegurarnos de crear contraseñas fuertes a los usuarios de la base de datos.

Podemos contestar al resto de preguntas.

Al finalizar la ejecución del script, comprobamos si podemos iniciar sesión en la consola MySQL con el siguiente comando:

$ sudo mysql -p

Nos pedirá que introduzcamos la contraseña que hemos configurado anteriormente para el usuario root y nos conectará al servidor MySQL como usuario administrador de base de datos, mostrando una salida como esta:

Output
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.28-0ubuntu4 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> 

Para salir de la consola de MySQL ejecutamos:

mysql> exit

Nuestro servidor MySQL ya está instalado y protegido. A continuación, instalaremos PHP, el último componente del stack LAMP.

Paso 3 – Instalación de PHP

PHP es el componente de nuestra configuración que procesará el código para mostrar contenido dinámico al usuario final. Además del paquete php, necesitaremos php-mysql, un módulo PHP que permite a PHP comunicarse con bases de datos basadas en MySQL. También necesitaremos libapache2-mod-php para permitir a Apache manejar archivos PHP. Los paquetes principales de PHP se instalarán automáticamente como dependencias.

Para instalar estos paquetes, ejecutamos el siguiente comando:

$ sudo apt install php libapache2-mod-php php-mysql

Una vez finalizada la instalación, ejecutamos el siguiente comando para confirmar la versión de PHP:

$ php -v

Output
PHP 8.1.2 (cli) (built: Mar  4 2022 18:13:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

En este punto, nuestro entorno LAMP es completamente operativo.

  • https://www.digitalocean.com/community/tutorials/how-to-install-lamp-stack-on-ubuntu

2 comentarios sobre «Cómo instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 22.04»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *