Einrichtung PostgreSQL Netzwerkdatenbank / Fragen

Lieber Torben,

bei vorgenanntem Thema bin ich jetzt soweit gekommen, jetzt weiss ich anhand der Anleitung nicht mehr weiter.

PostgreSQL installiert und angelegt

Ich weiss aber nicht wie es genau geht die Postgre-Client-Library in MAirlist anzulegen.

Und wie ich für mein Vorhaben betreffend der folgenden Punkte nun vorgehe:

  • Bestehende Datenbank auf Server soll als Datenbank für andere Clients genutzt werden, wie wandele ich um/richte ich ein, muss ich etwas beachten dass ich sie nicht zerstöre.

  • Wie muss ich die Clients einrichten,

– dass sowohl Serverdatenbank (Playlists für Livesendungen, Werbung, zentrale Elemente etc.) genutzt werden kann als auch eine weitere lokale Datenbank (mit Produktionselementen, die evtl. nicht auf Serverdatenbank sind)?
– Wie funktioniert die lokale feste Spiegelung (dass Sendebetrieb sichergestellt ich wenn kein Netz oder v.a.D. im mobilen Studio? – Ist es möglich einzurichten, dass bei jeder Verbindung des Clients zur Serverdatenbank automatisch die Änderungen auf der Serverdatenbank synchronisiert werden?

Sorry für die vielen Fragen aber ich konnte aus dem Benutzerhandbuch nicht herauslesen und habe auch im Forum nichts gefunden.

LG

Hast du diese Anleitung schon gesehen?

https://www.mairlist.com/dokuwiki/tutorials:mairlistdb:setup-postgresql

Ich bin mir aber gar nicht sicher, ob du die PostgreSQL-Datenbank wirklich brauchst/willst.

Wenn ich dich richtig verstanden habe, habt ihr doch einen zentralen Server (beim Hoster), auf dem die Automation laufen soll, und auf dem sich auch das zentrale Audio-Archiv befindet. Und dann zwei Studios zuhause, die auf diesen Datenbestand zugreifen sollen, ja?

Das wäre dann eher ein Fall für den mAirListDB Server + Client (der auch durchaus auf Basis der lokalen Datenbank läuft):

https://www.mairlist.com/dokuwiki/tutorials:mairlistdb:mairlistdb-server

Nochmal zur Erklärung:

Die mAirListDB besteht normalerweise aus zwei Teilen:

  1. Einem oder mehreren (Netz-)Laufwerken mit den eigentlichen Audiodateien.
  2. Einem SQL-Server für die Metadaten (Bibliothek und Sendeplanung).

In einem klassischen Szenario mit mehreren PCs im LAN (Studios und Redaktion) verwendet man einen echten, netzwerkfähigen SQL-Server, also PostgreSQL oder Microsoft SQL Server, auf den dann alle Computer gleichzeitig zugreifen können. Auf die Netzlaufwerke mit dem Audios ja sowieso.

Bei nur einem einzigen mAirList-PC kann man die “lokale” mAirListDB verwenden, als Vereinfachung des Ganzen: Hier kommt anstelle des echten SQL-Servers die sqlite3.dll zum Einsatz, die für die Anwendung wie ein echter SQL-Server aussieht, tatsächlich aber alles in einer einzelnen Datei auf der lokalen Festplatte speichert. Vorteil: Keine langwierige SQL-Server-Installation notwendig. Nachteil: Funktioniert nicht im LAN. (Die SQLite-Datenbankdatei geht schnell kaputt, wenn man versucht, sie über ein Netzlaufwerk von mehreren PCs aus gleichzeitig zu verwenden. Darauf weisen die Programmierer von SQLite ausdrücklich hin.) Das Prinzip bleibt aber gleich: Metadaten in SQL-“Server”, Audios auf der Festplatte/Laufwerk.

Was ist nun mit PCs, die sich nicht im LAN befinden, sondern über das Internet angebunden werden sollen?

Die Verbindung zum SQL-Server über TCP könnte man noch im Router/Firewall freigeben. Das Einbinden eines Netzlaufwerkes über das Internet ist aber in der Regel schwierig. Da braucht man entweder eine echte VPN-Lösung, oder man muss sehr anfangen zu basteln.

Deshalb wurde der mAirListDB-Server erfunden. Er setzt auf einer bestehenden mAirListDB auf, muss also auf einem PC laufen, auf dem die mAirListDB bereits richtig eingerichtet ist (lokal oder PostgreSQL/MSSQL ist egal). Dann startest du den mAirListDB-Server und legst dort Benutzer für deine User an.

Der mAirListDB-Server erzeugt einen HTTP-Server, über den sich nun Clients mit ihm verbinden können. Dazu wird clientseitig eine neue Verbindung vom Typ “mAirListDB (Internet Client)” eingerichtet. Über diese HTTP-Verbindung wird nun der gesamte Zugriff auf die mAirListDB “getunnelt”, sowohl Metadaten als auch Audiodateien werden darüber zur Verfügung gestellt. Der Client kann also (fast) genauso arbeiten, als befände er sich im gleichen LAN und würde direkt mit der mAirListDB kommunizieren. Lediglich ein bisschen langsamer, je nach DSL-Geschwindigkeit.

Der mAirListDB-Server ist sogesehen ein “Proxy” für eine bestehende mAirListDB (lokal oder Netzwerk), um weitere Clients aus dem Internet den Zugriff darauf zu ermöglichen. Insofern wäre “mAirListDB Proxy” wohl eine einleuchtendere Bezeichnung gewesen.

Zu beachten ist, dass sich das alles online abspielt. Es ist nicht möglich, einen “Offline-Abzug” oder eine “Synchronisierung” etc. darüber zu machen. Es wird immer eine Internetverbindung benötigt.

1 Like

Lieber Torben, ich danke Dir, das war mir noch nicht so ganz klar ;-). Dann nutze ich MAirlistDB Server, ist glaube ich wirklich besser für uns. Aber man kann ja über lokale Datenbanken als Client arbeiten. Aber die aktuellen Elemente bekomme ich nicht in die lokale Bank. Wobei zwar nicht durch Synchronisation aber ich könnte reinkopieren? Ich probiere es mal aus, dann ergibt es sich vermutlich von selbst…

LG

…weitere Frage, wenn ich aus Versehen bei der ersten Aktivierung die automatische Windows Firewall Freischaltung weggeklickt habe, wie kann ich die wieder herholen? Und ergeben sich daraus Risiken für den Server oder betrifft das nur die Kommunikation von MAirlist mit den Clients und sonst kommt nichts rein?

Dann musst du in der Windows-Systemsteuerung manuell eine Ausnahme definieren (für TCP-Port 8840/9940, oder je nachdem, welche Ports du eingestellt hast).

Da hat Google bestimmt diverse Anleitungen vorrätig :wink:

Danke Torben, noch ein Hinweis der Download-Link zu SSLBuddy im Tutorial ist nicht mehr verfügbar. Kannst Du mir evtl. bitte noch einen Tip geben, wo man so ein Tool für einen 64bit Rechner gefahrlos downloaden kann?

Ich hatte noch eine Kopie auf dem Rechner, und die Lizenz erlaubt es mir zum Glück, es euch zum Download anzubieten:

http://download.mairlist.com/other/sslbuddysetup.exe

Ansonsten habe ich noch dieses etwas modernere Tool gefunden, das habe ich mir aber noch nicht im Detail angeschaut und kann daher keine Anleitung zur Verfügung stellen:

http://sourceforge.net/projects/xca/

Ich selbst erzeuge mir die Zertifikate immer auf der Kommandozeile mit OpenSSL. Ist aber sicher nicht jedermanns Sache :wink:

Danke Torben für die schnelle Hilfe :slight_smile:

Lieber Torben, jetzt habe ich bald alle Probleme einmal durch… :wink:

Bei der Client Einrichtung erscheint “Socket Error # 10060 Connection time out” und dahinter ein weiteres Fenster “Bestätigung - Die Datenbank ID wurde nicht bestätigt. Möchten Sie dies jetzt durchführen”.

Port habe ich den 9840 für HTTPS eingegeben und das Häkchen gemacht…

Sieht so aus, als sei die Firewall noch nicht richtig konfiguriert.

Du kannst zum Testen auch den Webbrowser nehmen: https://:9940/db/ping

Wenn dort eine Passwortabfrage kommt (und nach Eingabe dann “pong” steht), ist alles OK.

Wenn du da auch einen Timeout bekommst, ist die serverseitige Firewall noch anzupassen.

Hab alles ausprobiert was Google-Windows-Anleitungen sagen und es geht trotzdem nicht :frowning: und auf dem Client hab ich auch die Ports freigegeben, alles bei eingehende Regeln…

Du brauchst eingehende Firewallregeln auf dem Server. Der Client muss normalerweise nicht angefasst werden.

Mit dem Webbrowser auf dem Client bekommst du auch den Timeout-Fehler?

Ja mit dem Webbrowser Timeout Fehler …

Kann mein Fehler an dem Klick in Anlage DBserver “nur HTTPS” liegen?

oder muss ich SSLBuddy auch auf dem Client installieren? Remoteport habe ich jetzt auch freigegeben…

SSLBuddy benötigst du nur einmalig, um das (selbst-signierte) SSL-Zertifikat zu erstellen, das du für den HTTPS-Server brauchst.

Timeout-Fehler bedeuten fast immer: Firewall verhindert Verbindungsaufbau. (Vorausgesetzt die IP ist überall korrekt eingetragen.)

Bitte kontrolliere noch einmal die Ausnahmeregel, die du in der Windows-Firewall auf dem Server erstellt hast. Hier noch einmal die Anleitung von Microsoft:

http://windows.microsoft.com/de-de/windows/open-port-windows-firewall#1TC=windows-7

Lieber Torben,

danke Dir. Ich habe es nochmals überprüft, geht nicht :-(. Kann das damit zusammenhängen, dass es sich um einen virtuellen Server handelt? Weiss mir keinen Rat mehr!

Bei welchem Provider steht der Server?

Hat der zufällig eine zusätzliche Firewall, die man über das Kundeninterface steuern kann?

Bei Host Europe… Du meinst über das Plesk… Ich schaue mal nach!

So jetzt habe ich auch dort den https Port freigeschaltet mit einer IP Adresse, Fehlermeldung kommt immer noch… :’(