# SETUP.md - Einrichtungsanleitung ## 1. Vorbereitung ### Server vorbereiten ```bash # Für jeden CDN-Server (als root): apt update && apt upgrade -y apt install -y python3 python3-pip ``` ### SSH-Keys einrichten ```bash # Auf deinem lokalen Rechner: ssh-keygen -t rsa -b 4096 -C "cdn-deployment" ssh-copy-id root@cdn-fra1.example.de ssh-copy-id root@cdn-ham1.example.de ssh-copy-id root@cdn-muc1.example.de ``` ## 2. Konfiguration anpassen ### Domains und IPs ändern ```bash # 1. Server-IPs eintragen vim inventories/production/hosts.yml # 2. Domain-Namen anpassen vim inventories/production/group_vars/all/main.yml ``` **Wichtig:** Ändere diese Werte: - `cdn_domain: "cdn.example.de"` → deine CDN-Domain - `ssl_email: "admin@example.de"` → deine E-Mail - `origin_domain: "www.example.de"` → deine Website - Alle IP-Adressen in `hosts.yml` ## 3. DNS konfigurieren Bevor du deployest, stelle sicher dass deine CDN-Domain zu den Servern zeigt: ```bash # A-Records für deine CDN-Domain: cdn.example.de. IN A 10.0.1.10 # Frankfurt cdn.example.de. IN A 10.0.2.10 # Hamburg cdn.example.de. IN A 10.0.3.10 # München ``` ## 4. Deployment ```bash # Testen make check # Deployen make deploy # Health-Check make health ``` ## 5. Testen ```bash # CDN testen curl -I https://cdn.example.de/health # Cache-Header prüfen curl -I https://cdn.example.de/some-static-file.css # Performance testen time curl -o /dev/null -s https://cdn.example.de/ ``` ## 6. Wartung ```bash # Cache leeren make purge-cache # Status prüfen make status # SSL erneuern make renew-ssl # Interaktive Verwaltung make manage ``` ## Troubleshooting ### Ansible-Verbindung testen ```bash ansible all -m ping ``` ### Nginx-Konfiguration prüfen ```bash ansible cdn_nodes -m shell -a "nginx -t" ``` ### Logs anschauen ```bash ansible cdn_nodes -m shell -a "tail -f /var/log/nginx/error.log" ``` ### SSL-Probleme ```bash # SSL-Status prüfen ansible cdn_nodes -m shell -a "certbot certificates" # Manuell erneuern ansible cdn_nodes -m shell -a "certbot renew --force-renewal" ```