# 01 — Bootstrap, `.env`, Deployment **Priorität:** high **Status:** erledigt (2026-06-11) **Abhängigkeiten:** keine **Blockiert:** 02, 03, 04, 05, 06 ## Ziel Lokales Repo mit dem Webspace verbinden und eine deploybare Grundstruktur anlegen. ## Checkliste - [x] `.env.example` nach `.env` kopieren - [x] Plesk-User/Passwort, FTP in `.env` eintragen (nicht committen) - [x] Document Root: `httpdocs/` (Plesk-Standard) - [x] PHP-Version: 8.5.x (Plesk Cron) - [x] Verzeichnis `public/` als Quelle für `httpdocs/` - [x] Erstes Deployment: `public/index.php` (Status-Beacon Platzhalter) - [x] HTTPS Let's Encrypt in Plesk (gültig bis 2026-09-09) - [x] HTTP → HTTPS Redirect (301) - [x] HSTS (`Strict-Transport-Security`, max-age 15768000, includeSubDomains) - [x] Deploy-Skript: `scripts/deploy.sh` (FTPS/FTP via Python) ## Server-Layout (nach Deploy) ``` 0012.de/ ├── httpdocs/ ← public/ │ └── index.php └── private/ ← nicht öffentlich ├── server.env ← Server-Secrets (deployed, nicht .env!) ├── config/bootstrap.php └── data/ ← später last-checks.json ``` ## Deploy ```bash ./scripts/deploy.sh # upload ./scripts/deploy.sh --dry-run ``` ## Akzeptanzkriterien - [x] FTP-Login funktioniert (deploy.sh) - [x] `https://0012.de/` — Landing Page über TLS - [x] `.env` liegt lokal, ist in `.gitignore`