# RadioCMS Community Edition, Installationsanleitung

Kostenlos, Open Source, ohne Lizenz-Key. Funktioniert auf jedem normalen Webhoster.

## Voraussetzungen

### Server
- PHP **>= 8.1** mit folgenden Extensions: `pdo_mysql`, `mbstring`, `curl`, `gd`, `json`, `openssl`, `zip`
- MySQL **>= 5.7** oder MariaDB **>= 10.3**
- Apache 2.4+ mit `mod_rewrite` ODER Nginx
- SSL-Zertifikat (empfohlen, Let's Encrypt ist kostenlos)

---

## Installation

### 1. Dateien hochladen

Lade alle Dateien per FTP/SFTP in dein Webroot hoch, ganz egal ob Shared Hosting oder eigener VPS.

Die wichtigsten Ordner müssen **beschreibbar** sein:
- `storage/`
- `logs/`
- `assets/img/`
- `themes/`
- `plugins/`
- `config/`

### 2. Datenbank anlegen

Lege in deiner Hosting-Oberfläche (cPanel, Plesk, phpMyAdmin) eine neue MySQL-Datenbank an und einen DB-User mit allen Rechten auf diese Datenbank.

### 3. Installer aufrufen

Öffne im Browser:
```
https://deinradio.de/install.php
```

Der Installer führt dich durch:

### Schritt 1, Systemcheck
Prüft PHP-Version, Extensions und Schreibrechte. Alle Punkte müssen ✅ grün sein.

### Schritt 2, Datenbankverbindung
- **DB-Host**: meist `localhost`
- **Datenbankname**, **Benutzer**, **Passwort**

Klick auf „Verbindung testen" bevor du weitergehst.

### Schritt 3, Admin-Account
Name, E-Mail, sicheres Passwort.

### Schritt 4, Grundeinstellungen
- **Radioname**, wird im Header angezeigt
- **Stream-URL**, URL deines Icecast2/SHOUTcast-Servers
- **Basis-URL**, deine Website-URL (mit `https://`)
- **SMTP** (optional), für E-Mail-Versand

### Schritt 5, Installation abschließen
Der Installer erstellt alle DB-Tabellen (27 Stück), schreibt die Config und richtet Ordner ein.

---

## Nach der Installation

### ⚠️ WICHTIG: install.php löschen!

```bash
# Datei im FTP-Client löschen oder umbenennen:
rm install.php
# oder
mv install.php install.php.bak
```

### Ersten Login
- Admin-Panel: `https://deinradio.de/admin/`
- Mit den im Installer angelegten Daten anmelden

### Grundkonfiguration
1. **Einstellungen** → Logo, Farben, Social-Media Links
2. **Einstellungen** → Stream-URL kontrollieren
3. **Team** → Team-Mitglieder anlegen
4. **DJs** → DJ-Profile anlegen
5. **Sendeplan** → Ersten Sendeplan eintragen
6. **Module** → Nicht benötigte Features deaktivieren (optional)
7. **Themes** → Eigenes Design hochladen (optional)
8. **Plugins** → Aus dem Community-Store installieren (optional)

---

## Troubleshooting

| Problem | Mögliche Ursache | Lösung |
|---------|-----------------|--------|
| Weiße Seite / 500 Error | PHP-Fehler | `logs/error.log` prüfen |
| 404 auf allen Unterseiten | `mod_rewrite` nicht aktiv | Apache: `a2enmod rewrite` + restart; `.htaccess` prüfen |
| Datenbankfehler | Falsche Zugangsdaten | `config/config.php` prüfen, DB-User Rechte prüfen |
| Upload schlägt fehl | Ordner nicht schreibbar | `chmod 775 assets/img/ storage/ logs/ themes/ plugins/` |
| Admin zeigt keine Inhalte | Neue Rechte nicht geladen | Ausloggen und erneut einloggen |
| Stream zeigt „Offline" | Falsche Stream-URL oder Port | Stream-URL direkt im Browser testen |
| Plugin-Fehler | Defektes Plugin | `logs/plugin_errors.log` + Plugin im Admin deaktivieren |

---

## Verzeichnisstruktur

```
radio/
├── index.php               # Startseite
├── install.php             # Installer (NACH INSTALL LÖSCHEN!)
├── .htaccess               # Rewrites + Security-Header
├── config/
│   ├── config.php          # Generiert vom Installer
│   └── database.php        # DB-Verbindung
├── admin/                  # Admin-Backend
├── includes/               # Core-PHP (plugins, themes, functions, ...)
├── lang/                   # Sprachdateien (de.php, en.php)
├── themes/                 # Themes (default + hochgeladene)
│   └── default/            # Standard-Theme
├── plugins/                # Plugins (hochgeladen oder manuell)
├── assets/
│   ├── css/
│   ├── js/
│   └── img/                # Fotos für DJs, Partner, Team, News
├── storage/                # Sessions etc. (schreibbar!)
├── logs/                   # Error-Logs (schreibbar!)
└── api/                    # API-Endpunkte
```

---

## Systemanforderungen

| Anforderung | Minimum | Empfohlen |
|------------|---------|-----------|
| PHP | 8.1 | 8.2+ |
| MySQL | 5.7 | 8.0+ |
| Webserver | Apache 2.4 / Nginx | Apache mit mod_rewrite |
| RAM | 256 MB | 512 MB+ |
| Disk | 100 MB | 1 GB+ |
| SSL | Empfohlen | Let's Encrypt (kostenlos) |

---

## Support & Community

- **Entwickler-Doku:** https://radio.dgnshop.com/dev/
- **Community-Forum:** (kommt bald)
- **Custom Plugins / Support:** Kontakt über radio.dgnshop.com

RadioCMS Community Edition ist Open Source (MIT-Lizenz).
