# 🌐 Proyecto Web en Raspberry Pi 4 con HTTPS y Apache2 Configuración completa de servidor web autohospedado en una Raspberry Pi 4 usando Apache2, múltiples webs con HTTPS y dominio dinámico mediante DuckDNS. --- ## 🌟 Requisitos - Raspberry Pi 4 con Raspberry Pi OS Lite - Acceso root o sudo habilitado - Acceso a tu router para redireccionar puertos - Cuenta en [https://www.duckdns.org](https://www.duckdns.org) --- ## ✅ Paso 1: Actualizar la Raspberry Pi ```bash sudo apt update && sudo apt upgrade -y ``` --- ## ✅ Paso 2: Instalar Apache2 y herramientas necesarias ```bash sudo apt install apache2 certbot python3-certbot-apache curl git unzip -y ``` --- ## ✅ Paso 3: Registrar dominios en DuckDNS 1. Ir a [https://www.duckdns.org](https://www.duckdns.org) e iniciar sesión 2. Crear los subdominios necesarios (ej: `lilcarpi`, `blogcarpi`) 3. Apuntar ambos a tu IP pública --- ## ✅ Paso 4: Crear script de actualización de IP dinámica ```bash sudo mkdir -p /root/duckdns sudo nano /root/duckdns/duck.sh ``` Contenido del script: ```bash #!/bin/bash TOKEN="TU_TOKEN_DUCKDNS" DOMAINS="lilcarpi,blogcarpi" URL="https://www.duckdns.org/update?domains=$DOMAINS&token=$TOKEN&ip=" echo url="$URL" | curl -k -o /root/duckdns/duck.log -K - ``` Dar permisos y crear cronjob: ```bash chmod +x /root/duckdns/duck.sh (crontab -l ; echo "*/5 * * * * /root/duckdns/duck.sh") | crontab - ``` --- ## ✅ Paso 5: Configurar Apache2 con múltiples webs Crear carpetas para los sitios: ```bash sudo mkdir -p /var/www/lilcarpi sudo mkdir -p /var/www/blogcarpi ``` Dar permisos: ```bash sudo chown -R $USER:$USER /var/www/lilcarpi sudo chown -R $USER:$USER /var/www/blogcarpi ``` Crear archivos de configuración para cada virtualhost: ```bash sudo nano /etc/apache2/sites-available/lilcarpi.conf ``` ```apacheconf ServerName lilcarpi.duckdns.org DocumentRoot /var/www/lilcarpi ``` ```bash sudo nano /etc/apache2/sites-available/blogcarpi.conf ``` ```apacheconf ServerName blogcarpi.duckdns.org DocumentRoot /var/www/blogcarpi ``` Activar los sitios y reiniciar Apache: ```bash sudo a2ensite lilcarpi.conf sudo a2ensite blogcarpi.conf sudo systemctl reload apache2 ``` --- ## ✅ Paso 6: Instalar HTTPS con Let's Encrypt ```bash sudo certbot --apache -d lilcarpi.duckdns.org -d blogcarpi.duckdns.org ``` Si quieres forzar redirección HTTP → HTTPS, acepta cuando te lo pida. --- ## ✅ Paso 7: Comprobación - Visita [https://lilcarpi.duckdns.org](https://lilcarpi.duckdns.org) - Visita [https://blogcarpi.duckdns.org](https://blogcarpi.duckdns.org) --- ## 🚫 Paso Opcional: Configurar dominio personalizado (como carpi.inc) **DuckDNS no permite usar dominios personalizados directamente**. Pero podrías: 1. Comprar un dominio (como carpi.inc) 2. En su DNS, apuntar un CNAME a `lilcarpi.duckdns.org` 3. Usar DNS-01 para Let's Encrypt, con un hook --- ## 🌐 Notas finales - Todo esto se ejecuta directamente en la Raspberry Pi 4 - Puedes expandirlo con más virtualhosts - Si quieres rendimiento, activa caché o CDN local (como Cloudflare DNS + proxy inverso) --- 🌟 Powered by Tars & Carpi ``` } ```