Das Web-Radio-CMS V5 ist ein eigenständiges Web-CMS für den Betrieb eines modernen Online-Webradios.
Das System verbindet die wichtigsten Funktionen für den Radiobetrieb mit einem Benutzer-, Community- und Administrationssystem.
🎧 Live-Player
📻 Now Playing
📅 Sendeplan
🎙️ DJ-/Moderator-Bereich
🎵 Wunschbox
📰 News
📝 Blog
💬 Forum
✉️ Private Nachrichten
👥 Benutzerverwaltung
🔐 Rollen- und Rechteverwaltung
🛠️ Administrationsbereich
📊 Hörer-/Streamstatistiken
❤️ Likes/Favoriten
🧩 Widgets
📁 Upload-System
🔒 Sicherheitsfunktionen
Das CMS ist modular aufgebaut und kann später um weitere Funktionen erweitert werden.
Für den Betrieb wird ein Webserver mit PHP und MySQL/MariaDB benötigt.
Empfohlen:
PHP 8.x
MySQL oder MariaDB
PDO
PDO MySQL
Session-Unterstützung
ZIP-Unterstützung über ZipArchive
Falls ZipArchive auf dem Server
nicht verfügbar ist, kann der Installer alternativ PclZip
verwenden, sofern die entsprechende Bibliothek im Installationspaket vorhanden
ist.
Geeignet sind beispielsweise:
Apache
Nginx
vergleichbare PHP-Webserver
Das Installationspaket wird als Datei ausgeliefert:
webradio-security-v5-install.zip
Dieses Paket wird zuerst auf dem eigenen PC oder Laptop entpackt.
Nach dem Entpacken befinden sich darin unter anderem:
webradio-security-v5.zip
install.php
Die eigentliche CMS-Datei
webradio-security-v5.zip
wird nicht manuell auf dem Server entpackt.
Das übernimmt automatisch install.php.
Die Datei
webradio-security-v5-install.zip
auf dem PC/Laptop entpacken.
Danach sollten mindestens folgende Dateien vorhanden sein:
webradio-security-v5.zip
install.php
Die beiden benötigten Dateien auf den gewünschten Webspace/Webserver hochladen:
webradio-security-v5.zip
install.php
Beispiel:
/
├── install.php
└── webradio-security-v5.zip
Die Dateien können im Webroot oder in einem anderen gewünschten Verzeichnis abgelegt werden.
Im Browser die hochgeladene install.php
aufrufen.
Beispiel:
https://DEINE-DOMAIN/install.php
Der Installer sucht automatisch nach:
webradio-security-v5.zip
Wird die Datei nicht gefunden, erscheint:
ZIP-Datei nicht gefunden.
install.php übernimmt das Entpacken der
CMS-Dateien automatisch.
Als Zielverzeichnis ist festgelegt:
webradio
Der Installer verwendet zunächst die PHP-Funktion:
ZipArchive
Ist diese verfügbar, wird das CMS damit entpackt.
Falls ZipArchive nicht verfügbar
ist, versucht der Installer alternativ:
PclZip
zu verwenden.
Der grundsätzliche Ablauf lautet:
webradio-security-v5.zip
↓
install.php
↓
/webradio/
↓
/webradio/install
Nach erfolgreichem Entpacken erfolgt automatisch die Weiterleitung zum eigentlichen CMS-Installer:
/webradio/install
Nach dem automatischen Entpacken entsteht das CMS unter:
/webradio/
Der eigentliche Installationsbereich befindet sich unter:
/webradio/install
Die vorherige install.php dient
lediglich dazu, das CMS-Paket auf dem Server bereitzustellen und anschließend
den eigentlichen Installer zu starten.
Sofern die mitgelieferte check.php
verwendet wird, kann damit vor bzw. während der Installation geprüft werden, ob
die Serverumgebung die benötigten Voraussetzungen erfüllt.
Beispiel:
https://DEINE-DOMAIN/check.php
Der genaue Umfang der Prüfungen richtet sich nach der tatsächlich
mitgelieferten Version von check.php.
Das Web-Radio-CMS verwendet eine MySQL-/MariaDB-Datenbank.
Für das Projekt ist folgende Datenbank vorgesehen:
webradio_fhmr
Für die Datenbank werden die Zugangsdaten des jeweiligen Webhosters benötigt.
Typischerweise benötigt der Installer:
Datenbankserver
Datenbankname
Datenbankbenutzer
Datenbankpasswort
Die Datenbank sollte vor der Installation angelegt werden, sofern der Webhoster dies nicht automatisch über den Installer ermöglicht.
Während der Installation wird der erste Administrator eingerichtet.
Der Administrator besitzt die höchsten Rechte im System.
Der Administrator kann unter anderem:
Benutzer verwalten
Rollen verwalten
DJs verwalten
Moderatoren verwalten
Sendungen verwalten
Sendeplan verwalten
Wunschbox verwalten
News verwalten
Blog verwalten
Forum verwalten
Kategorien verwalten
Systemeinstellungen verwalten
weitere administrative Bereiche verwalten
Das Administratorpasswort sollte sicher gewählt werden.
Das CMS arbeitet mit verschiedenen Benutzerrollen.
admin
Vollständiger Zugriff auf die administrativen Funktionen.
moderator
Moderatoren übernehmen Aufgaben innerhalb der Community und Moderation.
Je nach Modul können Moderatoren beispielsweise:
Inhalte moderieren
Beiträge verwalten
Wunschbox-Anfragen verwalten
andere Benutzer betreffende Moderationsaufgaben übernehmen
dj
DJs erhalten Zugriff auf die für den Radiobetrieb vorgesehenen DJ-Funktionen.
Dazu gehören insbesondere:
eigene Sendungen
Sendeplan
DJ-Bereich
radiobezogene Funktionen
Normale Benutzer sollen keine Sendungen anlegen können.
user
Normale Benutzer können die Community-Funktionen nutzen.
Dazu gehören beispielsweise:
Radio hören
Wunschbox
Forum
Blog lesen
eigene Blogbeiträge
private Nachrichten
eigene Inhalte verwalten, sofern das jeweilige Modul dies erlaubt
Der Live-Player ist der zentrale Bestandteil des Radios.
Der Player kann unter anderem anzeigen:
Stream
Play/Pause
Lautstärke
aktuellen Titel
Now Playing Informationen
Der Player kann in die Startseite bzw. andere Bereiche des CMS integriert werden.
Der Bereich Now Playing zeigt den aktuell laufenden Titel beziehungsweise die aktuellen Streaminformationen.
Je nach verwendeter Streamtechnik können Informationen wie:
Interpret
Titel
Cover
aktuelle Sendung
angezeigt werden.
Die konkrete Darstellung hängt von der verwendeten Streamquelle und deren verfügbaren Daten ab.
Der Sendeplan zeigt die geplanten Sendungen des Radios.
Mögliche Informationen:
Sendungsname
DJ/Moderator
Wochentag
Startzeit
Endzeit
Wiederholung
Status
Der Sendeplan kann sowohl als vollständige Seite als auch als Widget verwendet werden.
Zusätzlich zur normalen Sendeplan-Seite gibt es eine Widget-Variante.
Das Widget kann beispielsweise auf der Startseite oder in einer Sidebar eingebunden werden.
Beispielhafte Darstellung:
Sendeplan
Montag
18:00 – 20:00 DJ Max
Dienstag
20:00 – 22:00 DJ Anna
Die genaue Ausgabe hängt von den vorhandenen Sendungen ab.
Mit der Wunschbox können Hörer Musikwünsche an das Radio senden.
Typischer Ablauf:
Benutzer
↓
Wunschbox
↓
Musikwunsch
↓
Moderation/DJ
↓
Bearbeitung
Die Wunschbox ist für normale Benutzer zugänglich.
Administratoren und Moderatoren können die eingehenden Wünsche verwalten.
Neben der normalen Wunschbox-Seite kann die Wunschbox auch als Widget eingebunden werden.
Damit kann beispielsweise auf der Startseite ein kompakter Wunschbox-Bereich angezeigt werden.
Über den News-Bereich können aktuelle Informationen veröffentlicht werden.
Mögliche Inhalte:
Radio-News
technische Informationen
Hinweise
Aktionen
Ankündigungen
Sendungsinformationen
Die Verwaltung erfolgt über den dafür vorgesehenen administrativen Bereich.
Das CMS enthält einen Blogbereich.
Benutzer können – abhängig von den gesetzten Rechten – eigene Beiträge erstellen.
Vorgesehene Funktionen:
Beiträge erstellen
Beiträge anzeigen
eigene Beiträge bearbeiten
eigene Beiträge löschen
Kategorien
Administratorverwaltung
Moderation
Administratoren und Moderatoren können Inhalte anderer Benutzer entsprechend ihrer Rechte verwalten.
Das Forum stellt den Community-Bereich des Web-Radios dar.
Benutzer können:
Kategorien ansehen
Themen erstellen
Antworten schreiben
eigene Beiträge bearbeiten
eigene Beiträge löschen
Moderatoren können zusätzlich Inhalte anderer Benutzer moderieren.
Administratoren besitzen die vollständigen Verwaltungsrechte.
| Funktion | Benutzer | Moderator | Admin |
|---|---|---|---|
| Kategorien ansehen | ✓ | ✓ | ✓ |
| Thema erstellen | ✓ | ✓ | ✓ |
| Antworten schreiben | ✓ | ✓ | ✓ |
| Eigene Beiträge bearbeiten | ✓ | ✓ | ✓ |
| Eigene Beiträge löschen | ✓ | ✓ | ✓ |
| Beiträge anderer bearbeiten | – | ✓ | ✓ |
| Beiträge anderer löschen | – | ✓ | ✓ |
| Kategorien verwalten | – | – | ✓ |
| Thema sperren | – | ✓ | ✓ |
Das Nachrichtensystem ermöglicht die Kommunikation zwischen Benutzern.
Unterstützt werden unter anderem:
Nachrichten senden
Nachrichten empfangen
ungelesene Nachrichten
Nachrichtenverlauf
Unterhaltungen archivieren
Unterhaltungen wiederherstellen
einzelne Nachrichten löschen
gesendete Nachrichten löschen
empfangene Nachrichten löschen
Im Hauptmenü kann ein Hinweis auf neue bzw. ungelesene Nachrichten angezeigt werden.
Administratoren können Benutzer verwalten.
Je nach Bereich können unter anderem folgende Informationen verwaltet werden:
Benutzername
Benutzerstatus
Rolle
Profilinformationen
Avatar
Zugang
weitere Benutzerdaten
Die Rollensteuerung verhindert, dass normale Benutzer auf geschützte Verwaltungsbereiche zugreifen.
Der Radiobetrieb verfügt über einen separaten Bereich für DJs und Moderatoren.
Der Bereich ist nicht für normale Benutzer vorgesehen.
DJs können dort radiobezogene Aufgaben erledigen.
Moderatoren erhalten die für die Moderation vorgesehenen Funktionen.
Administratoren haben Zugriff auf alle Bereiche.
Geschützte Bereiche verwenden Rollenprüfungen.
Beispielsweise können Bereiche ausschließlich für Administratoren und Moderatoren freigegeben werden:
requireRole('admin', 'moderator');
Dadurch können bestimmte Funktionen gezielt mehreren Rollen zugänglich gemacht werden.
Das CMS enthält verschiedene grundlegende Sicherheitsmechanismen.
Dazu gehören unter anderem:
Login-Schutz
Rollenprüfung
CSRF-Schutz
PDO Prepared Statements
sichere HTML-Ausgabe
Session-Schutz
Sicherheits-Header
Zugriffskontrollen
Eigentümerprüfungen bei eigenen Inhalten
Beispiel für die Ausgabe-Escaping-Funktion:
e()
Beispiel für einen geschützten Bereich:
requireLogin();
Beispiel für Rollen:
requireRole('admin', 'moderator');
Die vorhandenen Sicherheitsmaßnahmen stellen eine solide Basis für das CMS dar, ersetzen jedoch keinen professionellen Sicherheitstest bzw. Penetrationstest.
Formulare mit schreibenden Aktionen verwenden CSRF-Schutz.
Beispiel:
<form method="post"
action="<?= e(url('modules/messages/message_action.php')) ?>">
<?php echo csrfField(); ?>
</form>
Der CSRF-Token gehört in das Formular und nicht in die URL.
Dies schützt POST-Aktionen gegen bestimmte Cross-Site-Request-Forgery-Angriffe.
Das Web-Radio-CMS unterstützt Widget-Varianten für ausgewählte Funktionen.
Beispielsweise:
Sendeplan
Wunschbox
Widgets können auf der Startseite oder in einer Sidebar eingebunden werden.
Dadurch müssen nicht alle Funktionen als vollständige Seite dargestellt werden.
Das CMS besitzt Upload-Bereiche für die jeweils vorgesehenen Inhalte.
Dabei sollten die Upload-Verzeichnisse vor unberechtigtem Zugriff geschützt werden.
Besonders bei öffentlichen Uploads sollte darauf geachtet werden:
erlaubte Dateitypen
Dateigröße
Dateinamen
MIME-Type
Ausführung von PHP-Dateien verhindern
Zugriffsrechte
Nach erfolgreicher Installation empfiehlt sich folgende Reihenfolge.
Mit dem während der Installation angelegten Administratorkonto anmelden.
Kontrollieren:
Website-/Radio-Name
Stream
Player
Benutzeroptionen
Uploads
Systemoptionen
Prüfen:
admin
moderator
dj
user
Die entsprechenden Benutzerkonten anlegen bzw. Rollen zuweisen.
Sendungen erstellen und DJs zuweisen.
Start- und Endzeiten eintragen.
Mit einem normalen Benutzer einen Testwunsch senden.
Danach mit Moderator/Admin prüfen, ob der Wunsch verwaltet werden kann.
Testen:
Thema erstellen
Antwort schreiben
eigenen Beitrag bearbeiten
eigenen Beitrag löschen
Moderationsrechte
Testen:
Beitrag erstellen
Beitrag anzeigen
eigenen Beitrag bearbeiten
eigenen Beitrag löschen
Kategorien
Mit zwei Testkonten:
Benutzer A → Benutzer B
Danach prüfen:
Nachrichteneingang
ungelesene Anzeige
Antworten
Archiv
Löschen
Vor dem produktiven Start sollte das CMS einmal komplett durchgetestet werden.
Startseite
Player
öffentliche Inhalte
News
Blog
Forum
Registrierung/Login
Profil
Wunschbox
Forum
Blog
private Nachrichten
Logout
DJ-Bereich
eigene Sendungen
Sendeplan
Moderationsbereiche
Wunschbox
Forum
Benutzerinhalte
Benutzerverwaltung
Rollen
News
Blog
Forum
Kategorien
Sendungen
Sendeplan
Systemverwaltung
Vor Änderungen am System sollte regelmäßig ein Backup durchgeführt werden.
Empfohlen:
Datenbank
+
Uploads
+
CMS-Dateien
sichern.
Besonders vor Updates oder größeren Änderungen sollte ein vollständiges Backup vorhanden sein.
Bei zukünftigen Updates sollte folgende Reihenfolge eingehalten werden:
1. Backup erstellen
2. Datenbank sichern
3. Uploads sichern
4. CMS-Dateien sichern
5. Update installieren
6. Datenbankänderungen durchführen
7. Funktionstest
Nach einem Update sollten insbesondere Login, Player, Sendeplan, Wunschbox, Forum, Blog und Nachrichten getestet werden.
Fehlermeldung:
ZIP-Datei nicht gefunden.
Prüfen:
install.php
webradio-security-v5.zip
müssen sich im gleichen Verzeichnis befinden.
Wenn der Server ZipArchive nicht
unterstützt, verwendet install.php
alternativ PclZip, sofern die Bibliothek vorhanden ist.
Gegebenenfalls sollte beim Webhoster geprüft werden, ob die PHP-ZIP-Erweiterung aktiviert werden kann.
Mögliche Ursachen:
ZIP-Datei beschädigt
unvollständiger Upload
fehlende Schreibrechte
fehlender Speicherplatz
Serverbeschränkungen
In diesem Fall die ZIP-Datei erneut hochladen und die Serverrechte bzw. den verfügbaren Speicher prüfen.
Nach erfolgreichem Entpacken sollte automatisch auf:
/webradio/install
weitergeleitet werden.
Falls dies nicht funktioniert, prüfen:
ob /webradio/ erstellt wurde
ob der Upload vollständig war
ob PHP korrekt ausgeführt wird
ob der Webserver Weiterleitungen zulässt
Wenn die Datenbankverbindung fehlschlägt, prüfen:
Datenbankname
Datenbankserver
Benutzername
Passwort
Rechte des Datenbankbenutzers
MySQL/MariaDB-Erreichbarkeit
Für das Projekt ist als Datenbankname vorgesehen:
webradio_fhmr
Vor dem öffentlichen Start sollten mindestens folgende Punkte geprüft werden:
Administrator-Login funktioniert
normale Benutzer können sich anmelden
Rollen funktionieren
Player funktioniert
Stream funktioniert
Now Playing funktioniert
Sendeplan funktioniert
Sendeplan-Widget funktioniert
Wunschbox funktioniert
Wunschbox-Widget funktioniert
News funktionieren
Blog funktioniert
Forum funktioniert
Private Nachrichten funktionieren
DJ-Bereich funktioniert
Moderatorrechte funktionieren
Uploads funktionieren
Logout funktioniert
Datenbank-Backup vorhanden
Datei-Backup vorhanden
Vor dem produktiven Einsatz sollte zusätzlich geprüft werden:
sichere Passwörter
HTTPS aktiviert
PHP aktuell
Datenbank aktuell
unnötige Testdateien entfernen
Installationsdateien nach erfolgreicher Installation absichern bzw. entfernen, sofern sie nicht mehr benötigt werden
Upload-Verzeichnisse prüfen
Adminbereich nicht unnötig öffentlich zugänglich machen
regelmäßige Backups einrichten
Das CMS kann später um weitere Funktionen ergänzt werden.
Mögliche Erweiterungen:
ET-Chat
CMS → ET-Chat Login/User-Bridge
Avatar-Übernahme in den Chat
erweitertes Statistiksystem
zusätzliche Player-Funktionen
erweiterte Streaminformationen
weitere Widgets
zusätzliche Community-Funktionen
Benachrichtigungssystem
erweiterte Moderationsfunktionen
Die geplante ET-Chat-Integration ist als zukünftige Erweiterung vorgesehen und gehört nicht zwingend zur V5-Grundinstallation.
Die komplette Installation lässt sich kurz so zusammenfassen:
1. webradio-security-v5-install.zip herunterladen
↓
2. ZIP auf PC/Laptop entpacken
↓
3. webradio-security-v5.zip + install.php erhalten
↓
4. beide Dateien auf den Webserver hochladen
↓
5. https://DEINE-DOMAIN/install.php aufrufen
↓
6. install.php findet webradio-security-v5.zip
↓
7. CMS wird automatisch nach /webradio/ entpackt
↓
8. automatische Weiterleitung nach /webradio/install
↓
9. eigentliche CMS-Installation durchführen
↓
10. Datenbank einrichten
↓
11. Administrator anlegen
↓
12. Web-Radio-CMS konfigurieren
↓
13. Funktionstest
↓
14. Web-Radio online stellen
Das Web-Radio-CMS V5 bietet eine vollständige Grundlage für den Betrieb eines eigenen Webradios mit Radio-, Community- und Verwaltungsfunktionen.
Der modulare Aufbau ermöglicht es, das System später um zusätzliche Funktionen zu erweitern, ohne die Grundstruktur des CMS vollständig neu aufzubauen.
Für den produktiven Betrieb sollten regelmäßige Backups, Updates und Sicherheitsprüfungen durchgeführt werden.
Eigenständiges Web-Radio-CMS
Bereiche:
Player
Now Playing
Sendeplan
DJ-Bereich
Moderator-Bereich
Wunschbox
News
Blog
Forum
Private Nachrichten
Benutzerverwaltung
Rollen & Rechte
Widgets
Administration
Version: V5
Produktname: Web-Radio-CMS