# Install

Dieses Verzeichnis enthält den Installer für Neuinstallationen und Updates.

## Wege
- Browser: `install/index.php`
- CLI: `php install/check.php`, `php install/install.php`, `php install/update.php`

## Dateien
- `index.php`
  - Startseite für einfache Hostings ohne Shell-Zugriff
- `check.php`
  - prüft Konfiguration, DB-Verbindung, Basisschema und Tabellenstatus
- `install.php`
  - Neuinstallation mit `install/sql/mr.sql`, Migrationen und erstem Admin
- `update.php`
  - führt nur noch fehlende Migrationen aus
- `common.php`
  - gemeinsame Hilfsfunktionen für CLI und Web
- `install.lock`
  - wird nach erfolgreicher Installation/Update geschrieben und sperrt den Web-Installpfad
- `migrations/`
  - versionsweise, idempotente DB-Migrationen
- `sql/mr.sql`
  - Basisschema für Neuinstallationen

## Web-Installation
1. `includes/config.php` korrekt setzen.
2. `install/index.php` im Browser öffnen.
3. `System prüfen` ausführen.
4. `Neuinstallation` starten.
5. Admin-E-Mail und Passwort setzen.
6. Nach erfolgreicher Installation im Admin einloggen.

## Web-Update
- `install/update.php` ist im Browser nur mit aktiver Admin-Session nutzbar.
- Offene Migrationen werden angezeigt und per Button ausgeführt.

## CLI-Beispiele
```bash
php install/check.php
php install/install.php --admin-email=admin@example.com --admin-password='CHANGE_ME' --admin-name='Administrator'
php install/update.php
```

## Hinweise
- Der Dump enthält keine Admin-Daten.
- Der erste Admin wird beim Installieren angelegt.
- Der Migrationsstand wird in `app_schema_migrations` gespeichert.
- Für eine erneute Web-Neuinstallation muss `install/install.lock` bewusst entfernt werden.