Markus Bauer: Dateien verstecken

Beitrag lesen

Guten Abend!

Auf meinem Server läuft eine Intranetsite. Zusätzlich befindet sich eine relativ große Festplatte mit mp3s auf der Platte, die ich den Leuten gerne zum on-the-fly Streamen zu Verfügung stellen würde.

Die Platte ist auf /mnt/media gemountet, es befinden sich eigentlich nur Sounddateien oben.

Bis jetzt hab ichs so gemacht:

  • Mit Apache einen virtuellen Server auf :8888, ServerRoot einfach /mnt/media. Directory Indexes verboten.
  • Jede Nacht durchläuft ein Perl Script rekursiv die Platte, liest die ID3 Tags aus und erstellt daraus "on-the-fly" eine M3U-Liste.
    Die sieht dann ca so aus:
    #EXTINF(...)
    http://192.168.0.2:8888/mp3/in/irgendeinem/geheimen/verzeichnis/ich_bins.mp3

Das sieht eigentlich ganz grässlich aus und ich würde mir etwas wie
http://192.168.0.2:8888/7485
wünschen.
Sodass ich vielleicht die Platte nicht mal in den Serverroot geben bräuchte.

Die Zuordnung MP3 und ID würde ich dann gleich in einer SQL Datenbank vornehmen mit dem `mysql' Befehl lässt sich das ja direkt über die Shell machen.

a) Alle PHP-Script mit Location: Header schlagen fehl, da ja diese auch an den Client übertragen wird.
b) mod_rewrite. Hmm, es sieht so aus, als ob ich da ein Muster brauchen würde und auch keinen externen Befehl ausführen kann, der mir die Zuordnung id<-->lied macht. Oder gehts damit doch irgendwie?
c) Scripts, die, die Datei auslesen und nach stdout schreiben? Erscheint mir irgendwie sehr unelegant, ausserdem, geht das nicht SEHR auf die Resourcen? Was ist, wenn die Verbindung abbricht? Besteht dann die Gefahr dass irgendwelche Geister hängen bleiben (das kommt nämlich kommt mir vor manchmal vor). Und wie siehts mit mehreren Usern gleichzeitg/dem schnellen wechseln der Lieder aus? Erzeugt IMHO eine zu grosse Prozesslast...
d) Symlinks würde ich auch ungerne machen, den 20000 Symlinks wären irgendwie Platzverschwendung, ausserdem erscheint mir das auch alles andere als elegant.

Welche Vorschläge habt iht?