Externer zugriff auf Firebird auf Pi 400

  • Hallo,


    ich habe mir einen Pi400 gekauft um dort eine Firebird Datenbank laufen zulassen. Da ich weder mit Linux noch mir Raspberry bisher Erfahrungen sammeln konnte, dachte ich, wäre der Pi400 ideal, da die Einstiegshürden hier niedrig sein sollten.


    Was ich bisher gemacht habe:

    - Installiert habe ich nichts weiter, wenn unter dem Raspi-Icon auf Einstellungen gehe und dort auf Software hinzufügen, dann ist Firebird dort bereits vorausgewählt.

    - Ich habe eine vorhandene Datenbank von Windows auf den Raspberry kopiert.

    - Am Raspberry habe ich die Datei mit isql-fb geöffnet und kann auch Querrys ausführen.

    - In der Config-Datei von Firebird habe ich "RemoteAccess = true" gesetzt (war vorher ein # davor, das ist entfernt) und in der Zeile "RemoteBindAddress = localhost" das Localhost entfernt.

    - Wenn ich mich mit DBeaver verbinden möchte läuft die Verbindung ins leere (Connection timed out).



    Habe ich etwas übersehen?


    Was ich nicht finden kann:

    - Einen Service zu Firebird. Googelt man das Thema, ließt man häufiger, man soll den Service von Firebird neu starten. mit sudo service --showall wird mir kein Service zu Firebird angezeigt.



    Gruß

    Schlumpf

  • Hallo,


    Quote

    "RemoteBindAddress = localhost" das Localhost entfernt.

    `RemoteBindAddress` ist die Adresse, auf der die DB lauscht. Du _musst_ du denke ich einen Wert setzen. `localhost`halt, wenn Firebird lokal laufen soll, sonst eine IP-Adresse, unter der der Raspi erreichbar ist. Wenn der Raspi hinter einem Router sitzt und der Raspi aus dem Internet erreichbar sein sollte, dann musst du Port-Forwarding im Router für den Raspi und den Port, auf dem Firebird läuft, aktivieren.

    Wenn du wenig bis keine Erfahrung mit sowas hast solltest du dir das genau überlegen bzw. Hilfe dazu holen, weil: wenn da was schief läuft oder du was falsch einstellst sind im allerschlechtesten Fall alle Rechner in deinem Heimnetzwerk von aussen erreichbar und die Script-Kiddies toben sich bei dir aus.


    Wenn der Raspi nur im internen Netzwerk erreichbar sein soll, dann fällt das mit dem Router weg und du könntest testweise bei der RemoteBindAddress=0.0.0.0 hinterlegen.


    Gruß, noisefloor

  • Wie sind die Ausgaben von:

    Code
    systemctl status firebird
    systemctl is-enabled firebird
    systemctl is-active firebird
    sudo netstat -tlpena | grep -i fire
    ps aux | grep -i [f]ire

    ?

    Kannst Du von deinem Windiws, die IP-Adresse des PI per ping erreichen und den lauschenden TCP-Port des firebird scannen?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Wenn du wenig bis keine Erfahrung mit sowas hast solltest du dir das genau überlegen bzw. Hilfe dazu holen,

    Genau aus dem Grund frage hier hier in einem Hilfe-Forum. :)


    Wenn der Raspi hinter einem Router sitzt und der Raspi aus dem Internet erreichbar sein sollte

    Das ist nicht erforderlich. Es soll lediglich im lokalen Netzwerk funktionieren. Hier dient der Router somit noch als zusätzlichen Mini-Schutz. Natürlich möchte ich auf Sicherheit nicht verzichten.



    Wenn der Raspi nur im internen Netzwerk erreichbar sein soll, dann fällt das mit dem Router weg und du könntest testweise bei der RemoteBindAddress=0.0.0.0 hinterlegen.

    RemoteBindAdress = 0.0.0.0 habe ich zum Testen gesetzt. DBeaver sagt weiterhin "Unable to complete network request to host "192.168.2.155". [SQLState:08006, ISC error code:335544721] - Connection refused: connect



    Frage: Muss Firebird als Service laufen? Das scheint beim Pi400 nicht der Fall zu sein.

  • Wenn Du mit den man-pages von Firebird nicht zurecht kommst ("apropos firebird"), dann kannst Du über Add/Remove Software - Documentation firebird*.doc und firebird*.examples nachladen [soferne firebird*.doc nicht schon bei der Installation ins Verzeichnis /usr/share/doc/* installiert wurde.]


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hallo,


    Quote

    Frage: Muss Firebird als Service laufen? Das scheint beim Pi400 nicht der Fall zu sein.

    Als Service Unit: nein. Aber natürlich muss Firebird laufen, damit die DB erreichbar ist. Ob du Firebird jedes Mal von Hand startest oder dir eine Service Unit für den Start beim Systemstart (falls nicht schon vorhanden) anlegst ist deine Entscheidung.


    Quote

    192.168.2.155

    ist aber sicher die IP-Adresse der Rapsi, auf dem Firebird läuft? Und läuft Firebird auf dem Pi wirklich? Kannst du z.B. über den Befehl im Terminal ps aux rausfinden. In der Prozessliste sollte Firebird auftauchen.


    Gruß, noisefloor

  • Wenn Du mit den manpages von Firebird nicht zurecht kommst ("apropos firebird"), dann kannst Du über Add/Remove Software - Documentation firebird*.doc und firebird*.examples nachladen [soferne firebird*.doc nicht schon bei der Installation ins Verzeichnis /usr/share/doc/* installiert wurde.]


    Servus !

    Ich nutze Firebird schon sehr lange. Nur halt bisher unter Windows. Das Handbuch kenne ich, jedoch, hilft ein Handbuch nicht, wenn man Anfänger auf dem Raspi ist und nichtmal die Fehlerursache kennt.




    ist aber sicher die IP-Adresse der Rapsi, auf dem Firebird läuft? Und läuft Firebird auf dem Pi wirklich? Kannst du z.B. über den Befehl im Terminal ps aux rausfinden. In der Prozessliste sollte Firebird auftauchen.

    Ja, das ist die IP-Adresse vom Raspi. Ich kann auf dem Raspi mit "isql-fb" mit der Datenbank verbinden und bekomme Zugriff. Somit läuft Firebird? Andererseits bei ps aux sehe ich Firebird nicht.


    Ausgabe von PS AUX:



    Wie sind die Ausgaben von:

    Code
    systemctl status firebird
    systemctl is-enabled firebird
    systemctl is-active firebird
    sudo netstat -tlpena | grep -i fire
    ps aux | grep -i [f]ire

    ?

    Kannst Du von deinem Windiws, die IP-Adresse des PI per ping erreichen und den lauschenden TCP-Port des firebird scannen?

    Die IP-Adresse kann ich per Ping erreichen.


    Die Ausgabe von "systemctl status firebird" lautet "Unit firebird.service could not be found.


    Die Ausgabe von "systemctl is-enabled firebird" lautet "Failed to get unit file state for firebird.service: No such file or directory


    Die Ausgabe von "systemctl is-active firebird" lautet "inactive"


    Der Befehl "sudo netstat -tlpena | grep -i fire gibt nichts zurück.


    Der Befehl "ps aux | grep -i [f]ire" gibt auch nichts zurück.




    Ich würde jetzt als Fazit sehen, dass Firebird zwar installiert ist auf einem Raspi PI-400 und aber nicht dauerhaft eingeschaltet ist? Hm.. *grübel*

  • Wie sind die Ausgaben von:

    Code
    apt-cache policy firebird3.0-server
    systemctl list-units --all | grep -i fire

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Die Ausgabe von apt-cache policy firebird3.0-server lautet


    Code
    firebird3.0-server:
    Installiert:           (keine)
    Installationskandidat: 3.0.7.33374.ds4-2
    Versionstabelle:
    3.0.7.33374.ds4-2 500
    500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages


    Sehe ich das richtig, dass der Server gar nicht installiert ist?


    Wenn ich über das Raspi-Icon auf Einstellungen, Add/Remove Software gehe, ist jedoch beim Paket "Firebird engine core" "firebird3.0-server-core-3.0.7.33374.ds4-2" der Haken gesetzt. Sehe ich das richtig, dass der Server doch installiert ist?


    Es ist ein Standard Raspi-400 welchen ich verwende.


    Der Befehl systemctl list-units --all | grep -i fire erzeugt keine Ausgabe



    Screenshot:

    [Blocked Image: https://dl.dropbox.com/s/biy17lvz12zvb0v/Bildschirmfoto%20vom%202022-09-16%2014-43-24.png]

    Edited once, last by Schlumpf ().

  • Mir wird mit apt search firebird folgendes (relevantes) angezeigt:


    Also führe mal folgendes aus:

    Code
    sudo apt install firebird3.0-server firebird3.0-doc

    //Edit: Vorher natürlich ein sudo apt update nicht vergessen!

  • Danke! :)


    Das war es tatsächlich. Er hat noch mehr installiert und damit hat der Rest dann auch recht schnell funktioniert. Firebird steht und die Datenbank ist erzeugt.


    :)