FirebirdSQL
Zur Datenhaltung verwendet OrgaMon den freien Datenbank Server firebird SQL.
Installation
CS- Classic Server unter Linux
rpm -vv -i Firebird...rpm chkconfig --add xinetd rcxinetd restart
SS- Super Server unter Linux
rpm -vv -i Firebird...rpm chkconfig --add firebird rcfirebird restart
- Sicherheitseinstellungen
Zunächst muss dem firebird SQL Server erlaubt werden auf die typischen Dienstbereiche der Platte zuzugreifen: /srv Dort können dann auch verschiedene Volumes eingehängt werden. Dazu muss jedoch der schreibende Zugriff erst mal ermöglicht werden:
joe /opt/firebird/firebird.conf DatabaseAccess = Restrict /srv
Bedeutung: dem FirebirdSQL Server ist der Datenbankzugriff nur in /srv und allen weiteren Unterverzeichnissen möglich.
- SYSDBA Passwort
die Zeiten, dass masterkey das Out-off-the-box Passwort für firebird war sind lange vorbei. Vielmehr befindet sich das im Rahmen der Installation frisch erzuegte Passwort des Datenbank Administrator in der der /opt/firebird/SYSDBA.password
- Infos über verbundene Clients erhalten
netstat --numeric -p | grep fb_inet // anzeigen aller an firebird connectierten // (eigentlich fb_inet_server, jedoch wird der volle Name oft durch // netstat abgeschnitten) ps -A | grep fb // anzeigen aller firebird - Prozesse lsof <firebirddatenbankdatei> // anzeigen aller User auf einer firebird Datenbank lsof -p <PID eines fb_inet_servers> // anzeigen der Dateien, die der Prozess offen hat // es wird auch angegeben wer (welcher remote) connectiert ist.
/opt/interbase/bin/ibmgr -shut -user "SYSDBA" -password "masterkey" /opt/interbase/bin/ibmgr -start -forever
Wohin mit den gdbs? Am besten in eine "Freigabe" wo alle alle Zugriff haben. Alle User sollten raus aus der DB, dann einfach die gdb von der PC-Welt auf die Unix-Welt verschieben! die <ProjektName>.ini ändern, IP-Adresse und datenbank-name auf Linux anpassen (z.B.):
192.168.100.72:/freigabe/HeBuData/HeBu.gdb
Superwichtig: Gross- und Kleinschreibung spielt bei datenbank-Dateinamen wie überhaupt bei linux) eine Rolle. Erst hinter dem samba-Maske ist es wieder egal. Ev. Datei/verzeichnisnamen richtig umbenennen.
Es gibt dann ja noch den Datenbank Backup-Pfad aus der Sicht des Servers. Nehmen wird mal wie oben an die Datenbank liegt auf: /freigabe/HeBuData/HeBu.gdb, wir wollen, das dort auch die Backups erzeugt werden, wir müssen dann im HebuAdmin in den Systemeinstellungen schreiben:
DatenbankBackupPfad=/freigabe/HeBuData/ FreigabePfad=H:\HeBuData\
somit kann der Hebuadmin die Sicherungen in das eigene .\Datensicherungs verzeichnis verschieben. Nur so wird auch sichergestellt, dass das Sicherungs verzeichnis auf dem Linux Server nicht überläuft.
Überblick
der neueste Firebird 1.5 liegt nur als Classic Server "CS" vor. Das bedeutet, es läuft kein einzelner Dämon sondern pro Verbindung wird ein Server-Prozess neu gestartet. Die Synchronisation erfolgt über Datei-Locks der jeweiligen Datenbank-Datei. Bei dem Hochstarten der einzelnen Server-Prozesse hilft xinetd (ehemals inetd). Dies ist ein Programm, das dabei Hilft auf einzelnen Ports eines Linux-Systems Dienste anzubieten. Man beschreibt seinen Dienst in einer config-Datei, wenn dann ein Verbindungsversuch auf dem Angegebenen Port Stattfindet startet xinetd das angegebene Programm und leitet die Anfrage an dieses Programm weiter.
-> 8.x === Damit der CS Server nach einem reboot wieder läuft muss xinetd in den Runleveln 3&5 laufen.
7.x === /etc/rc.config START_INETD="yes"
Probleme mit Windows XP SP 2
Langsamer Applikationsstart seit Installation des Windows XP Service Pack 2
Voraussetzung: (Ursächlich ist das Service Pack 2 von Windows XP)
Problem:
Bis zu 10 Sekunden längerer Verbindungsaufbau bei Konnektierung auf den Linux Firebird Classic Server.
Lösung:
Die Firewall des Service-Pack 2 blockiert alle eingehenden Verbindungsversuche von aussen. xinetd versucht bei aktiviertem log_on_success = USERID den erfolgreichen Verbindungsaufbau zum firebird-dienst zu protokollieren. Dazu läuft ein Protokoll ab zur Verifizierung der Benutzer Identität auf Port 113.
mehr Info auf http://grc.com/port_113.htm RFC auf http://www.faqs.org/rfcs/rfc1413.html
Dieser ist geblockt, xinetd gibt nach 3 maligem Versuch auf. log_on_success und log_on_fail sollte entfernt werden, oder auf HOST umgestellt werden:
joe /etc/xinetd.d/firebird // // Folgende beide Zeile so verändern oder ganz auskommentieren // log_on_success = HOST log_on_fail = HOST // ps -A | grep xinetd // merke Dir den PID des xinetd kill -SIGUSR2 <PID des xinetd> // // dadurch wird xinetd gezwungen seine konfiguration neu einzulesen. //
Alternative: Öffnen des Port 113 auf den Windows XP Clients (von mir nicht empfohlen)
sollten Sie schon Windows XP Serivce Pack 2 erhalten haben, so deaktivieren Sie bitte die Anti-Virus Warnung:
Deaktivieren der Virenschutz-Warnmeldung
Start->Systemsteuerung->Sicherheitscenter->Empfehlungen->unteren Haken ankreuzen
es sollte sich folgendes Bild ergeben:
Firewall: aktiv. Automatische Updates: aktiv. Virenschutz: nicht überwacht.
OrgaMon wird geblockt: (wegen Webshop XML-RPC-Port)
siehe Installation.Arbeitsplatz
Firebird : Linux-Server
siehe Installation.Arbeitsplatz