Deployment-Grundlagen
Deployment-Grundlagen
~17 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026
Zeit, aufgaben-manager tatsächlich auf einen Produktionsserver zu bringen – eine SYSTEMATISCHE Checkliste, die jeden Schritt aus dieser Schulung zu einem funktionierenden Ganzen zusammenführt.
1. Abhängigkeiten für Produktion installieren
composer install --no-dev --optimize-autoloader--no-dev überspringt require-dev-Pakete (Kapitel 6) – maker-bundle, PHPUnit (Kapitel 42) & Co. werden in Produktion NICHT gebraucht und würden nur unnötig Angriffsfläche und Speicherplatz hinzufügen. --optimize-autoloader baut eine performanteren, klassen-indizierten Autoloader statt der langsameren Standard-Variante.
2. Umgebungsvariablen für Produktion setzen
APP_ENV=prod
APP_SECRET=EIN_ECHTER_ZUFAELLIGER_WERT_NIEMALS_AUS_ENTWICKLUNG_UEBERNEHMEN
DATABASE_URL="postgresql://produktions_nutzer:sicheres_passwort@produktions-db-host:5432/aufgaben_manager?serverVersion=16&charset=utf8"
MAILER_DSN=smtp://echter-anbieter.de:587Achtung: GENAU wie in Kapitel 4 gelernt: .env.local wird NIEMALS versioniert. Der APP_SECRET MUSS für Produktion NEU generiert werden (NIEMALS den aus der lokalen Entwicklung wiederverwenden) – er wird u. a. für CSRF-Token-Generierung (Kapitel 18) und Signaturen verwendet.
3. Cache vorab aufwärmen
php bin/console cache:clear --env=prod
php bin/console cache:warmup --env=prodGENAU der in Kapitel 4 erklärte Produktions-Cache – wird er NICHT vorab aufgewärmt, trägt der ERSTE Nutzer nach jedem Deployment die Kosten des Cache-Aufbaus (spürbar langsame erste Anfrage).
4. Datenbank-Migrationen ausführen
php bin/console doctrine:migrations:migrate --env=prod --no-interactionAchtung: --no-interaction aus Kapitel 40 ist HIER ZWINGEND für automatisierte Deployments. Prüfen Sie VOR jedem Produktions-Deployment, ob die neuen Migrationen TATSÄCHLICH mit den bereits in Produktion vorhandenen Daten kompatibel sind – eine Spalte, die in der Entwicklungsdatenbank leer war, kann in Produktion echte Werte enthalten, die eine Migration NICHT beschädigen darf.
5. Statische Assets kompilieren
php bin/console asset-map:compileBaut die in Kapitel 14 mit asset() referenzierten Dateien für Produktion, INKLUSIVE Cache-Busting-Hashes im Dateinamen – ändert sich app.css, erhält die neue Version einen NEUEN Dateinamen, sodass Browser NICHT versehentlich die alte, gecachte Version weiter nutzen.
Die vollständige Checkliste im Überblick
composer install --no-dev --optimize-autoloader- Umgebungsvariablen prüfen (
APP_ENV=prod, echterAPP_SECRET, echteDATABASE_URL) php bin/console cache:clear --env=prod && cache:warmup --env=prodphp bin/console doctrine:migrations:migrate --env=prod --no-interactionphp bin/console asset-map:compile- Dateiberechtigungen für
var/cacheundvar/logprüfen (Webserver-Nutzer braucht Schreibzugriff) - HTTPS-Zertifikat und Sicherheits-Header prüfen
Ein letzter Check: bin/console about
php bin/console about --env=prodTipp: Zeigt die AKTIVE Umgebung, PHP-Version und installierte Bundles – ein schneller, letzter Blick, um zu bestätigen, dass die Anwendung TATSÄCHLICH in der prod-Umgebung läuft und nicht versehentlich noch dev-Konfiguration verwendet (was Debug-Informationen für JEDEN Besucher sichtbar machen würde – ein ernsthaftes Sicherheitsrisiko).
Damit ist Block 8 – und diese GESAMTE Schulung – FAST vollständig! Ein abschließendes Kapitel bündelt alles Gelernte und rundet aufgaben-manager ab.