UPNP DLNA Server Alternative. Der MinimServer - Installation und Betrieb auf dem RasPi (HOWTO)

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Vorwort:

    Die Landschaft für klassische (überwiegend für den Audio Betrieb gedachte) DLNA Server ist doch recht dünn bzw. etwas unübersichtlich gesäht, will man nicht so umfangreiche Programme wie Kodi, Logitech Media Server oder nicht ganz kostenfreie wie Plex, Twonky u.a. etc. auf seinem RasPi laufen lassen.

    Wenn man danach sucht wird man hie und da fündig und entdeckt da u.A. MiniDLNA, Gerbera oder vielleicht sogar Minimserver. Es gibt natürlich noch einige andere, aber entweder sind sie für das RasPi Betriebssystem nicht verfügbar, sind ggf. kommerziell, verlangen mehr Einarbeitung oder haben schlicht nicht den passenden Funktionsumfang. Wie dem auch sei, ich habe mit ein paar DLNA Servern experimentiert. Bei Gerbera scheiterte ich immer wieder daran, es auf dem RasPi zum laufen zu bringen und MiniDLNA - Eigentlich ein sehr guter DLNA Server und im Prinzip meine erste Wahl scheiterte nach einer Zeit daran, dass es in seinem Programmcode eine Limitierung gibt und er bei größeren Musiksammlung an seine Grenzen stoßen kann. Was es genau war, weiß ich jetzt nicht mehr - Ich glaube aber, wenn eine gewisse Datenmenge eine gewisse Grenze überschritten hatte, wurde sie zwar noch in der Datenbank erfasst, allerdings wurde bei Zugriff auf den DLNA Server von diesem nicht mehr alles zur Anzeige übertragen - Es fehlte also "die Hälfte", obwohl es vorhanden war. Da der Quellcode offen liegt können das sicherlich versierte Linuxuser (wie ich aber keiner bin) abändern und neu kompilieren etc.

    Wer also mit dem MiniDLNA Server zufrieden ist, kann/sollte den behalten. Wer merkt, dass der Server bei der Datenskalierung und Abbildung an seine Grenzen stößt (die Datenmengen müssen schon größer sein ;) , für den ist der Minimserver evtl. eine Alternative. Ich habe mich nach einigen Tests für den doch relativ unbekannten Minimserver (Java basiert) entschieden. Er ist zwar recht einfach gestrickt, läuft aber auf dem Raspberry Pi (und auch noch auf meinem Synology NAS als Backup) bei mir schon einige Zeit sehr flott und zuverlässig und funktioniert bestens und ohne Limit als UPnP DLNA Server in meinem Netzwerk. Außerdem wird er nach wie vor von seinem Programmierer supported und upgedated. Mögliches K.O. Kriterium könnte jedoch evtl. für den Ein- oder Anderen eine nur eingeschränkte Auto-Rescan Funktion sein und/oder vielleicht doch dessen Einfachheit. Dazu weiter unten mehr im Text.

    Zum Minimserver:

    Er ist ein UPnP AV DLNA Musik Server und läuft auf verschiedenen Betriebssystemen wie:

    Windows (x86/x64), Mac, Linux (x86, x64, ARMv5, ARMv6, ARMv7, ARMv8 and PowerPC), QNAP, Synology, Raspberry Pi, ASUSTOR, Melco und NETGEAR ReadyNAS (ältere Modelle).

    Folgende Formate/Playlists kann er abpielen:

    • .aac Audio Data Transport Stream (ADTS) files containing Advanced Audio Coding (AAC) audio data, with no tags
    • .aif .aiff Audio Interchange File Format (AIFF) files, with ID3v2.2, ID3v2.3 or ID3v2.4 tags
    • .dff Direct Stream Digital Interchange File Format (DSDIFF) files, with no tags
    • .dsf DSD Stream Format files, with ID3v2.2, ID3v2.3 or ID3v2.4 tags
    • .flac Free Lossless Audio Codec (FLAC) files, with Vorbis Comment tags
    • .mp3 MPEG-1, MPEG-2 or MPEG-2.5 files (Layers I, II and III), with ID3v2.2, ID3v2.3 or ID3v2.4 tags
    • .mp4 .m4a .m4b MPEG-4 Audio files containing either Advanced Audio Coding (AAC) or Apple Lossless (ALAC) audio data, with MPEG-4/iTunes tags
    • .ogg Ogg/Vorbis files, with Vorbis Comment tags
    • .wav Waveform Audio File Format files, with ID3v2.2, ID3v2.3 or ID3v2.4 tags

    Playlists

    • .m3u Standard or extended M3U playlists using the Windows-1252 or ISO 8859-1 character set
    • .m3u8 Standard or extended M3U playlists using the UTF-8 character set

    Meine RasPi Hardware:

    Als Server benutze ich einen Raspberry Pi 4, der mir ausreichend Geschwindigkeit bietet, einen 1GBit LAN Netzwerk hat und vor allem USB 3.0. Denn mein Raspberry Pi hat sein Betriebssystem und seine komplette Musikdatenbank auf einer SSD Festplatte, welche an einem der 2 USB 3.0 Ports angeschlossen ist, darüber bootet und recht schnell ist. Teilweise schneller, und vor allem sparsamer, leiser und natürlich günstiger als diverse herkömmliche NAS Server (im niedrigeren 3 stelligen € Bereich) in denen dann 2,4 oder noch mehr HDD Platten rund im die Uhr in Betrieb stehen und bei denen meist der Chipsatz + der Arbeitsspeicher der Flaschenhals bei schnelleren Datenprozessen ist, die ein aktueller und günstiger RasPi schon überbietet.

    Natürlich könnte man auch ein älteres Raspberry Pi Modell < 4 nehmen, allerdings sind die USB Schnittstellen um einiges langsamer, sowie das LAN bei höchstens 100MBit. Das merkt man schon, wenn man beispielsweise von einem 3er RasPi auf einen 4er wechselt. Außerdem läuft mein RasPi OS (komplett ohne SD Karte) auf der SSD Festplatte, welche dafür um einiges besser geeignet ist im Dauerbetrieb zu stehen, als die Standard (micro)SD Kartenlösung.

    Vorraussetzung:

    Ich setze Voraus, dass Dein RasPi bereits in Betrieb ist und Deine Musikdatensammlung bereits auf dem Raspberry Pi zur Verfügung steht (durch eine an- bzw. eingehängte Festplatte oder auf der SD Karte). Ebenso, dass Du als Benutzer "pi" angemeldet bist (das ist der Standardnutzer bei der Installation). Auf diesen beziehe ich mich und wenn es hier Änderungen gibt, musst Du das ggf. anpassen. Außerdem solltest Du wissen, wie Du ggf. von "außerhalb" mit Deinem RasPi per PuTTY oder WinSCP kommunizieren kannst und auch mit dem Texteditor NANO bereits Erfahrungen gesammelt hast.

    Ziel:

    Das Ziel wird sein,

    a) den Minimserver auf dem Raspberry Pi zu installieren, diverse Einstellungen zu machen, so daß Deine Musiksammlung im Netzwerk über DLNA zur Verfügung steht und

    b) (optional) Du noch als Administrator in einem Netzwerk z.B. von einem Windows Rechner per SMB (Netzwerk) auf den RasPi Zugreifen kannst (Stichwort Samba Server), um Deine Musiksammlung zu verwalten.

    In eigener Sache:

    Ich bin ein Linux bzw. RasPi "Gelegenheits-Teilzeit Nutzer", der sich vor allem Linuxtechnisch nicht so gut auskennt. Ich erkläre es so gut es geht, wie ich es zum Laufen gebracht habe. Mögliche Vereinfachungen, bessere Lösungswege oder evtl. falsche Behauptungen, möge man mir nachsehen.

    _______________________________________________________________________________________________________

    Minim UPNP DLNA Server aufsetzen:

    1. Ist JAVA vorhanden? - Wenn nein, wird es installiert

    Um zu prüfen, ob Java bereits installiert ist (denn das wird vorausgesetzt), logge mich nun z.B. über PuTTY auf dem RasPi als Benutzer ein. Ich prüfen nun mit der Eingabe:

    java --version

    ob Java bereits installiert ist. Wenn ja, folgen einige Angaben zur installierten Version. Wenn nicht kommt hier eine Fehlermeldung und Du machst mit 1a) weiter. Ansonsten kannst Du diesen Punkt überspringen.

    1.a) JAVA wird installiert:

    Zunächst sollten wir dafür sorgen, das unser RaspPi aktuell ist. Das erreichen wird durch die Aktualisierungsbefehle:

    sudo apt-get update und sudo apt-get upgrade

    Fragen mit y bestätigen. Wenn der Update Prozess fertig ist, das kann je nach Umfang einige Zeit dauern, wird nun Java installiert. Dies erfolgt mit dem Befehl:

    sudo apt install default-jdk

    Mögliche Fragen mit y beantworten. Wenn der Prozess fertig ist, kann durch erneute Angaben von java --version geprüft werden ob Java nun korrrekt installiert wurde.

    2. DLNA MinimServer Herunterladen

    Ich setzte voraus, das Du Dich an einem anderen Rechner befindest (Windows Rechner etc.) und Dich bereits mit PuTTY bzw. WinSCP auskennst. Beides Programme um ferngesteuert hervorragend auf den RasPi zugreifen zu können, außerdem sollte dein RasPi OS auf aktuellem Stand sein. Wenn Du natürlich direkt auf dem RasPi arbeitest, ist es für Dich sogar ggf. etwas einfacher.

    Den Minimserver beziehen wir von folgender Seite: https://minimserver.com/

    Es gibt dort 2 Versionen, die ältere 0.8 Version und die Version 2.0. Wir interessieren uns für die Version 2.0. Der Minimserver kann auch erworben werden mit einer Lizenz. Es gibt ihn aber auch Lizenzfrei in einer abgespeckten Version, der Starter Edition, die für unsere Zwecke absolut ausreichend und funktionell ist.

    Um nun die für uns (unsere Hardware) passende Version herunterzuladen, gehen wir zu den Downloads und in den Tabellenbereich MinimServer downloads.

    Hier gehen wird zur Linux Reihe und wählen dort die Version (für den RasPi) ARM hard float aus und laden sie herunter (Download Tip: Entweder direkt über die grafische Oberfläche des Raspi und dann (über den Browser) herunterladen, oder mit Deinem Windows Rechner und dann mit WinSCP rüberkopieren. Einen direkten download link konnte ich hier leider nicht veröffentlichen, das dieser sich ändern kann und hinter einem Button versteckt ist.).

    Achtung nicht verwechseln mit der weiter unten abgebildeten Version von MinimWatch. Der Dateiname sollte in etwa so aussehen: MinimServer-2.0.16-linux-armhf.tar.gz.

    Die Datei entpacken wir noch nicht und da der Dateiname recht lange ist, empfehle ich ihn der Einfachheit halber einfach in ms.gz umzubenennen.

    Auf dem RasPi sind wir als (normaler) Benutzer: pi angemeldet (nicht als Superuser oder Admin). Die Datei ms.gz wird nun auf dem RasPi in das Verzeichis /home/pi verschoben oder kopiert. Unter Windows empfehlen ich hierfür WinSCP. Ich logge mich nun z.B. über PuTTY auf dem RasPi als (normaler) Benutzer ein (nicht als Superuser oder Admin. Wenn das benötigt wird, werde ich das per SUDO im Befehl einbauen. Wenn nicht könnte es ggf. später beim Autostart Probleme geben, dass er nicht richtig ausgeführt wird.). Normalerweise sollte ich automatsch in meinem Home Verzeichnis landen, wenn nicht wechsle ich dorthin mit

    cd /home/pi

    3. DLNA MinimServer Datei einpacken:

    Unsere Datei ms.gz sollte sich nun hier befinden und hier packen wir sie nun auch aus, mit dem Befehl:

    tar xf ms.gz

    Unser MinimServer wird hier heraus aus dem Home Verzeichnis des Benutzers pi betrieben und er wurde gerade hier entpackt in das eigene Verzeichnis: minimserver

    4. a) DLNA MinimServer, erstes Setup durchführen:

    Wir tippen den Befehl:

    minimserver/bin/setup

    ein und bestätigen die (3) Fragen alle mit JA.

    4. b) Erster DLNA MinimServer Start:

    Wir starten den Server das erste Mal mit:

    sudo minimserver/bin/startc

    Wenn wir mit dem SUDO Befehl gearbeitet haben, kommt nach kurzer Zeit ein # Raute Symbol und erwartet eine weitere EIngabe von uns, nämlich den Pfad zu unseren Musikdaten.

    Ich treffe nun folgende Übereinkunft und beziehe mich darauf. Sollte es bei Euch anders sein. Müsst ihr das ggf. für Euch abändern. Meine Musikdaten befinden sich auf einer Festplatte. Diese Festplatte ist bereits im RasPi eingebunden (gemountet) Der Pfad zu meinem Musikdaten lautet in diesem Falle: /media/ntfs/musik. Dieses trage ich nun neben der Raute ein. Es sieht dann wie folgt aus:

    # /media/ntfs/musik

    Ich bestätige meine Eingabe. Der MinimServer läuft bereits in Hintergrund und ich befinde mich nach wie vor in seinem Menü. Durch Eingabe von help, bekomme ich weitere Möglichkeiten angezeigt.exit kann ich den Server verlassen. Dummerweise stoppt der Server auch sofort wieder. Aber dazu kommen wir noch. Mit der Eingabe von

    sudo minimserver/bin/startd kann der Server wieder gestartet werden.

    4. c) Der DLNA Server bekommt einen Namen im Netz:

    Damit der Server später als DLNA Server einen aussagekräftigen Namen bekommt, geben wir ihm jetzt einen mit Hilfe des NANO Texteditors

    sudo nano /home/pi/minimserver/data/default.profile

    Hier sollte nun in der ersten Zeile bereits der Pfad zu unseren Musikdaten eingetragen sein, welchen wir eben erst angegeben hatten. In unserem Beispiel: /media/ntfs/musik .In der zweiten Zeile steht der Servername. Wenn dort nichts steht, können wir hier unseren Servernamen eintragen. Dieser erscheint dann, wenn ich nach dem DLNA Server suche. Ein möglicher Name bzw. Eintrag sieht z.B. wie folgt aus:

    displayName = RasPi MinimServer

    Wenn ich das gemacht habe, speichere und beende ich den Nano Texeditor mit

    <STRG> + O speichern und mit <STRG> + X verlassen.

    4. d) Autostart für den DLNA Server einrichten, damit er beim booten wieder automatisch startet.

    Wir geben folgenden Befehl ein:

    sudo nano /etc/init.d/minimserver

    Sollte hier bereits Text stehen, was durchaus der Fall sein wird, da aufmerksame User sich vielleicht daran erinnern können, dass wird dem Autostart bereits zugestimmt haben, löschen wir den Text komplett. Leider funktionierte der hier abgebildete Programmcode bei mir nicht. Wir müssen hier nun einen alternativen Code einfügen. Sollte hier nicht stehen - Auch gut. Der folgende Text wird hier nun hineingeschrieben oder kopiert:

    Wenn ich das gemacht habe, speichere und beende ich den Nano Texeditor mit

    <STRG> + O speichern und mit <STRG> + X verlassen.

    Zur Sicherheit gebe ich noch die richtigen Lese/Schreibrechte an:

    sudo chmod 755 /etc/init.d/minimserver

    Damit das Script noch beim Booten aufgerufen wird, bringe ich es in den Autostart mit:

    sudo update-rc.d minimserver defaults

    Wenn es irgendwann wieder aus dem Autostart raus soll, mache ich das mit der Eingabe von:

    sudo update-rc.d -f minimserver remove wieder rückgängig.

    Der Minimserver sollte nun automatisch wieder starten, wenn der RasPi z.B. rebootet.

    5. Den DLNA MinimServer über den Browser erreichen (ReScan durchführen):

    Wenn der Minimserver nun richtig läuft - Hier nochmal wie man ihn startet:

    sudo /etc/init.d/minimserver start

    oder stoppt:

    sudo /etc/init.d/minimserver stop,

    sollte er auch über einen Browser erreichbar sein. Dein MinimServer ist auf dem Raspberry (mit Portangabe 9790) wie folgt über den Browser zu erreichen:

    http://xxx.xxx.xxx.xxx:9790/

    Wenn der Server läuft, kommst Du auf die recht minimalistische MinimServer Oberfläche und, wenn es das erste Mal ist, mußt Du noch diverse Zustimmungen machen. Du kannst Dich hier mal durchklicken, ansonsten solltest/brauchst Du hier eigentlich nichts ändern. Du kannst a) sowieso nicht viel ändern hier und b) könnte Änderungen hier den Server beeinflussen. Wozu die Seite aber ganz brauchtbar ist: Wenn sie funktioniert weißt Du, dass Dein Server in Betrieb ist und vor allem kannst Du hier manuell einen Daten ReScan ausführen, wenn Du z.B. Daten geändert hast. denn leider überwacht der MinimServer aktuell noch keine Datenänderungen. Wenn Du auf Status gehst, kannst Du den Status einsehen und diesen ggf. mittels Refresh status erneuern. Hier gibt es dann auch den Rescan button. Auf diesen kannst Du klicken, wenn Du Änderungen getätigt hast. Aber Achtung: Ein Rescan bedeutet, ein komplett neues Erstellen der Datenbank und je nach Größe Deiner Sammlung kann es durchaus einige Minuten dauern, bis wieder alles komplett erfasst ist. Nur die Änderungen zu erfassen ist leider nicht vorgesehen.

    6. Anpassen der Bezeichnungen der Verzeichnisse im DLNA Betrieb (optional)

    Der DLNA Server erscheint im Netzwerk, wenn er in Betrieb ist und kann eingebunden werden. Bei der Namensgebung der Verzeichnisse können Änderungen vorgenommen werden. Dies geht wie folgt. Auf dem RasPi gehe ich in das Verzeichnis /home/pi/minimserver/etc z.B. durch Eingabe von:

     cd /home/pi/minimserver/etc mit der EIngabe von ls oder ls -la bekomme ich eine gute Übersicht über die Dateien, die sich in dem Verzeichnis befinden.

    Tip: Mit WinSCP gestaltet sich das wesentlich übersichtlicher.

    Ich sehe in diesem Verzechnis nun verschiedene Vorgaben und kann diese öffnen und/oder bearbeiten. Wenn wir z:b. die Datei ServerBundle_de.defaults über

     sudo nano ServerBundle_de.defaults

    öffnen, können wir Änderungen an den einzelnen Bezeichnungen vornehmen. Diese sollten eigentlich selbsterklärend sein. Wichtig ist: ALLE ZEILEN, die ich nicht ändern möchte, müssen mit einer Raute auskommentiert werden also in der ersten Zeile wird dann z.B. aus: text.album = {0,number,#} Album ein #text.album = {0,number,#} Album.

    Wenn ich meine Änderungen getätigt habe, speichere ich diese nun unter neuem Namen:

    Mit <STRG> + O öffne ich das Speichern Menü und benenne die Datei nun: ServerBundle_de.properties mit anderen Dateien verfahre ich analog bein der Umbenennung, wenn benötigt.

    Wenn ich meine Korrektur des Dateinamens gemacht und die EIngabe bestätigt habe, bestätige ich anschließend noch mit Ja und schließe mit <STRG> + X

    7. DLNA MinimServer Rescan (automatisieren):

    Wie bereits oben erwähnt, macht der aktuelle MinimServer leider von sich aus keinen automatischen Rescan, wenn Daten geändert wurden. Wir müssen das entweder per Kommandozeilen-Befehl in die Wege leiten, oder aber über die Homepage des Servers (siehe oben). Es gibt jedoch eine Möglichkeit dies einigermaßen zu automatisieren - allerdings unabhängig davon, ob Daten geändert wurden oder nicht - nämlich einen zeitgesteuerten Rescan der Daten automatisiert per (im RasPi OS bereits eingebauten) Cron-Job ablaufen zu lassen. Dies geht wie folgt:

    Wir öffnen mit dem nano Editor die passende CroTab Datei:

    sudo nano /etc/crontab

    In dieser Datei kann u.U. schon einiges an Einträgen vorhanden sein. Wir bewegen uns nun ganz nach unten und fügen nun eine neue Zeile von uns ein. Im nachfolgenden Beispiel die Ansicht meiner CronTab Datei. Die letzte Zeile nach dem Raute Zeichen wurde von mir hinzugefügt:

    Wenn man einmal das Prinzip verstanden hat, ist es eigentlich ganz einfach. Mein Eintrag besagt:

    Jeden 2.ten (= */2) Tag morgens um 4.00h (= 0 4) wird ein rescan als root aufgerufen,

    angefangen nach dem letzten Reboot (be dem sowieso automatisch ein Rescan durchgeführt wird (meines Wissens nach)) und dann alle 2 Tage, morgens um 4Uhr ein Rescan der Daten vollzogen wird. Dadurch sollte keiner um diese Uhrzeit gestört werden, wenn die Datenbank neu aufgebaut wird und alle 2 Tage sollte akzeptabel sein um Änderungen zu übernehmen. Mann kann hier natürlich alles selbst festlegen. Oben drüber ist es ganz gut erklärt und wem das nicht reicht, kann zB im Netz nachschlagen, wie man die Angaben hier richtig setzt. Hier ist das z.B. ganz gut erklärt, oder hier. Sind wir fertig, speichern und beenden wir mit:

    <STRG> + O speichern und mit <STRG> + X verlassen.

    Der Cronjob ist nun eingerichtet und wird seine Arbeit automatisch durchführen. Möchte man das jedoch erst einmal testen, ob es funktioniert, Kann ich ja mal einen Testlauf so einstellen, das z.B. zur nächsten vollen Stunde, der Rescan startet. Direkt bekomme ich davon zwar nichts mit, allerdings sehe ich das zeitnah, wenn ich von extern auf den DLNA Server zugreife und sehe, wie die Datensätze in meiner Player Oberfläche immer mehr werden, oder ich gehe auf die Homepage und überprüfe den Status, dort steht es normalerweise.

    _______________________________________________________________________________________________________

    Samba Server aufsetzen (optional):

    Wer seinen Raspberry Pi nur als DLNA Server betreiben möchte, ohne über ein "klassisches" Windows (SMB) Netztwerk darauf zugreifen möchte, ist hier jetzt fertig. Als DLNA Server ist er bereits jetzt voll funktionsfähig und kann im Metzwerk aufgerufen werden. Wer jedoch (zusätzlich) über das Netzwerk auf die Daten als Gast oder Administrator zugreifen möchte, sollte hier noch weiterlesen. Damit das RasPi im Windows Netzwerk auf die gewohnte Art zugegriffen werden kann (über SSH (PuTTY) bzw. SCP (WinSCP) haben wir ja vielleicht schon darauf zugegriffen), benotigen wird noch einen SMB Server. Der wohl bekannteste und populärste ist der "Samba" Server. Dieser verbindet den RasPi über das weit verbreitete SMB Protokoll u.a. mit einem Windows Netzwerk. Vielleicht beutzt Du ihn bereits und/oder hast ihn bereits installiert, weißt es aber nicht. Das prüfen wir doch einmal, indem wir die Samba Version erfragen.

    smbd -v

    Sollte Samba bereits existieren, kommt hier eine vernünftige Auskunft, wenn nicht eine Fehlermeldung.

    1. Samba Server installieren (optional):

    Ich gehe davon aus, Du hast bereits vorher den RasPi auf den letzten Stand gebracht, ansonsten hole das bitte nach, wie Eingangs unter 1.a) JAVA wird installiert erklärt wurde.

    Nun installieren wir den Samba Server über den Befehl:

    sudo apt-get install samba samba-common-bin

    Wenn bei der Installation nach DHCP über WINS gefragt wird (normalerweise erstes Fenster), dann mit JA antworten. Danach ist Samba auch schon installiert.

    Zu Samba selbst ist zu sagen, irgendwie ist es ganz einfach und logisch und irgendwie aber auch sehr Komplex bzw. kompliziert für Anfänger. Ich habe bei dem Thema festgestellt, das wohl viele Wege nach Rom führen können oder aber nicht. Ich zeige hier einen Weg auf, den ich für mich als gut empfunden habe. Es mag andere, bessere und einfachere geben. Ich bitte, mir das nachzusehen.

    Noch etwas zum Verständis:

    Samba stellt die Verbindung ins Netz her und erlaubt mir als Administrator genau das einzustellen, was und wie im Netzwerk erscheinen soll. Grob unterteilen sich die Nutzer die aus dem Netztwerk zugreifen dürfen in Personen, die nur "schauen" dürfen ohne jegliche Änderungen vornehmen zu können und Benutzer, die die Daten auch ändern dürfen. Das bedeutet: In dem Moment, wo ich definiere, das Benutzer X sich auch als solcher ausweisen muss z.B. per Name und Passwort, dann kann ich ihm auch Rechte einräumen. In unserem Fall ist wichtig zu Wissen. Ein Benutzer, der sich an dem Raspberyy Pi anmelden kann, Kann sich noch lange nicht über den Samba Server mit dem Raspi Verbinden, er muss hier explizit also auch noch einmal als Benutzer registriert sein. Ebenso muss ein Benutzer bereits auf dem Pi existieren, damit ich ihn auch bei Samba anmelden kann (später nochml etwas dazu).

    Als Beispiel: Bin ich als Benutzer Pi im Raspberry registriert, kann ich mich zwar innerhalb vom Raspberry "frei" bewegen, will ich aber über das z.B. Windows Netztwerk auf den Raspberry zugreifen, verweigert mir das Samba, weil ich bei ihm (noch) nicht registriert bin.

    2.Samba Settings Einstellungen:

    Es wird davon ausgegangen, das meine "Musik Festplatte" oder mein "Musik Verzeichnis" bereits eingebunden (gemountet) ist unter dem Bespielpfad: /media/ntfs/musik

    Jetzt müssen wir noch ein paar Settings in den Samba-Einstellungen machen. hierzu machen wird von der Original Settingsdatei zur Sicherheit erst einmal ein Backup mit:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

    Nun öffnen wir die Settings Datei über:

    sudo nano /etc/samba/smb.conf

    Wir scrollen bis ans Ende der Datei. In ihr sollte bereits einiges an Einträgen vorhanden sein.

    Was wir nun machen: Wir erstellen nach außen hin ins Netztwerk zwei verschiedene Ordner, die dann die Netzwerk Benutzer sehen können. Ein Ordner, auf den Jeder im Netztwerk darauf zugreifen kann, aber nur Lesenzugriff hat und ein zweiter Ordner, der Lese und Schreibzugriff (für Administratoren) bietet. Intern handelt es sich allerdings um ein und den

    selben Verzeichnispfad und Ordner, bloß mit anderen Zugriffsrechten.

    Ich erwähne hier nochmal den Hauptordner auf unserer Festplatte unter dem die ganze Musik liegt und bereits am RasPi eingebunden ist.

    Als Beispiel: /media/ntfs/musik

    unterhalb der Ordners ..../musik liegt dann alles was jeder Sehen kann wie z.B. in dem nachfolgenden Schema verdeutlicht

    Den Nachfolgenden Code trage wir nun komplett am Ende der Datei ein:

    Code
    [RasPi-DLNA-Admin]
    comment = RasPi4-Musik-DLNA-Server-Verzeichnis
    path= /media/ntfs/musik
    browseable=Yes
    writeable=yes
    guest ok = no
    public= no
    valid users = pi,admin

    Samba bietet uns die Möglichkeit den Ordner musik nach außen hin nochmal komplett neu und anders zu benennen. Ich nenne ihn hier:

    RasPi-DLNA-Admin (Dies erscheint später im Netzwerk als Ordnername) .D.h. Der Name des Ordners im Netzwerk, wird in die eckigen Klammern [] geschrieben.

    Unter path= tragen wir den Pfad auf dem RaspBerryPi zu den Musikdaten ein.

    Browseable & writeable: Der Pfad kann später durchsucht werden und Lesen und Schreibrechte werden vergeben.

    guest ok= no Für Gäste oder Personen, dies sich nicht anmelden können, bleibt der Ordner gesperrt.

    Personen, die sich anmelden können und müssen haben dann auch Schreibrechte. Diese werden unter

    valid users aufgeführt. Sollen es mehrere sein, werden sie durch Komma getrennt erfasst. (In diesem Beispiel pi und admin)

    Das war es schon.

    Das gleiche machen wir nun für Jedermann, indem wir den nächsten Block unten einfügen.

    Er erscheint im Netzwerk als Ordner: RasPi-DLNA-Public

    Es kann also Jeder die Ordner sehen und darauf zugreifen, allerdings weder etwas hinzufügen, löschen, ändern etc. Eben "nur Leserechte".

    Code
    [RasPi-DLNA-Public]
    comment = RasPi4-Musik-DLNA-Server-Verzeichnis
    path= /media/ntfs/musik
    browseable=Yes
    writeable=no
    only guest=no
    create mask=0555
    directory mask=0555
    public=yes

    Wenn wir fertig sind, wie gewohnt:

    <STRG> + O speichern und mit <STRG> + X verlassen.

    3. Zugriff im Netzwerk:

    Damit die eben gemachten Einstellungen auch sofort im Netztwerk zur Verfügung stehen, Können wir dem ganzen ein wenig vorgreifen, indem wir den Samba Server neu starten:

    sudo service smbd restart

    sudo service nmbd restart

    Im Netztwerk sollte nun der Raspberry Pi erscheinen, oder er kann (etwas schneller) in der Adresszeile des Windows Explorers durch Eingabe der IP Adresse geöffnet werden.

    Bsp: \\xxx.xxx.xxx.xxx

    Darin sollten nun beide obigen Ordner sichtbar sein. Den RasPi-DLNA-Public Ordner könne wir sofort öffnen, aber wie gewollt darin nichts verändern und beim RasPi-DLNA-Admin Ordner...?? - Ups, stimmt, da war noch was. Da dürfen nur angemeldet User darauf Zugreifen (in unserem Falle pi und admin), aber wir haben die Benutzer bei Samba ja noch garnicht angemeldet.

    Das holen wir jetzt noch nach.

    4. Neue Benutzer zu Samba hinzufügen:

    Wir haben ja beschlossen, dem Benutzer pi und dem Benutzer admin auch Zugriffsrechte auf dem Samba Server einzuräumen. Der Benutzer pi ist ja bereits auf dem Raspberry angemeldet, somit muss ich ihn nur noch bei Samba anmelden, das geschieht mit der folgenden Eingabe:

    sudo smbpasswd -a BENUTZERNAME

    in unserem Beispiel also:

    sudo smbpasswd -a pi

    Der Benutzer wird in Samba angelegt und es wird ein Passwort verlangt. Wir geben dem Nutzer pi ein Passwort, mit dem er aus dem SMB Netz auf den Raspi zugreifen kann. Aus Sicherheitsgründen sollten man hier ggf. ein anderes Passwort wählen, als das, mit welchem sich der gleiche Benutzer am Raspbery Pi anmeldet.

    Nun folgt noch der Benutzer admin.

    Im Gegensatz zum Benutzer pi, existiert dieser noch gar nicht auf dem Raspberry. Ich muss ihn also erst einmal am Raspberry anmelden

    sudo adduser admin

    Anschließen müssen wir ihn nun auch noch beim Samba Server anmelden.

    sudo smbpasswd -a admin

    Das war es und ich starte den Samba Server neu:

    sudo service smbd restart

    sudo service nmbd restart

    Nun sollte der jeweilige Benutzer sich auch bei RasPi-DLNA-Admin anmelden können. Hier kann er nun auch Daten ändern. Wer möchte kann die Netzwerkadresse aich gleich bei Windows als Laufwerk eintragen lassen und wenn man Windows erlaubt, dass Paswort zu merken, Ist das Laufwerk in Zukunft automatisch unter Windows eingetragen und man hat sofort Zugriff darauf.


    Viel Spaß :thumbup::thumbup::)

    Gruß, Dirk

    7 Mal editiert, zuletzt von Dirgi2 (28. Februar 2021 um 20:37)

  • UPNP DLNA Server Alternative. Der MinimServer - Installation und Betrieb auf dem RasPi (HOWTO)? Schau mal ob du hier fündig wirst!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!