En este artículo te indicaremos paso a paso como instalar LAMP en Linux de manera fácil y rápida, ya seas un usuario novel o avanzado, en esta guía de como instalar LAMP en Linux aprenderás los conceptos básicos sobre LAMP y la instalación de Apache, MySQL y PHP en Linux, los requisitos previos a la instalación de LAMP en Linux.
¿Qué es LAMP y por qué es importante para tu servidor Linux?
LAMP es el acrónimo usado para referirse al conjunto de tecnologías de código abierto que se utilizan ampliamente para la ejecución y construcción de sitios web dinámicos, cada una de sus siglas L, A, M y P corresponden a los siguientes componentes:
- Linux: el sistema operativo en el que se ejecutan las aplicaciones web.
- Apache: el servidor web que maneja las solicitudes HTTP y entrega las páginas web al navegador.
- MySQL: el sistema de gestión de bases de datos relacionales utilizado para almacenar y gestionar los datos de la aplicación web.
- PHP: el lenguaje de programación utilizado para crear y procesar contenido dinámico en el servidor.
En resumen, LAMP es un conjunto de tecnologías de código abierto que incluye Linux, Apache, MySQL y PHP.
Requisitos previos para instalar LAMP en Linux
Antes de instalar LAMP en Linux debemos asegurarnos de cumplir con ciertos requisitos previos y a continuación te dejamos una lista de ellos:
- Un sistema operativo Linux instalado y actualizado como Ubuntu, Debian o CentOS.
- Acceso a una terminal o consola de comandos en el sistema Linux donde se instalara LAMP.
- Permisos de superusuario o de administrador para instalar y configurar los paquetes y servicios necesarios.
- Una conexión a Internet para descargar los paquetes y actualizaciones necesarias.
Nota: Es importante tener en cuenta que los comandos y nombres de paquetes utilizados en este artículo pueden variar ligeramente según el sistema operativo Linux que estés utilizando.
Puede interesarte este artículo de ¿Cómo extraer e instalar paquetes o programas en Linux?
¿Como instalar LAMP en Linux?
A continuación te mostraremos una Guía paso a paso para instalar LAMP en Linux, para la instalación de Apache, MySQL y PHP en Linux debemos ejecutar los siguientes comandos en la consola o terminal de tu distribución Linux:
Actualizar el sistema y sus paquetes:
sudo apt update
sudo apt upgrade
Instalar el servidor web Apache en Linux para LAMP
sudo apt install apache2
Verifica si Apache se está ejecutando correctamente:
sudo systemctl status apache2
Instalar MySQL en Linux para LAMP (sistema de gestión de bases de datos)
sudo apt install mysql-server
Ejecutamos el script de seguridad que trae consigo MySQL, el cual mejorara la seguridad del servidor:
sudo mysql_secure_installation
Instalación de PHP en Linux para LAMP
Instalamos el lenguaje de programación PHP en Linux para LAMP y varios módulos necesarios para su correcto funcionamiento:
sudo apt install php libapache2-mod-php php-mysql
Ejecutamos el siguiente comando para verificar que PHP se instalara correctamente:
php -v
Ahora verificaremos de forma práctica, si LAMP sé ha instalado correctamente en nuestro sistema operativo Linux.
Verificación y prueba de LAMP en Linux
Crearemos un script de prueba en el directorio web de Apache con el siguiente comando:
sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
A continuación, reiniciaremos Apache:
sudo systemctl restart apache2
Verifica si la página de información de PHP se muestra correctamente en el navegador web accediendo a http://localhost/info.php o ejecutado el siguiente comando:
xdg-open "http://localhost/info.php"
Si todo se instaló correctamente, verás una página web con toda la información de PHP, y eso es todo, ahora tienes instalado LAMP en Linux y puedes comenzar a desarrollar aplicaciones o páginas web.
Configuración de LAMP en Linux
Como ya sabemos, la seguridad en un servidor es primordial y si estás desarrollando una aplicación web es importante configurar la seguridad del servidor donde se desplegaran las aplicaciones, es por ello que a continuación te listaremos algunas recomendaciones y configuraciones que deberías aplicar:
- Configurar el firewall para permitir el tráfico entrante solo en los puertos necesarios para la aplicación web (por ejemplo, el puerto 80 para HTTP y el puerto 443 para HTTPS), y esto lo podemos hacer con el siguiente comando:
sudo ufw allow in "Apache Full"
- Deshabilitar el acceso remoto a la base de datos MySQL, a menos que sea absolutamente necesario.
- Configurar los permisos adecuados para los archivos y directorios de la aplicación web.
Configuración de Apache en Linux para LAMP
Cuando instalamos Apache en Linux debemos realizar ciertas configuraciones para que todo se ejecute correctamente y con la mayor seguridad para el despliegue de nuestras aplicaciones y las listaremos a continuación:
Ajustar los permisos de la carpeta "/var/www/html/"
con el siguiente comando:
sudo chmod -R 0755 /var/www/html/
Esto indica que el propietario tendrá permisos de lectura, escritura y ejecución (7), mientras que el grupo y los demás usuarios solo tendrán permisos de lectura y ejecución (5). La opción de permiso 0 en la primera posición significa que no hay permisos especiales en los archivos y carpetas.
Permitir la ejecución automática de Apache en el arranque del sistema:
sudo systemctl enable apache2
Iniciar el servidor Apache:
sudo systemctl start apache2
Configuración de MySQL en Linux para LAMP
Debemos configurar MySQL para que escuche conexiones desde cualquier dirección IP y no solo de localhost, y esto lo hacemos de la siguiente manera:
Primero debemos editar el archivo de configuración de MySQL y lo hacemos con el siguiente comando:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Una vez abierto dicho archivo de configuración debemos buscar la línea que comienza con «bind-address» y debemos comentarla añadiendo al principio el símbolo «#» y quedaría de la siguiente manera:
#bind-address = 127.0.0.1
A continuación reiniciamos el servidor MySQL con el siguiente comando:
sudo systemctl restart mysql
Configuración de PHP en Linux para LAMP
Una vez instalado PHP en Linux, es recomendable seguir ciertas configuraciones que ayudaran a la seguridad y el correcto funcionamiento de las aplicaciones y te las mostramos a continuación:
Desactivar la visualización de errores de PHP en el navegador web con el siguiente comando:
display_errors = Off
Permitir la subida de archivos más grandes en nuestro servidor desde las aplicaciones creadas de la siguiente manera:
Abrimos el archivo de configuración de PHP:
sudo nano /etc/php/7.4/apache2/php.ini
Buscaremos la línea que comienza con upload_max_filesize
y aumentaremos el límite de carga establecida si es necesario o si lo deseamos de la siguiente manera:
upload_max_filesize = 20M
Solución de problemas comunes al instalar LAMP en Linux
Cuando instalamos el conjunto de tecnologías LAMP en Linux se pueden presentar varios errores o problemas que no dejaran ejecutar correctamente las aplicaciones, es por ello que en GuiaLinux te traemos algunos de los problemas y soluciones más comunes al momento de instalar LAMP en Linux los cuales son:
No se puede acceder al servidor web Apache: Esto ocurre cuando Apache no sé ha iniciado correctamente o no está en ejecución y para solucionarlo podemos usar el siguiente comando:
sudo systemctl start apache2
No se puede acceder a la base de datos MySQL: Este error se muestra cuando la base de datos MySQL no se a iniciado correctamente, y para solucionar este error debemos ejecutar el siguiente comando:
sudo systemctl start mysql
PHP no funciona: este error es muy común cuando PHP no está habilitado en Apache, pero esto podemos solucionarlo con el siguiente comando:
sudo a2enmod php
Como se ha visto en este artículo de como instalar LAMP en Linux, hemos mostrado una guía paso a paso de la instalación de todos los módulos LAMP (Apache, MySQL y PHP) los requisitos necesarios para instalar LAMP y las configuraciones de cada módulo y las medidas de seguridad necesarias para el despliegue de aplicaciones web como también la soluciones a los problemas más comunes al momento de instalar LAMP, esperamos que esta guía haya sido de ayuda y de agrado para el lector y sin más nos despedimos.