En este laboratorio vamos a desplegar un servidor web completo utilizando:
- Nginx como servidor HTTP.
- PHP-FPM para ejecutar aplicaciones desarrolladas en PHP.
- MySQL como sistema gestor de bases de datos.
- Ubuntu Server como sistema operativo.
Además de realizar una instalación básica, aprenderemos a modificar las rutas predeterminadas utilizadas por los distintos servicios.
La estructura que utilizaremos será la siguiente:
/data/
├── mysql/
│ └── data/
├── web/
│ └── laboratorio/
│ ├── public/
│ ├── private/
│ ├── logs/
│ └── backups/
└── backups/
└── mysql/
La web será accesible desde:
/data/web/laboratorio/public
Los datos de MySQL se almacenarán en:
/data/mysql/data
Esta separación permite que los datos importantes no dependan directamente de las rutas predeterminadas del sistema.
Objetivos
Al finalizar el laboratorio seremos capaces de:
- Instalar Nginx, PHP-FPM y MySQL.
- Crear un servidor virtual en Nginx.
- Ejecutar archivos PHP desde Nginx.
- Crear una base de datos y un usuario MySQL.
- Conectar PHP con MySQL.
- Cambiar la carpeta pública de una página web.
- Cambiar el directorio de datos de MySQL.
- Configurar correctamente propietarios y permisos.
- Comprender la diferencia entre configuración, aplicación y datos.
- Diagnosticar errores mediante logs y comandos del sistema.
Requisitos
Para realizar el laboratorio necesitaremos:
- Ubuntu Server.
- Acceso mediante SSH o consola.
- Un usuario con permisos de
sudo. - Al menos 2 GB de RAM.
- Aproximadamente 10 GB de espacio libre.
- Conectividad de red.
El laboratorio puede realizarse en:
- Una máquina virtual.
- Un servidor físico.
- Una instancia VPS.
- Un equipo de laboratorio.
- Una Raspberry Pi con Ubuntu Server de 64 bits.

