Was ist AnuaRadio?

AnuaRadio ist ein Radio Control Panel worauf man ohne Begrenzung Radio Instanzen erstellen und verwalten kann. Dabei ist es ab Version v2 egal ob man die ShoutCast Version v2 oder v1 nutzen möchte. Mit wenigen Klicks und Eingaben wirst Du in der Lage sein, deine eigene Radio Station zu hosten und zu warten. Sei frei von Lizenz und Monatsmieten mit der Open-Source Lösung AnuaRadio.

Was gilt bei dieser Version zu beachten?

Diese Version ist an Entwickler und Bastlern und noch nicht für den Offiziellen Einsatz im Professionellen Bereich gerichtet. Dabei sind noch Bugs und kleine Fehler vorhanden sowie sind vereinzelte Stellen unvollständig. Was aber hierbei der Vorteil ist, dass schon vieles programmiert wurde und somit nur die restlichen Bausteine implementiert und gefixt werden müssen.

Download von AnuaRadio v2

Installation von AnuaRadio v2

1. Datenbankverbindung herstellen für das Webinterface

<?php
$servername = "localhost";
$username = "";
$password = "";
$database = "";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?> 

Tragt beim Radio Control Panel im Stammverzeichnis unter includes/db_sql.php die entsprechenden MySQL Datenbank Zugänge ein.

2. Jetzt die anuaradio.sql importieren zu der Datenbank

Dies wurde entsprechend in einem kurzen GIF Bild gezeigt 🙂

3. Account erstellen

Um überhaupt das Control Panel nutzen zu können, muss mindestens ein Account existieren
Jetzt geben wir unsere gewünschten Informationen ein und bestätigen unsere Registrierung

Dabei werden nach Abschluss der Registrierung die Zugänge nur auf eurer Datenbank gespeichert und sollten deshalb regelmäßig gesichert werden. Die Datenbank haben wir zuvor im Abschnitt 1. bis 2. erklärt.

4. Unseren Account Admin Rechte geben

Damit wir das Panel im vollen Umfang Administrieren können, müssen wir zuvor uns Admin Rechte setzen in der MySQL Datenbank.

Jetzt setzen wir unseren Account in der MySQL Datenbank unter rank, auf admin

Die API Integration von AnuaRadio

Das besondere von der v2 des AnuaRadio’s ist eben die selbstgemachte und angepasste API Implementierung von Control Panel zum Ziel-Server. Dabei braucht es hierbei keinen aktiven offenen Port beim Client-Server, sondern der Client-Server fragt alle 3 Sekunden die API nach neuen Job Aufträgen.

Verwaltet wird AnuaRadio mit einen sogenannten Systemd Service. Dabei wird das Skript immer wieder alle 3 Sekunden neu ausgeführt und die Abfrage gestartet. Sollte ein neuer Job verfügbar sein, so wird dieser binnen in Sekunden ausgeführt und fertiggestellt. Ob der Job abgeschlossen ist, kann man selbstverständlich im Control Panel sehen 🙂

1. Installiere den AnuaRadio Client auf deinem Rootserver

Damit überhaupt das hosten von Shoutcast Instanzen, Auto DJs und FTP-Zugängen möglich wird, muss ein sogenannter Client-Server betrieben werden. Es gibt da in der Hinsicht keine Begrenzung. Alles ist Lizenzfrei bei AnuaRadio. Wichtig ist noch, dass ein Download-Server bei AnuaRadio integriert ist.

cdn.anuacp.de kümmert sich um alle benötigten Ressourcen wie Zusatz-Skripte für die Instanz. Aber keine Sorge, die Download-Server sind beim Entwickler direkt gehostet und können jederzeit wieder bei euch gehostet werden, sofern Ihr die Dateien von cdn.anuacp.de manuell einmal herunterladet und auf euren Webserver verschiebt. Wir haben die Quellcodes offengelegt sodass jede einzelne Änderung möglich ist bei AnuaRadio 🙂

Hier installieren wir nun das php7.4-cli Paket
apt-get update && apt-get upgrade -y
apt-get install php7.4-cli -y
# Oder wenn 7.4 Version nicht verfügbar ist, dann unteren Befehl nutzen.
apt-get install php-cli -y

Installieren von proftpd

Damit wir auch FTP-Zugänge erstellen können, braucht AnuaRadio einen voll funktionsfähigen Proftpd-Server.

apt install proftpd-basic -yecho '
<Global>
    RequireValidShell off
</Global>
UseIPv6 off
DefaultRoot ~ ftpuser
<Limit LOGIN>
    DenyGroup !ftpuser
</Limit>' > /etc/proftpd/conf.d/ftp.conf

systemctl restart proftpd

Let’s Encrypt Zerifikat erstellen für Proftpd-Server

Damit der Transfer zwischen FTP-Nutzer und den Proftpd-Server verschlüsselt bleibt, erstellen wir ein richtiges und gültiges SSL-Zertifikat.

# certbot installieren
apt-get install certbot -y

Bitte beachte nun den Port 80 freizuhalten kurzfristig für die Validierung des Zertifikats. Und zugleich setze ein A-Record bei der Domain die Du nutzen möchtest damit über diese URL der Transfer sicher bleibt.

certbot certonly --standalone -d ftp.example.com --staple-ocsp -m admin@example.com --agree-tos
Erfolg! Das Zertifikat wurde für ftp.7share.eu ausgestellt und ist nun 3 Monate lang gültig
nano /etc/proftpd/conf.d/tls.conf

<IfModule mod_tls.c>
    TLSEngine on
    TLSLog /var/log/proftpd/tls.log
    TLSProtocol TLSv1.2
    TLSRSACertificateFile /etc/letsencrypt/live/ftp.example.com/fullchain.pem
    TLSRSACertificateKeyFile /etc/letsencrypt/live/ftp.example.com/privkey.pem
    TLSVerifyClient off
    TLSOptions NoSessionReuseRequired
    TLSRequired on
</IfModule>

Jetzt tragen wir mit dem Editor nano in die tls.conf Datei unsere entsprechenden Konfigurationen ein mit dem dazugehörigen SSL-Zertifikat Pfad. In diesem Fall das ausgestellte Zertifikat von Let’s Encrypt.

Dies gilt nur ab Debian 11:

nano /etc/proftpd/modules.conf
# Jetzt bei LoadModule... das # ganz vorne entfernen und speichern.
LoadModule mod_tls.c

# Anschließend den Proftpd-Server neustarten
systemctl restart proftpd

Jetzt laden wir die AnuaRadio Files hoch

/etc/systemd/system – anuaradio.service hier ablegen
/etc – hier den Ordner anuaradio ablegen und den Ordner und Inhalt 777 Rechte geben
Hier ein kurzer Ausschnitt wie man den Client komplett einrichtet mit Fehlerquellen Analyse
apt install screen -y

systemctl enable anuaradio.service

systemctl daemon-reload

service anuaradio start

Das sind die Befehle aus dem Video. Für API Token und hinzufügen des Tokens für die Authentifizierung zwischen Client und Control Panel, bitte einmal gerne das Video anschauen 🙂

Funktionen von AnuaRadio v2

Unter User Verwaltung können wir unsere Server zuweisen, Passwort neu vergeben oder Email ändern
Bei dem Bereich der Shoutcast Server Erstellung können wir unsere Radio-Instanzen erstellen
Jetzt wird der Shoutcast Server angelegt, dies dauert nur ein paar Sekunden
Jetzt ist unsere Shoutcast Server Instanz erreichbar
Jetzt können wir anschließend einen AutoDJ anlegen
Hier unter FTP Zugänge, können wir die FTP Zugangsdaten einsehen um Musik hochzuladen

Achtung!

Es liegt nun an euch, ob Ihr das AnuaRadio v2 weiterentwickeln möchtet 🙂 Dabei gibt es nichts zu beachten. Ihr könnt euch da frei austoben und ausprobieren und dabei lernen. Ich hatte mit den FTP-Zugängen später Auffälligkeiten gefunden wodurch es nicht ganz funktionierte. Zudem müssten noch folgende Pakete nach installiert werden.

apt-get install sudo -y

Danke!

Danke für die Interesse des AnuaRadio’s und lesen des Beitrages 🙂

2 thoughts on “AnuaRadio v2 – ShoutCast Webinterface – DEV Edition

  1. guten tag
    könnten sie etwas besere beschreibung hinfügen oder die termminal befehle als text doku beilegen es ist echt müsam um das ganze zu verstehen wie sie vor gehen

    1. Hallo Ahim 🙂
      Ja die v2 ist nicht ganz vollständig entwickelt und für Entwickler die beste Möglichkeit es zu vollenden.
      Tatsächlich kann ich dir aber sagen das in Naher Zukunft eine Vollständige v3 Version von AnuaRadio programmiert werden soll. Dann wird ein großer Beitrag geschrieben. Die v2 aber ist nicht für den Produktionsbetrieb geeignet da wegen nicht kompletter fertigstellung. Aber ich versichere Dir ein Großes Comeback von AnuaRadio mit der v3 wird kommen 🙂

      Liebe Grüße Jan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert