Ubunlog Damian Amoedo  

LAMP, instala Apache, MariaDB y PHP en Ubuntu 20.04

about instalar LAMP en Ubuntu 20.04

En el siguiente artículo vamos a echar un vistazo a cómo podemos instalar LAMP en Ubuntu 20.04 LTS. Se trata de un conjunto de herramientas de software agrupadas. LAMP significa Linux, Apache, MariaDB / MySQL y PHP, todos los cuales son de código abierto y de uso gratuito. Es la pila de software más común que impulsa sitios web dinámicos y aplicaciones web.

Linux es el sistema operativo, Apache es el servidor web, MariaDB / MySQL es el servidor de la base de datos y PHP es el lenguaje para secuencias de comandos del lado del servidor, responsable de generar páginas web dinámicas. Para seguir las siguientes líneas será necesario disponer de un sistema operativo Ubuntu 20.04 que se ejecute en un equipo local o en un servidor remoto.

Instalar LAMP en Ubuntu 20.04

Antes de instalar la pila LAMP, es una buena idea actualizar el repositorio y los paquetes de software disponibles. Esto lo haremos ejecutando en una terminal (Ctrl+Alt+T):

sudo apt update; sudo apt upgrade

Instalar el servidor web Apache

Escribe el siguiente comando en una terminal (Ctrl+Alt+T) para instalar el servidor web Apache:

instalación de Apache en LAMP

sudo apt install -y apache2 apache2-utils

Una vez instalado, Apache debería iniciarse automáticamente. Esto podremos verificarlo escribiendo:

status apache2

systemctl status apache2

También podremos verificar la versión de Apache:

versión de apache instalada en LAMP

apache2 -v

Ahora escribe la dirección IP pública del servidor Ubuntu 20.04 en la barra de direcciones del navegador. Deberías ver la página web de inicio, lo que significa que el servidor web Apache se está ejecutando correctamente. Si estás instalando LAMP en un equipo local Ubuntu 20.04, escribe 127.0.0.1 o localhost en la barra de direcciones del navegador.

apache2 funcionando en el navegador

Si la conexión se rechaza o no se completa, es posible que tengamos un firewall que impida las solicitudes entrantes al puerto TCP 80. Si estás usando el firewall de iptables, debes ejecutar el siguiente comando para abrir el puerto TCP 80:

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Si estás utilizando el firewall UFW, ejecuta para abrir el puerto TCP 80 el comando:

sudo ufw allow http

Ahora necesitamos establecer www-data (usuario de Apache) como el propietario de la raíz web. Esto lo conseguiremos escribiendo:

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

Instalar el servidor de base de datos MariaDB

MariaDB es un reemplazo directo para MySQL. Escribe el siguiente comando para instalar MariaDB en Ubuntu 20.04:

instalación de maridb server en LAMP

sudo apt install mariadb-server mariadb-client

Después de que se instale, el servidor MariaDB debe ejecutarse automáticamente. Podremos verificar su estado con el comando:

mariadb status

systemctl status mariadb

Si no se está ejecutando, lo iniciaremos escribiendo:

sudo systemctl start mariadb

Para permitir que MariaDB se inicie automáticamente en el momento del arranque, debemos ejecutar:

sudo systemctl enable mariadb

Verifica la versión del servidor MariaDB:

versión de mariadb instalada en LAMP

mariadb --version

Ahora ejecuta el script de seguridad posterior a la instalación:

sudo mysql_secure_installation

Cuando nos solicite que escribamos la contraseña root de MariaDB, pulsa Intro ya que la contraseña root aún no está configurada. Después escribe tu contraseña de root para el servidor MariaDB.

seguridad mysql_password

A continuación podemos pulsar Intro para responder todas las preguntas restantes. Esto eliminará el usuario anónimo, deshabilitará el inicio de sesión raíz remoto y eliminará la base de datos de prueba.

mysql secure preguntas de configuración en MariaDB

Por defecto, el paquete MaraiDB en Ubuntu usa unix_socket para autenticar el inicio de sesión del usuario.

Instalar PHP7.4

En el momento de escribir este artículo, PHP7.4 es la última versión estable de PHP. Por esto vamos a escribir el siguiente comando para instalar PHP7.4 y algunos módulos PHP comunes:

instalar php 7.4 en LAMP

sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline

Ahora tendremos que activar el módulo Apache php7.4 y reiniciar el servidor web Apache.

habilitar el módulo php7.4

sudo a2enmod php7.4

sudo systemctl restart apache2

Podremos verificar la versión de PHP con el comando:

versión php instalada en LAMP

php --version

Para probar los scripts PHP con el servidor Apache, necesitamos crear un archivo info.php en el directorio raíz:

sudo vim /var/www/html/info.php

Dentro del archivo vamos a pegar el siguiente código PHP:

<?php phpinfo(); ?>

Una vez guardado el archivo, ahora en la barra de direcciones del navegador tendremos que escribir dirección-ip/info.php. Reemplaza dirección-ip con tu IP actual. Si estás utilizando un equipo local, escribe 127.0.0.1/info.php o localhos/info.php. Esto debería mostrar la información de PHP.

localhost phpinfo.php

Ejecutar PHP-FPM con Apache

Vamos a encontrar dos formas de ejecutar código PHP con el servidor web Apache. Con el módulo PHP Apache y con PHP-FPM.

En los pasos anteriores, el módulo Apache PHP7.4 se usa para manejar el código PHP. Esto generalmente está bien, pero en algunos casos debemos ejecutar código PHP con PHP-FPM. Para hacerlo, tendremos que deshabilitar el módulo Apache PHP7.4:

desactivar Apache php7.4 en LAMP

sudo a2dismod php7.4

Ahora vamos a instalar PHP-FPM:

instalación de php7.4-fpm en LAMP

sudo apt install php7.4-fpm

Continuamos habilitando proxy_fcgi y el módulo setenvif:

enable proxy_fcgi setenvif

sudo a2enmod proxy_fcgi setenvif

El siguiente paso será habilitar el archivo de configuración /etc/apache2/conf-available/php7.4-fpm.conf:

comando enable a2enconf php7.4

sudo a2enconf php7.4-fpm

Después debemos reiniciar Apache:

sudo systemctl restart apache2

Ahora, si actualizas la página info.php en el navegador, encontrarás que la API del servidor ha cambiado de Apache 2.0 Handler a FPM/FastCGI, lo que significa que el servidor web Apache pasará las solicitudes de PHP a PHP-FPM.

FPM-FastCGI enable

Para terminar y por la seguridad del servidor, debemos eliminar el archivo info.php.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.