Saltar a contenido

P2.11 Instalación y configuración de LAMP

En esta práctica, aprenderemos a instalar y configurar un stack LAMP (Linux, Apache, MySQL, PHP) en una máquina virtual Ubuntu. Al finalizar la práctica, deberíamos tener un servidor web funcional capaz de alojar aplicaciones web dinámicas.

Hasta ahora, hemos trabajado con servidores web estáticos utilizando Apache. Sin embargo, muchas aplicaciones web modernas requieren la capacidad de manejar contenido dinámico, lo que implica la interacción con bases de datos y la ejecución de scripts del lado del servidor. El stack LAMP es una solución popular para este propósito, ya que combina un sistema operativo robusto (Linux), un servidor web confiable (Apache), un sistema de gestión de bases de datos eficiente (MySQL) y un lenguaje de programación versátil (PHP).

Instalar PHP

Para instalar PHP en nuestra máquina virtual Ubuntu, podemos utilizar el siguiente comando en la terminal:

sudo apt update
sudo apt install php libapache2-mod-php
donde: - php: Es el paquete principal de PHP. - libapache2-mod-php: Es el módulo que permite a Apache interpretar y ejecutar scripts PHP.

Después de la instalación, es recomendable reiniciar el servidor Apache para que los cambios surtan efecto:

sudo systemctl restart apache2

Verificar la instalación de PHP

Para verificar que PHP se ha instalado correctamente, podemos crear un archivo PHP de prueba en el directorio raíz de Apache. . Creamos un archivo llamado info.php con el siguiente contenido:

sudo nano /var/www/html/info.php
<?php
phpinfo();
?>
Luego, accedemos a este archivo desde un navegador web utilizando la URL http://tu_direccion_ip/info.php. Si PHP está instalado correctamente, deberíamos ver una página con información detallada sobre la configuración de PHP en nuestro servidor.

Instalar MySQL

Para instalar MySQL en nuestra máquina virtual Ubuntu, utilizamos el siguiente comando:

sudo apt install mysql-server php-mysql
donde: - mysql-server: Es el paquete principal del servidor MySQL. - php-mysql: Es el módulo que permite a PHP interactuar con bases de datos MySQL.

Debemos asegurarnos que MySQL se inicia automáticamente al arrancar el sistema:

sudo systemctl enable mysql
sudo systemctl start mysql

Configurar MySQL

Despues de instar MySQL, es recomendable crear un usuario y una base de datos para nuestras aplicaciones web. Podemos hacerlo accediendo a la consola de MySQL:

sudo mysql
Dentro de la consola de MySQL, podemos ejecutar los siguientes comandos para crear una base de datos y un usuario:

CREATE DATABASE mibase_de_datos;
CREATE USER 'miusuario'@'localhost' IDENTIFIED BY 'micontraseña';
GRANT ALL PRIVILEGES ON mibase_de_datos.* TO 'miusuario'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Probar la conexión a la base de datos desde PHP

Para probar la conexión a la base de datos desde PHP, podemos crear un archivo PHP llamado db_test.php con el siguiente contenido:

sudo nano /var/www/html/db_test.php
<?php
$servername = "localhost";
$username = "miusuario";
$password = "micontraseña";
$dbname = "mibase_de_datos";
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
echo "Conexión exitosa a la base de datos";
$conn->close();
?>
Luego, accedemos a este archivo desde un navegador web utilizando la URL http://tu_direccion_ip/db_test.php. Si la conexión es exitosa, deberíamos ver el mensaje "Conexión exitosa a la base de datos".