Este tutorial le mostrará cómo instalar la pila LAMP en Ubuntu 20.04 LTS. Una pila de software es 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 de secuencias de comandos del lado del servidor responsable de generar páginas web dinámicas.
Requisitos
Para seguir este tutorial, necesita un sistema operativo Ubuntu 20.04 ejecutándose en su computadora local o en un servidor remoto.
Si está buscando un VPS (servidor privado virtual), puede registrar una cuenta en DigitalOcean a través de este enlace especial para obtener $ 50 de crédito gratis. (Solo para nuevos usuarios). Si ya es usuario de DigitalOcean, puede registrar una cuenta en Vultr a través de este enlace especial para obtener $50 de crédito gratis (solo para nuevos usuarios).
Y si necesita configurar la pila LAMP con un nombre de dominio, recomiendo comprar nombres de dominio de NameCheap porque el precio es bajo y brindan protección de privacidad whois gratis de por vida.
Paso 1:Actualizar paquetes de software
Antes de instalar la pila LAMP, es una buena idea actualizar el repositorio y los paquetes de software. Ejecute los siguientes comandos en su sistema operativo Ubuntu 20.04.
sudo apt update sudo apt upgrade
Paso 2:Instale el servidor web Apache
Ingrese el siguiente comando para instalar el servidor web Apache. Las apache2-utils
El paquete instalará algunas utilidades útiles como la herramienta de evaluación comparativa del servidor Apache HTTP (ab).
sudo apt install -y apache2 apache2-utils
Una vez instalado, Apache debería iniciarse automáticamente. Comprueba su estado con systemctl
.
systemctl status apache2
Salida de muestra:
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-04-11 11:31:31 CST; 2s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 53003 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 53011 (apache2) Tasks: 55 (limit: 19072) Memory: 6.4M CGroup: /system.slice/apache2.service ├─53011 /usr/sbin/apache2 -k start ├─53012 /usr/sbin/apache2 -k start └─53013 /usr/sbin/apache2 -k start
Sugerencia:si el comando anterior no se cierra de inmediato, puede presionar la tecla Q para recuperar el control de la terminal.
Si no se está ejecutando, use systemctl para iniciarlo.
sudo systemctl start apache2
También es una buena idea permitir que Apache se inicie automáticamente en el momento del arranque del sistema.
sudo systemctl enable apache2
Compruebe la versión de Apache:
apache2 -v
Salida:
Server version: Apache/2.4.41 (Ubuntu) Server built: 2020-03-05T18:51:00
Ahora escriba la dirección IP pública de su servidor Ubuntu 20.04 en la barra de direcciones del navegador. Deberías ver el mensaje "¡Funciona!" Página web, lo que significa que el servidor web Apache se está ejecutando correctamente. Si está instalando LAMP en su computadora Ubuntu 20.04 local, escriba 127.0.0.1
o localhost
en la barra de direcciones del navegador.
Si la conexión se rechaza o no se completa, es posible que haya un firewall que impida las solicitudes entrantes al puerto TCP 80. Si está utilizando el firewall de iptables, debe ejecutar el siguiente comando para abrir el puerto TCP 80.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Si está utilizando el firewall UFW, ejecute este comando para abrir el puerto TCP 80.
sudo ufw allow http
Ahora tenemos que configurar www-data
(usuario de Apache) como propietario de la raíz del documento (también conocida como raíz web). Por defecto, es propiedad del usuario root.
sudo chown www-data:www-data /var/www/html/ -R
De forma predeterminada, Apache utiliza el nombre de host del sistema como su ServerName
global. . Si el nombre de host del sistema no se puede resolver en DNS, probablemente verá el siguiente error después de ejecutar sudo apache2ctl -t
comando.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Para resolver este problema, podemos establecer un ServerName
global en apache. Utilice el editor de texto de línea de comandos de Nano para crear un nuevo archivo de configuración.
sudo nano /etc/apache2/conf-available/servername.conf
Agregue la siguiente línea en este archivo.
ServerName localhost
Guarde y cierre el archivo. Para guardar un archivo en el editor de texto Nano, presione Ctrl+O
, luego presione Entrar para confirmar. Para salir, presiona Ctrl+X
. Luego habilite este archivo de configuración.
sudo a2enconf servername.conf
Vuelva a cargar Apache para que el cambio surta efecto.
sudo systemctl reload apache2
Ahora, si ejecuta sudo apache2ctl -t
comando de nuevo, no verá el mensaje de error anterior.
Paso 3:Instale el servidor de base de datos MariaDB
MariaDB es un reemplazo directo para MySQL. Está desarrollado por antiguos miembros del equipo de MySQL que están preocupados de que Oracle pueda convertir a MySQL en un producto de código cerrado. Ingrese el siguiente comando para instalar MariaDB en Ubuntu 20.04.
sudo apt install mariadb-server mariadb-client
Una vez instalado, el servidor MariaDB debería iniciarse automáticamente. Usa systemctl para comprobar su estado.
systemctl status mariadb
Salida:
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 9161 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 9451) Memory: 64.7M CGroup: /system.slice/mariadb.service └─9161 /usr/sbin/mysqld
Si no se está ejecutando, inícielo con este comando:
sudo systemctl start mariadb
Para permitir que MariaDB se inicie automáticamente en el momento del arranque, ejecute
sudo systemctl enable mariadb
Ahora ejecute el script de seguridad posterior a la instalación.
sudo mysql_secure_installation
Cuando le pida que ingrese la contraseña raíz de MariaDB, presione la tecla Intro ya que la contraseña raíz aún no está configurada. Luego ingrese y para establecer la contraseña raíz para el servidor MariaDB.
A continuación, puede presionar Entrar para responder a todas las preguntas restantes, lo que eliminará al usuario anónimo, deshabilitará el inicio de sesión raíz remoto y eliminará la base de datos de prueba. Este paso es un requisito básico para la seguridad de la base de datos MariaDB. (Observe que Y está en mayúscula, lo que significa que es la respuesta predeterminada).
De forma predeterminada, el paquete MariaDB en Ubuntu usa unix_socket
para autenticar el inicio de sesión del usuario, lo que básicamente significa que puede usar el nombre de usuario y la contraseña del sistema operativo para iniciar sesión en la consola de MariaDB. Entonces puede ejecutar el siguiente comando para iniciar sesión sin proporcionar la contraseña de root de MariaDB.
sudo mariadb -u root
Para salir, ejecuta
exit;
Verifique la información de la versión del servidor MariaDB.
mariadb --version
Como puede ver, hemos instalado MariaDB 10.3.22.
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Paso 4:Instale PHP7.4
Al momento de escribir este artículo, PHP7.4 es la última versión estable de PHP y tiene una ventaja de rendimiento menor sobre PHP7.3. Ingrese el siguiente comando para instalar PHP7.4 y algunos módulos PHP comunes.
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
Habilite el módulo Apache php7.4 y luego reinicie el servidor web Apache.
sudo a2enmod php7.4 sudo systemctl restart apache2
Verifique la información de la versión de PHP.
php --version
Salida:
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Para probar scripts PHP con el servidor Apache, necesitamos crear un info.php
archivo en el directorio raíz del documento.
sudo nano /var/www/html/info.php
Pegue el siguiente código PHP en el archivo.
<?php phpinfo(); ?>
Para guardar un archivo en el editor de texto Nano, presione Ctrl+O
, luego presione Entrar para confirmar. Para salir, presiona Ctrl+X
. Ahora, en la barra de direcciones del navegador, ingrese server-ip-address/info.php
. Reemplazar server-ip-address
con tu IP real. Si sigue este tutorial en su computadora local, escriba 127.0.0.1/info.php
o localhost/info.php
.
Debería ver la información de PHP de su servidor. Esto significa que los scripts PHP pueden ejecutarse correctamente con el servidor web Apache.
Cómo ejecutar PHP-FPM con Apache
Básicamente, hay dos formas de ejecutar código PHP con el servidor web Apache:
- Módulo PHP de Apache
- PHP-FPM.
En los pasos anteriores, el módulo Apache PHP7.4 se usa para manejar el código PHP, lo que generalmente está bien. Pero en algunos casos, necesita ejecutar código PHP con PHP-FPM en su lugar. Así es como.
Deshabilite el módulo Apache PHP7.4.
sudo a2dismod php7.4
Instale PHP-FPM.
sudo apt install php7.4-fpm
Habilitar proxy_fcgi
y setenvif
módulo.
sudo a2enmod proxy_fcgi setenvif
Habilite el /etc/apache2/conf-available/php7.4-fpm.conf
archivo de configuración.
sudo a2enconf php7.4-fpm
Reinicie Apache para que los cambios surtan efecto.
sudo systemctl restart apache2
Ahora, si actualiza el info.php
página en su navegador, encontrará 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.
¡Felicitaciones! Ha instalado con éxito la pila LAMP (Apache, MariaDB y PHP7.4) en Ubuntu 20.04. Para la seguridad de su servidor, debe eliminar info.php
archivo ahora para evitar miradas indiscretas.
sudo rm /var/www/html/info.php
Siguiente paso
Espero que este tutorial te haya ayudado a instalar la pila LAMP en Ubuntu 20.04 LTS. Es posible que desee instalar phpMyAdmin , que es una herramienta de gestión de base de datos basada en web gratuita y de código abierto.
- Cómo instalar phpMyAdmin con Apache (LAMP) en Ubuntu 20.04
También puede instalar WordPress encima de la pila LAMP para crear su propio sitio web o blog.
- Instala WordPress en Ubuntu 20.04 con Apache, MariaDB, PHP7.4 (LAMP)
Como siempre, si esta publicación le resultó útil, suscríbase a nuestro boletín informativo gratuito para obtener más consejos y trucos. Cuídate 🙂