📜 Descripción
El Spring 1 tiene como objetivo la configuración de un servidor web funcional en una máquina virtual Ubuntu utilizando Apache2.
Esta fase permitirá:
- Implementar un servidor web con Apache2.
- Habilitar la carga de imágenes mediante dos métodos:
- Almacenamiento en una carpeta del servidor.
- Almacenamiento en una base de datos MySQL.
- Garantizar el despliegue inicial de la aplicación web Extagram.
Con esta configuración, se establecerán las bases para futuras mejoras y optimizaciones del sistema.
🔧 2. Requisitos
Software necesario:
- Ubuntu Server
- Apache2
- PHP & PHP-FPM
- MySQL Server
⚙️ Instalación y Configuración
📌 Instalación de Apache2 y PHP
Se instala el servidor web Apache2 junto con PHP y sus módulos requeridos.
sudo apt update && sudo apt install apache2 php libapache2-mod-php php-mysql php-fpm -y
🛢️ Instalación y configuración de MySQL
Se instala MySQL Server y se crea la base de datos para almacenar las imágenes.
sudo apt install mysql-server -y
sudo mysql_secure_installation
🗄️ Creación de la base de datos
Se define la estructura de la base de datos para almacenar las imágenes.
CREATE DATABASE extagram_db;
CREATE USER 'extagram_admin'@'%' IDENTIFIED BY 'pass123';
GRANT ALL PRIVILEGES ON extagram_db.* TO 'extagram_admin'@'%';
FLUSH PRIVILEGES;
CREATE TABLE extagram_db.posts(post TEXT, photourl TEXT);
⚡ Configuración de Apache2
Se habilitan los módulos necesarios para la ejecución de PHP-FPM en Apache.
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php*-fpm
sudo systemctl restart apache2
🔑 Configuración de permisos
Se asignan los permisos adecuados para el directorio web.
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
📂 Implementación de Extagram
📤 upload.php
- Carga de imágenes
Este script permite a los usuarios subir imágenes a la plataforma. Las imágenes pueden guardarse en una carpeta en el servidor o directamente en la base de datos MySQL.
🖼️ extagram.php
- Visualización de imágenes
Este archivo se encarga de recuperar y mostrar las imágenes almacenadas, ya sea desde la base de datos o desde la carpeta del servidor.
✅ Pruebas y Verificación
1️⃣ Iniciar Apache y MySQL
Antes de probar la aplicación, es necesario asegurarse de que los servicios estén activos.
sudo systemctl start apache2
sudo systemctl start mysql
2️⃣ Acceder a la aplicación
Ingresar a la URL del servidor en un navegador para probar la carga y visualización de imágenes:
🎯 Conclusión
Este **Spring 1** ha permitido establecer la infraestructura básica de **Extagram**, asegurando un servidor web funcional con capacidad para almacenar y mostrar imágenes. Esta implementación servirá como base para futuras mejoras y optimizaciones.