Appearance
Herramientas y aplicaciones necesarias
Para el desarrollo web necesitamos los siguientes programas.
Para programar vamos a usar el siguiente IDE:
Instalando en Ubuntu
En un sistema Ubuntu, puedes instalar Apache y PHP utilizando los siguientes comandos:
Actualizar los repositorios:bash
# Actualizar repositorios
sudo apt update
# Instalar Apache2
sudo apt install apache2
# Instalar php y el módulo de php para apache
sudo apt install php libapache2-mod-phpDespués de realizar estas tareas, debes resetear Apache para ponerlo todo en funcionamiento:
bash
sudo systemctl restart apache2Instalando en Windows con XAMPP
XAMPP es una solución sencilla para tener Apache, PHP y MySQL en Windows. Sigue estos pasos para instalarlo:
Descargar XAMPPVe al sitio web oficial de XAMPP https://www.apachefriends.org y descarga la versión que incluye PHP.
Instalar XAMPPEjecuta el instalador y sigue las instrucciones. Asegúrate de seleccionar Apache y PHP durante la instalación.
Iniciar los servicios:Abre el panel de control de XAMPP y asegúrate de iniciar Apache.
Comprobar instalaciónAbre tu navegador y visita http://localhost/. Deberías ver la página de bienvenida de XAMPP.
Creación de Docker
Warning
Esta tecnología la emplearemos más tarde. Cuando la veáis en el módulo de despliegue. Pero la dejamos aquí, para recuperarla en su momento.
- Es esta la solución que vamos a utilizar.
- Para ello crearemos un docker-compose.yaml, que nos levante un servicio con PHP y Apache2.
- Por si queremos realizar modificaciones sobre la imagen original, la imagen la vamos a crear a partir de un Dockerfile.
- Cada proyecto que creemos o bien tendremos esta estructura, o bien los crearemos todos a partir de la carpeta compartida.

El contenido de los ficheros:
yaml
services:
web:
build : .
ports:
- 8800:80
volumes:
- ./../app:/var/www/html
container_name: webInfo
- Creamos el servicio (contenedor) web
- A partir del Dockerfile que tenemos en la misma carpeta
- Proyectamos el puerto 8800 para acceder a él
- Mapeamos la carpeta ./../app para escribir nuestros programas
El Dockerfile:
dockerfile
FROM php:8.3-apache
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
# Usa la imagen base de PHP con Apache
# Añadir o modificar la configuración de Apache para listar directorios si no hay index
RUN echo '<Directory /var/www/html>' >> /etc/apache2/apache2.conf
RUN echo 'Options +Indexes' >> /etc/apache2/apache2.conf
RUN echo '</Directory>' >> /etc/apache2/apache2.conf
# Exponer el puerto 80
EXPOSE 80La imagen de la estructura la podríamos organizar de la siguiente manera:

Apache
Servidor Apache y su funcionamiento modular

Como se muestra en la imagen, Apache funciona mediante un sistema de módulos. Cada uno de estos módulos (como PHP, MySQL, XML, entre otros) añade funcionalidades específicas y se conecta al núcleo de Apache. Puedes activar o desactivar, instalar o desinstalar módulos según tus necesidades, manteniendo solo aquellos que sean esenciales.
Es importante recordar que, al instalar Apache, se abre una "puerta" en el sistema hacia redes externas, lo que puede representar una exposición al exterior. Mantener activos solo los módulos necesarios reduce esta exposición y ayuda a mejorar la seguridad del servidor.
Consideraciones de seguridad
Cuando instalas y configuras Apache en tu sistema, estás abriendo una "puerta" que permite el acceso desde redes externas. Esto significa que, en cierta medida, tu sistema está expuesto al exterior, lo que podría representar un riesgo de seguridad si no se toman las precauciones adecuadas.
Para minimizar esta exposición, es importante:
- Mantener actualizados tanto Apache como sus módulos.
- Configurar adecuadamente los permisos y accesos, limitando el acceso a solo aquellos que necesiten interactuar con el servidor.
- Deshabilitar módulos innecesarios, ya que cada módulo adicional aumenta las posibles vulnerabilidades.
Recuerda que el uso seguro de Apache es esencial para proteger la infraestructura de red y los datos alojados en el servidor.



