Cómo instalar LAMP en Ubuntu 20.04 LTS

En este artículo explicamos cómo instalar la pila LAMP en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que en muy pocos minutos dispondrás de Apache, MariaDB/MySQL y PHP integrados en tu servidor o VPS Ubuntu.

Antes de instalar LAMP en Ubuntu 20.04 LTS

Para completar los pasos de esta guía de instalación de la pila LAMP Server en Ubuntu 20.04 sólo necesitas partir de los siguientes requerimientos básicos:

  • Una instalación actualizada de Ubuntu 20.04 LTS Focal Fossa.
  • Acceso a línea de comandos con un usuario con capacidades de sudo.
  • Conexión a Internet.

Cómo instalar LAMP en Ubuntu 20.04

Vamos a instalar la pila LAMP en Ubuntu 20.04 LTS en su mayoría desde los repositorios de la distribución, por lo que el primer paso será actualizar las listas de paquetes:

~$ sudo apt update

¿PHP 7.3 en Ubuntu 20.04?

En el nuevo Ubuntu 20.04 LTS Focal Fossa por fin disponemos de PHP 7.4 en los repositorios oficiales, pero ¿y si necesitas una versión anterior? Si necesitas PHP 7.3 o incluso versiones más antiguas será necesario configurar un repositorio adicional.

Instalaremos previamente alguna herramienta necesaria:

~$ sudo apt install software-properties-common

Ya podemos instalar el repositorio:

~$ sudo add-apt-repository ppa:ondrej/php

Se nos mostrará un aviso informativo que pasaremos por alto pulsando la tecla intro.

Y actualizamos las listas de paquetes:

~$ sudo apt update

A partir de este momento, en  cualquier paquete de PHP que necesitemos cambiaremos la partícula php por php7.x. Por ejemplo, si necesitamos el módulo de Apache para PHP 7.3, en lugar de instalar libapache2-mod-php (que correspondería a PHP 7.4) instalamos el paquete libapache2-mod-php7.3.

Instalación de los paquetes

El siguiente paso será instalar los paquetes que componen los distintos elementos de la pila LAMP para Ubuntu 20.04 (ten en cuenta lo dicho antes sobre los nombres de paquetes de PHP si quieres una versión distinta a la 7.4):

~$ sudo apt install -y apache2 libapache2-mod-php php-mysql mariadb-server

En unos instantes se descargarán e instalarán estos paquetes y sus dependencias, creándose los servicios apache2.service y mariadb.service, o apache2 y mariadb si prefieres los nombres cortos. Ambos servicios quedan iniciados y habilitados para su arranque automático junto a Ubuntu 20.04.

En cualquier momento puedes comprobar el estado de los servicios que forman la pila LAMP en Ubuntu 20.04 mediante el comando systemctl status apache2 mariadb:

como instalar lamp en ubuntu 20.04 lts focal fossa

Configurar el firewall UFW de Ubuntu 20.04 para la pila LAMP

Si tienes activado el firewall UFW en Ubuntu 20.04 y necesitas acceder desde red a los servicios que ofrece la pila LAMP, debes añadir algunas reglas.

Para permitir el acceso HTTP estándar:

~$ sudo ufw allow http

Para permitir el acceso HTTPS si estás ofreciendo conexiones seguras:

~$ sudo ufw allow https

Si quisieras permitir el acceso remoto al servicio de bases de datos (aunque no es recomendable):

~$ sudo ufw allow mysql

Estos cambios se aplican inmediatamente.

Configurar LAMP en Ubuntu 20.04

Para configurar los componentes de la pila LAMP en Ubuntu 20.04 realizaremos unos mínimos ajustes.

Apache

Es interesante para evitar alertas y eventos en los registros asignar un valor a la variable ServerName en el archivo de configuración principal:

~$ sudo nano /etc/apache2/apache2.conf

Al principio de la configuración global añadiremos esta directiva con el dominio, nombre o incluso dirección IP del servidor Ubuntu 20.04:

...
#ServerRoot "/etc/apache2"

ServerName ubuntu2004.local.lan:80
...

Guardados los cambios, los aplicamos recargando la configuración del servicio:

~$ sudo systemctl reload apache2

PHP

El archivo de configuración principal es el famoso php.ini, que editaremos:

~$ sudo nano /etc/php/7.4/apache2/php.ini

Un valor que es importante configurar es la zona horaria, para que las aplicaciones web calculen la hora correctamente, por lo que buscaremos la directiva date.timezone:

...
;date.timezone =
...

Por defecto esta directiva está desactivada, así que la activaremos eliminando el carácter ; inicial y le daremos el valor de la zona horaria que le interese:

...
date.timezone = Europe/Madrid
...

Si no conoces el valor de la zona horaria que te interesa, puedes consultarlo en la documentación de PHP.

En cuanto al tratamiento de errores, la configuración por defecto está dirigida a entornos de producción, por lo que se ocultan los mensajes de error. Pero si tu entorno es de desarrollo, necesitarás activar los mensajes de error para facilitar la depuración. Habrá que modificar los valores de las siguientes directivas tal como se muestra a continuación:

...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

En los comentarios figuran los valores de producción y desarrollo, por lo que es fácil revertir los cambios.

Guardados los cambios, los aplicamos recargando la configuración del servicio web:

~$ sudo systemctl reload apache2

Existe también otro archivo php.ini para la versión de PHP de consola o CLI. Podemos editarlo teniendo en cuenta su ruta de ubicación:

~$ sudo nano /etc/php/7.4/cli/php.ini

Haremos los cambios necesarios de modo similar, aunque en este caso los nuevos ajustes se aplican directamente.

MariaDB

La configuración por defecto de MariaDB prácticamente no necesita ajustes, ya que sus valores son operativos. Para conectar al servicio con el usuario root de MariaDB se necesita lanzar el cliente mysql con sudo:

~$ sudo mysql

Si prefieres acceder con root mediante contraseña, puedes cambiar la forma de autenticación una vez iniciada sesión:

> alter user root@localhost identified via mysql_native_password;

Hecho esto habrá que crear la contraseña:

> alter user root@localhost identified by 'XXXXXXXX';

Y actualizaremos la tabla de privilegios para aplicar los cambios de inmediato:

> flush privileges;

Ya podemos cerrar la conexión:

> exit

Desde este momento hay que especificar el usuario y solicitar contraseña para poder conectar:

~$ mysql -u root -p
Enter password:
...
MariaDB [(none)]>

En cualquier momento puedes volver al sistema de autenticación sin contraseña, por socket de Unix, iniciando sesión y cambiando de nuevo el método:

> alter user root@localhost identified via unix_socket;

Y conviene refrescar la tabla de permisos nuevamente:

> flush privileges;

Cómo probar la pila LAMP en Ubuntu 20.04

Para probar la pila LAMP en Ubuntu 20.04 crearemos un pequeño script en PHP fácilmente accesible vía web:

~$ sudo nano /var/www/html/info.php

El contenido será esta única línea:

<?php phpinfo();

Una vez, guardado el archivo podremos acceder desde un navegador. Bastará con introducir como URL la dirección IP o dominio del servidor Ubuntu 20.04 añadiendo la ruta /info.php (o como hayas decidido nombrar el archivo).

Por ejemplo, el servidor Ubuntu 20.04 sobre el que realizamos este tutorial es accesible en el dominio ubuntu 2004.local.lan, por lo que accedemos con http://ubuntu2004.local.lan/info.php como dirección:

instalar y configurar lamp en ubuntu 20.04 lts focal fossa

Esta página nos ofrecerá gran cantidad de información sobre la configuración del servicio web y PHP, extensiones disponibles, etc.

Conclusión

Ahora que sabes cómo instalar y configurar la pila LAMP en Ubuntu 20.04 LTS Focal Fossa ya puedes comenzar a desarrollar potentes aplicaciones web, o establecer la base sobre la que se apoyan aplicaciones de terceros.

Si te ha surgido alguna duda o pregunta, quieres sugerir mejoras de este artículo o crees que necesita una actualización, notificar algún error, etc., puedes dejar un comentario que leeré encantado.

¡Apoya comoinstalar.me!

¿Ya tienes el entorno funcionando gracias a esta guía de instalación y configuración de la pila LAMP en Ubuntu 20.04? Si es así y quieres agracecérnoslo, cualquier pequeña ayuda contribuirá más de lo que imaginas al mantenimiento de este sitio y la elaboración de nuevos tutoriales sobre Ubuntu 20.04 o la pila LAMP. Puedes ayudar invitándonos a un café:

 

O dejando una propina de 1 $ con el saldo que no usas en PayPal:

¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (10 votos, promedio: 4,90 de 5)
Cargando...

10 comentarios en “Cómo instalar LAMP en Ubuntu 20.04 LTS”

  1. Hola,
    No consigo ver la información del info.php creado con el tutorial…
    No sé si quizá es por que cometí algún fallo al seguir tus pasos.

    Responder
    • Hola, Roberto. Deberías indicar algo más de información sobre tu problema.

      ¿Accedes local o remotamente? ¿Puedes acceder a la página web principal del servidor LAMP (sin añadir /info.php)? ¿Con qué URL completa visitas la página info.php? ¿Qué errores o qué comportamiento obtienes al acceder?

      Responder
      • Tengo el mismo problema, no puedo ver la información del PHP, mientras tanto sí puedo ver la información del Apache pero cuando agrego el /info.php se queda en blanco.

        Responder
        • ¡Hola, Iván! Revisa el contenido del archivo info.php, puede que haya algún error. Si crees que todo está correcto revisa el archivo de registro de Apache, en /var/log/apache2/error.log, donde quizás encuentres información sobre el problema.

          Responder
  2. No consigo entrar con el comando sudo mysql, me da error.

    sudo mysql
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    Responder
    • Hola, valek. ¿Has comprobado que el servicio MariaDB esté funcionando? Por ejemplo con systemctl status mariadb. Si el servicio no está en funcionamiento quizá puedas encontrar el motivo en el registro de errores, en el archivo /var/log/mysql/error.log.

      Responder

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies