Eine große MP3-Sammlung auf dem Server ist nicht mehr ungewöhnlich. Damit wird der Computer zur elektronischen Jukebox, die Sie mit der Web-Applikation Otto bequem fernsteuern.
Viele Besitzer einer digitalen Musiksammlung wünschen sich, dass der Computer den Sound über die normale Wohnzimmer-Stereoanlage wiedergibt. Dazu kann man einen leisen Rechner in ihrer Nähe platzieren oder den vorhandenen Linux-Server, der als Gateway ins Internet dient, zum Abspielen verwenden – ein entsprechend langes Audiokabel vorausgesetzt.
Bleibt nur noch die Frage, wie man die gerade gewünschte Musik auswählt. Eine Web-Schnittstelle ist dafür ganz praktisch, denn die lässt sich von einem beliebigen Rechner im Heimnetzwerk oder gar einem WWW-fähigen PDA wie dem Zaurus benutzen. Noch ungebundender geht es nur noch mit Wireless LAN.
Otto ist eine solche web-basierte Jukebox [1], deren Funktion Abbildung 1 illustriert: Auf dem Musikserver läuft ein Apache-Webserver [2], der das Otto-CGI-Skript ausführt. Dieses erfährt aus einer MySQL-Datenbank, die auf demselben Rechner laufen kann, aber nicht muss, welche Musikstücke zur Auswahl stehen. Ein extra Otto-Skript trägt diese Informationen in die Datenbank ein. Zum tatsächlichen Abspielen benutzt Otto externe Programme, beispielsweise mpg123[3] für MP3-Dateien. Die Musikdateien müssen also auf dem Rechner liegen, auf dem auch der Webserver läuft.
Otto-Dateien installieren
Die Jukebox-Software von [1] oder der Heft-CD entpacken Sie in einem temporären Verzeichnis:
tar xzvf otto-2.0.tar.gz
Dabei entsteht ein neues Unterverzeichnis otto-2.0, das Sie als Systemadministrator root nach /usr/local verschieben und im gleichen Schritt in otto umbenennen:
mv otto-2.0 /usr/local/otto
Es empfiehlt sich, Otto tatsächlich in /usr/local/otto zu installieren, da dieser Pfad an einigen Stellen im Programm einkodiert ist.
Perl-Module finden
Die Software selbst ist in der Programmiersprache Perl geschrieben und benutzt einige spezielle Module, also Erweiterungspakete. Tabelle 1 fasst zusammen, welche Pakete Sie dafür bei Debian und Suse installieren müssen. Falls Sie eine andere Distribution verwenden, halten Sie nach ähnlich benannten Paketen Ausschau oder laden Sie sie notfalls von [4] herunter und installieren Sie von Hand. Wie das genau geht, verrät Kasten 1.
Kasten 1: Automatisch installieren vom CPAN
Perl-Module muss man nicht von Hand herunterladen und installieren, denn ein mitgeliefertes Modul übernimmt einen großen Teil der Arbeit. Es heißt CPAN und Sie rufen es als Administrator mit folgender Kommandozeile auf:
perl -MCPAN -e shell
Beim ersten Aufruf stellt es Ihnen diverse Fragen, bei denen Sie getrost die Standard-Antwort mit [Eingabe] akzeptieren können, wenn Sie nicht genau wissen,was sie sonst angeben sollen. Vorab sollten Sie allerdings mit which programm prüfen, ob die Kompressionstools gzip und unzip, das Archivprogramm tar, make, die FTP-Clients ncftp und ftp, das wget-Download-Tool für Webseiten und das Verschlüsselungstool gpg installiert sind.
Irgendwann erkundigt sich die Konfigurationsroutine nach dem Kontinent und dem Land, in dem Sie leben – wählen sie erst die Zahl 4 für Europe und dann die 11 für Germany. In der nachfolgenden Liste sehen Sie alle Perl-Modul-Server in Deutschland; wählen Sie davon drei beliebige aus, z. B. 3 7 10. Nach einem weiteren [Enter] meldet sich das CPAN-Modul mit dem Prompt cpan> und erwartet Befehle.
Mit install Modulname installieren Sie ein Modul, zum Beispiel install MP3::Info. Daraufhin löst CPAN alle Abhängigkeiten auf, lädt das eigentliche und alle zusätzlich benötigten Module herunter, konfiguriert sie und legt sie in den Perl-Modul-Verzeichnissen unter /usr/local ab. Dort geraten sie nicht in Konflikt mit den Dateien Ihrer Distribution.
Sind alle nötigen Module installiert, beendet der Befehl quit am cpan>-Prompt das Programm.
Ob sich schon alle nötigen Module auf dem System befinden, testen Sie mit folgendem Kommando:
perl /usr/local/otto/lib/Otto.pm
Findet das Perl-Programm dabei alle zwingend nötigen Module und vermisst höchstens optionale, lautet die letzte Zeile der Ausgabe dieses Kommandos
all required modules loaded OK
und Sie können zum nächsten Schritt übergehen. Falls nicht, müssen Sie in jedem Fall die fehlenden Module nachinstallieren, die die das Programm mit required kennzeichnet, im folgenden Beispiel DBD::mysql:
DBD::mysql (required) failed to load
Das optionale Term::Readline-Modul brauchen Sie, wenn Sie auch die textbasierte Schnittstelle zu Otto nutzen möchten. Diese rufen Sie mit dem Kommando /usr/local/otto/bin/otto auf. Für normale Anwendungsfälle reicht die Web-Schnittstelle aber völlig.
Das Modul MP3::Info brauchen Sie nur, wenn Otto die ID3-Tags der Dateien auslesen soll. Shout ist vor allem für Fortgeschrittene interessant, denn damit wird Otto zum MP3-Internetradio. Die beiden Unicode-Module helfen dabei, Stücke zu verarbeiten, die andere Zeichen als nur A bis Z enthalten; zur Zeit unterstützt Otto allerdings nur griechische Buchstaben vollständig. Aber keine Sorge, Stücke mit deutschen Umlauten lassen sich auch abspielen, nur beim Sortieren hakt es ein bisschen.
Tabelle 1: Nötige Perl-Module
| Modul | Funktion | Debian | Suse | CPAN-URL |
|---|---|---|---|---|
| DBI | enthält Funktionen, die die Nutzung von Datenbanken aus Perl-Programmen heraus erlauben | libdbi-perl | perl-DBI | http://cpan.uwinnipeg.ca/module/DBI |
| DBD::mysql | enthält Funktionen, mit denen Perl-Programme MySQL-Datenbankserver ansprechen können | libdbd-mysql-perl | perl-Msql-Mysql-modules | http://cpan.uwinnipeg.ca/module/DBD::mysql |
| HTML::Template | hilft beim dynamischen Generieren von HTML-Seiten | libhtml-template-perl | perl-HTML-Template | http://cpan.uwinnipeg.ca/module/HTML::Template |
| Optionale Module | ||||
| Term::ReadLine | enthält Funktionen, die textbasierte Benutzerschnittstellen verbessern | libterm-readline-perl-perl | http://cpan.uwinnipeg.ca/module/Term::ReadLine | |
| MP3::Info | erlaubt das Auslesen von ID3-Tags aus MP3-Dateien | libmp3-info-perl | http://cpan.uwinnipeg.ca/module/MP3::Info | |
| Shout | hilft beim Ausstrahlen von Shoutcast-Internetradios | – | – | kein CPAN-Modul, nur herunterladbar von http://www.icecast.org/download.php |
| Unicode::Map | konvertiert zwischen Unicode und anderen Schriftkodierungen | libunicode-map8-perl | perl-Unicode-Map8 | http://cpan.uwinnipeg.ca/module/Unicode::Map |
| Unicode::String | enthält Funktionen zum Arbeiten mit Unicode-enkodierten Zeichenketten | libunicode-string-perl | perl-Unicode-String | http://cpan.uwinnipeg.ca/module/Unicode::String |
MySQL vorbereiten
Otto speichert in einer MySQL-Datenbank, von welchen Interpreten und Alben Sie welche Musikstücke besitzen und welche Dateien auf der Festplatte ihnen entsprechen. Dazu muss der MySQL-Server installiert sein und laufen (vgl. den MySQL-Artikel auf S. 24); bei Debian heißt das nötige Paket mysql-server, bei Suse einfach mysql.
Damit Otto seine Daten darin speichern kann, müssen Sie zuvor einen Datenbankbenutzer und eine Datenbank anlegen. Die in Otto vorkonfigurierten Standardeinstellungen – der Benutzername otto und das Passwort otto – sind zumindest dann in Ordnung, wenn der MySQL-Server vom Internet aus nicht erreichbar ist (siehe auch Kasten 2). Wenn Sie andere Zugangsdaten wünschen, editieren Sie die Datei /usr/local/otto/etc/webuser.sql dahingehend, dass in der letzten Zeile statt des ersten otto der gewünschte Datenbankbenutzername, anstelle des zweiten das Passwort zu stehen kommt.
Kasten 2: MySQL gegen Zugriff von außen sichern
Wenn Sie MySQL nur für Otto installieren, ist es nicht nötig, dass man auch über das Netzwerk auf die Datenbank zugreifen kann. Am einfachsten tragen Sie daher in der MySQL-Konfigurationsdatei /etc/my.cnf (je nach Distro auch /etc/mysql/my.cnf) die Option skip-networking ein. Unter Debian ist das in der Standardinstallation der Fall, bei Suse müssen Sie das #-Kommentarzeichen am Zeilenanfang entfernen und den Server mit /etc/init.d/mysql restart neu starten.
Alternativ sperren Sie den MySQL-Port 3306 in der Firewall, wenn Sie eine betreiben. Falls der Zugang über das Netz für andere Anwendungen möglich sein muss, studieren Sie bitte die entsprechenden Abschnitte im Handbuch [5] und konfigurieren Ihr System entsprechend.
Anschließend legen Sie mit dem Befehl
mysql -u root -p -e "create database otto"
die Datenbank an. Die folgenden Kommandos legen Tabellen an, tragen Daten ein und laden MySQLs Benutzertabellen neu.
mysql -u root -p otto < /usr/local/otto/etc/schema.sql mysql -u root -p mysql < /usr/local/otto/etc/webuser.sql mysqladmin -u root -p reload
Wer allen Sicherheitsbedenken zum Trotz den Datenbank-Account root noch nicht mit einem Passwort versehen hat, drückt bei der Passwort-Abfrage einfach [Enter]. Alternativ lassen Sie in diesem Fall in den obigen Befehlen die Optionen -u root -p weg und führen sie als Administrator root aus. Selbst wenn alles glatt läuft, geben die Befehle keine Erfolgsmeldungen aus.
Apache-Konfigurationsschnipsel
Zusätzlich zur Datenbank braucht Otto einen Apache-Webserver, der die Benutzerschnittstelle präsentiert. Sie installieren ihn am besten über den normalen Paketmechanismus Ihrer Distribution. Der Server bringt eine Konfigurationsdatei httpd.conf mit, die meist in /etc/httpd/conf, /etc/apache oder einem Unterverzeichnis davon liegt. Heute kommt häufig Apache 2 zum Einsatz, dessen Dateien je nach Distribution noch einmal anders aufgeteilt sind, zum Beispiel heißt die wichtige Konfigurationsdatei unter Suse 9.1 /etc/apache2/default-server.conf. In die Konfigurationsdatei tragen Sie die Otto-Einstellungen aus Listing 1 ein. Besitzt ihre Datei schon einen VirtualHost-Abschnitt, fügen Sie die Zeilen dort dazu.
Bei einem frisch installierten Apache können Sie die Otto-Konfiguration auch einfach unten in der Datei eintragen. Alternativ finden Sie auf der Heft-CD die abgebildete Konfiguration als otto-apache.conf, die Sie im selben Verzeichnis wie die Apache-Konfiguration ablegen und dort so einbinden:
Include /etc/apache2/otto-apache.conf
Die Alias-Zeile leitet Zugriffe auf http://Rechnername/otto ins Otto-WWW-Verzeichnis um; Options +ExecCGI erlaubt für dieses Verzeichnis die Ausführung von CGI-Skripten. Die AddHandler-Zeile erklärt, dass Dateien mit der Endung .cgi solche Skripte sind, und der DirectoryIndex-Eintrag schließlich sorgt dafür, dass die Datei otto.cgi auch ausgeführt wird, wenn man nur den Verzeichnisnamen im Webbrowser eingibt.
Listing 1
Apache-Konfiguration
Alias /otto /usr/local/otto/www
<Location /otto>
Options +ExecCGI
AddHandler cgi-script cgi
DirectoryIndex index.html index.cgi otto.cgi
# Optional: (falls Sie keine Zugriffsbeschraenkung
# wünschen, stellen Sie den folgenden drei
# Zeilen ein #-Zeichen voran oder lassen sie weg)
AuthType Basic
AuthName Otto
AuthUserFile /usr/local/otto/etc/htpasswd
Order allow,deny
Allow from all
</Location>
Die nächsten drei Zeilen beschränken den Zugriff auf bestimmte Benutzer, die letzten beiden erlauben ihn überhaupt erst. Die Datei /usr/local/otto/etc/htpasswd bestimmt, wer Otto via Web benutzen darf. Mit Hilfe des Kommandos htpasswd legen Sie diese Datei und einen Benutzer darin an:
htpasswd -c /usr/local/otto/etc/htpasswd Benutzername
Der Befehl fragt daraufhin das gewünschte Passwort ab. Möchten Sie weitere Benutzer hinzufügen, lassen Sie die Option -c weg und führen das Kommando erneut aus. Nur wer die hier eingegebene User-Passwort-Kombination kennt, kann sich später im Webbrowser bei Otto anmelden. Eine solche Beschränkung ist sinnvoll, wenn Sie den Computern in Ihrem Intranet nicht unbedingt vertrauen können, etwa weil Sie ein Wireless LAN betreiben.
Ton ab!
Damit es am Ende keine Enttäuschung gibt, überprüfen Sie nun am besten, ob der Computer MP3-Dateien abspielen kann:
mpg123 song.mp3
Fehlt mpg123, heißt es nachinstallieren. Dazu holen Sie sich das Paket von [4] und folgen der Installationsanleitung. Normalerweise ist es damit getan, die Datei zu entpacken, ins Verzeichnis zu wechseln und make linux einzugeben, gefolgt von make install als Administrator. Das alles setzt natürlich eine funktionierende Soundkarte, also einen entsprechend konfigurierten Kernel voraus.
Otto konfigurieren
Bleibt nur noch die Konfiguration von Otto selbst. Im Verzeichnis /usr/local/otto/etc befindet sich eine Vorlage für die Konfigurationsdatei. Davon machen Sie in diesem Verzeichnis eine Kopie:
cp otto.conf.dist otto.conf
Am Anfang der Datei finden Sie die Zugangsdaten für die Datenbank; wenn Sie Standardbenutzer und -passwort verwendet haben, passen die Einträge schon, sonst ändern Sie sie ihrer Auswahl entsprechend. Die Zeilen User und Group müssen so angepasst werden, dass sie Benutzer und Gruppe von Apache entsprechen. Unter Debian heißen beide www-data, unter Suse nennt sich der Nutzer wwwrun und die Gruppe www. Wenn Sie die beiden Angaben nicht kennen, suchen Sie in der Apache-Konfigurationsdatei nach den entsprechenden Einträgen mit User und Group.
Hinter das Schlagwort Home tragen Sie die Adresse ein, unter der Sie Otto später ansprechen wollen, z. B. http://192.168.0.1/otto, wenn der Musikrechner im lokalen Netz die IP-Adresse192.168.0.1 trägt. MusicRoot gibt an, wo Ihre Musikdateien liegen; fügen Sie hier den Pfad im Dateisystem an. Falls die Dateien verstreut sind, ergänzen Sie weitere Zeilen der Form MusicRoot /anderer/ort. Die Rechte in diesen Verzeichnissen müssen so gesetzt sein, dass der Web-User sie lesen darf. Außerdem sollten Sie darauf achten, dass die Musikdateien nicht direkt in den MusicRoot-Verzeichnissen liegen, sondern in Unterverzeichnissen, sonst beschwert sich Otto beim Füllen der Datenbank mit undurchsichtigen Fehlermeldungen.
Außer dieser Konfigurationsdatei braucht Otto ein Verzeichnis für temporäre Dateien, in das der Webserver schreiben darf:
cd /usr/local/otto mkdir var chown User:Group var
User und Group sind dieselben wie eben, bei Debian lautet der Befehl also chown www-data:www-data var.
Mit Musik füttern
Nachdem Sie den Webserver richtig konfiguriert haben, füllen Sie die Datenbank mit Musiktiteln, indem Sie Ottos Kommandozeilenprogramm starten:
/usr/local/otto/bin/otto load
Besitzen Sie viele MP3s, kann das durchaus eine Weile dauern.
Als Administrator starten Sie den Otto-Daemon, der die MP3-Dateien abspielt:
/usr/local/otto/bin/otto start
Jetzt geben Sie in einem Webbrowser die Adresse http://Rechnername/otto ein (in unserem Beispiel http://192.168.0.1/otto/), klicken auf request und können nun Musik auswählen (Abbildung 2).
Noch gibt sich Otto allerdings schweigend, denn bisher ist kein Programm definiert, das die MP3-Dateien abspielen könnte. Dafür editieren sie noch einmal otto.conf. Kommentieren Sie die drei Zeilen unterhalb der Zeile ## test channel aus, ergänzen Sie also am Zeilenanfang ein #-Zeichen. Aktivieren Sie dann den gesamten <Channel 1>-Abschnitt unterhalb von ## Mpg123 example channel, indem sie auf allen vier Zeilen das einleitende # entfernen. Dann restarten Sie Otto mit
cd /usr/local/otto/bin/ ./otto stop ./otto start
Daraufhin sollte aus ihrer Jukebox Musik erklingen. Bleibt der Lautsprecher stumm, liegt es vielleicht daran, dass Otto die Soundkarte nicht benutzen darf. Der in otto.conf eingestellte Benutzer muss nämlich Schreibrechte für die zugehörige Gerätedatei besitzen, was Sie mit ls -l /dev/dsp überprüfen. Am Einfachsten vergeben Sie die Schreibrechte an alle mit chmod a+rw /dev/dsp. Hören Sie immer noch nichts, setzen Sie den Eintrag Debug in der Konfigurationsdatei auf 1. Otto schreibt dann im Unterverzeichnis var eine Protokolldatei, die bei der Fehlersuche hilft.
Schluss mit dem ständigen Lärm!
Otto spielt tatsächlich immer irgendetwas – wenn niemand etwas auswählt, nimmt sich das Programm die Freiheit, vollautomatisch zufällige Stücke durchzunudeln. Wer das nicht will, muss in den Quellcode eingreifen. Um Otto solange zum Schweigen zu bringen, bis jemand Musik auswählt, kommentieren Sie in der Datei /usr/local/otto/lib/Otto/Jockey.pm die Zeile 163
$self->selectSomeSongs(number => 20);
durch Voranstellen eines # aus. Diese Zeile sucht 20 zufällige Songs aus, falls die Playliste leer ist. Stattdessen fügen Sie sleep 5; ein, das einfach fünf Sekunden wartet. Außerdem ersetzen Sie die bisherige Zeile 155 if (!$file) durch while (!$file). Damit wartet Otto nun so lange, bis jemand etwas ausgewählt hat. Wer den Quellcode lieber nicht selbst ändern möchte, überschreibt die in /usr/local/otto/lib/Otto/ liegende Version mit Jockey.pm von der Heft-CD.
Automatisieren
Damit Otto direkt beim Booten startet, muss der Otto-Startbefehl in einem der dabei ausgeführten Init-Skripte [8] erscheinen. Falls Sie Red Hat benutzen, liefert Otto im Verzeichnis etc/rc.otto.dist ein passendes Start-Stopp-Skript mit; für Debian finden Sie eines auf der Heft-CD.
Leider nimmt Otto neue MP3s nicht automatisch in seine Datenbank auf, sondern nur dann, wenn Sie /usr/local/otto/bin/otto load ausführen. Da man an so etwas nicht unbedingt immer denkt, bietet es sich an, folgende Zeile in die Datei /etc/crontab aufzunehmen:
0 5 * * * root /usr/local/otto/bin/otto load >/dev/null
Dadurch aktualisiert Otto seine Datenbank jeden Morgen um 5:00 Uhr automatisch.
Gut sortiert
Beim Laden der Musikdatenbank versucht das Otto, Titel und Interpreten anhand des Dateinamens automatisch zu erkennen. Damit das klappt, muss Ihre Musik allerdings geeignet sortiert sein. Das oberste Verzeichnis sollte nach dem Künstler benannt sein; darunter kommt ein Verzeichnis mit dem Namen des Albums, und darin endlich die eigentlichen MP3s selbst. Fehlt das Album-Zwischenverzeichnis, erkennt Otto die Dateien trotzdem, sortiert sie aber nicht in Alben ein. Alternativ dürfen auch Interpret und Album nach dem Muster “Interpret – Album” gemeinsam den Namen des Verzeichnisses bilden.
Die MP3-Datei selbst kann am Anfang ihres Namens die Tracknummer des Stücks enthalten. Diese zeigt Otto zwar nicht an, sortiert die Songs aber in der richtigen Reihenfolge. Die Nummer darf entweder durch ein Leerzeichen, ein Minuszeichen oder ” – ” vom Titel getrennt werden.
Spezielle Bedeutung haben die Verzeichnisnamen “Various Artists” und “Soundtracks“, in die Kompilationen und Film-Soundtracks einsortiert werden können. Diese sind aus der Benutzerschnittstelle über die Schaltflächen va und st direkt zugänglich.
Alternativ liest Otto all diese Informationen – das entsprechende Perl-Modul vorausgesetzt – aus den ID3-Tags der MP3-Dateien aus, egal ob es sich um ID3-Tags der aktuellen Version 2 oder der älteren Version 1 handelt. Damit das funktioniert, ersetzen Sie in der Konfigurationsdatei otto.conf die Ziffer 0 in der Zeile UseID3Tags 0 durch eine 1. Allerdings funktioniert dieser Ansatz nur dann zufriedenstellend, wenn wirklich alle MP3s vernünftige Tags besitzen.
Etwas Kosmetik
Wer die Standardschrift der Otto-Oberfläche zu winzig findet, kann das leicht ändern, denn das Aussehen der Webseiten bestimmt das Stylesheet [10]/usr/local/otto/www/otto.css. Ändern Sie dort die font-size-Tags nach Belieben, oder kopieren Sie das otto.css von der Heft-CD hinein, das alle Schriften etwas größer macht.
Radioempfänger Otto
Otto macht ihre Wohnzimmer auch zum Internetradioempfänger– vorausgesetzt Sie verfügen über einen entsprechenden Internetzugang. Eine Stunde Radio bei 128 KBit/s schlägt mit etwa 56 MByte zu Buche, dafür braucht man schon einen großzügigen Vertrag.
Die meisten Internetradios [6, 7] listen in ihren Playlisten, den .pls-Dateien, die Server auf, die das Radio “ausstrahlen”. mpg123 spielt solche gestreamten MP3s zwar ab, kann sich aber die nötigte Server-Adresse nicht selbst aus der Datei herausholen. Diese Aufgabe übernimmt das kleine Perl-Skript mp3StreamOrFile, das jeweils den ersten Server herausfischt, und das sie auf der Heft-CD finden. Falls der Server nicht antwortet, versagt es zwar, für die meisten Internetradios reicht es aber vollkommen aus.
Kopieren Sie das kleine Programm am besten nach /usr/local/otto/bin und geben Sie ihm die nötigen Ausführungsrechte mit chmod +x mp3StreamOrFile. Um Otto klar zu machen, dass er dieses Skript verwenden soll, ändern Sie in der otto.conf ändern Sie die Zeile Mpg123 /usr/bin/mgp123 in
Mpg123 /usr/local/otto/bin/mp3StreamOrFile
Außerdem schreiben Sie unter die schon vorhandenen FileExtension-Angaben die Zeile
FileExtension .pls
Damit erkennt Otto auch Dateien, die auf .pls enden, als Musikdateien.
Speichern Sie nun ein paar Playlist-Dateien von Internetradios in Ihrem MusicRoot und bringen Sie Otto wie beschrieben seinen auf den aktuellen Stand. Dann sollten Sie auch die Radio-Streams im Webinterface auswählen können. Da ein Internetradio immer sendet, wird ein solcher “Song” natürlich nie – abgesehen von der nächsten DSL-Zwangstrennung – enden. Haben Sie genug, klicken Sie im Webinterface auf das X.
Selber senden
Das kleine MP3-Netzwerk für Zuhause ist damit fertig. Otto kann noch einiges mehr, zum Beispiel mehrere Ausgabekanäle gleichzeitig bespielen. Das könnte sinnvoll sein, um von einem Rechner mit zwei Soundkarten Musik in mehrere Zimmer zu schicken. Mit Hilfe des Shout-Perl-Moduls wird Otto sogar selbst zum Internetradio; damit kann zum Beispiel jeder Rechner im lokalen Büro- oder Heimnetzwerk dieselbe Musik empfangen.
Ausserdem kann man Otto beibringen, verschiedene Benutzer zu erkennen, die mit unterschiedlicher Priorität Musik auswählen dürfen. Wenn Sie diese Fähigkeiten nutzen möchten, führt allerdings kein Weg am englischsprachigen README vorbei.
Glossar
- CGI
- Das “Common Gateway Interface” legt fest, wie ein Programm mit einem Webserver zusammenarbeitet. Es wird häufig verwendet, um dynamische Webseiten zu generieren, also solche, die bei jedem Aufruf anders aussehen können.
- In den MP3-Dateien abgelegte Informationen über deren Inhalt. Insbesondere speichern ID3-Tags den Interpreten, den Albumnamen und den Titel.
- VirtualHost-Abschnitt
- Ein Block in der Apache-Konfigurationsdatei httpd.conf, der mit <VirtualHost> beginnt und mit </VirtualHost> endet. Ein einzelner Apache-Webserver kann gleichzeitig Anlaufstelle für die Web-Seiten verschiedener Domains sein, z. B. einmal unter dem Namen “www.linux-magazin.de” und einmal als “www.linux-easy.de”. Für jede Domain ist ein solcher Block vorhanden. Wenn der Apache nur eine Domain bedienen soll, kann eine solche Konfiguration verwenden, muss es aber nicht.
- IP-Adresse
- Die eindeutige Adresse eines Rechners in einem auf Internet-Technologie aufsetzenden Netz. Wer sie vergessen hat, findet sie unter Linux auf dem jeweiligen Computer mit dem Befehl “/sbin/ifconfig” heraus. Sie steht in dessen Ausgabe hinter dem Stichwort “inet Adresse” bzw. “inet addr:” bei der passenden Netzwerkschnittstelle (meist “eth0”).
- /etc/crontab
- Die Konfigurationsdatei für den Cron-Daemon [9], der zu bestimmten Zeiten Programme ausführen kann. Wann und welche definiert diese Datei.
Infos
[1] Otto: http://www.cardhouse.com/otto/
[2] Apache-Grundkonfiguration: Nico Lumma, “WWW für alle”, LinuxUser 05/2004, S. 64 ff.
[3] Homepage von mpg123: http://www.mpg123.de/
[4] Die “amtliche” Quelle für Perl-Module: http://www.cpan.org/
[5] Zugriffskontrolle mit MySQL: http://dev.mysql.com/doc/mysql/de/Connection_a ccess.html
[6] Verzeichnis für Internet-Radios: http://www.shoutcast.com
[7] Ein Beispiel für Internet-Radios: http://www.somafm.com
[8] Linux-Boot-Prozess: Marc André Selig, “Wie Linux sich die Stiefel anzieht”, LinuxUser 12/2002, S. 26 ff., http://www.linux-user.de/ausgabe/2002/12/026-init/
[9] Cron: Jürgen Jentsch, “Pünktlich ausgeführt”, LinuxUser 06/2002, S. 81 f., http://www.linux-user.de/ausgabe/2002/ 06/081-cron/cron-at-3.html
[10] Gute Erläuterung von CSS: http://selfhtml.teamone.de/css/index.htm







