YajHFC für kleine Arbeitsgruppen einrichten


Diese Anleitung beschreibt, wie sich YajHFC für kleine Arbeitsgruppen so einrichten lässt, dass der gelesen/ungelesen-Status in einer zentralen Datenbanktabelle abgelegt wird. Außerdem wird die Einrichtung eines gemeinsamen Telefonbuchs in der Datenbank beschrieben.

Als Datenbankserver wird in dieser Anleitung PostgreSQL (in der Version 8.1) verwendet.
YajHFC unterstützt auch andere SQL-konforme Datenbankserver wie z.B. MySQL oder Apache Derby, die ebenfalls verwendet werden können. In diesem Fall weichen natürlich die Einrichtung des Datenbankservers und die genauen JDBC-Einstellungen von dieser Anleitung ab. Für diesen Fall ist weiter unten die nötige Struktur der Datenbanktabellen zu finden.

A. Auf dem Server

Die hier beschriebenen Kommandos beziehen sich auf Debian/Ubuntu. Andere Distributionen sollten aber grundsätzlich ähnlich zu handhaben sein.

  1. PostgreSQL installieren: Falls noch nicht geschehen, muss zunächst PostgreSQL installiert werden.
    Unter Debian/Ubuntu kann dies mittels aptitude install postgresql geschehen.
  2. PostgreSQL konfigurieren:

    Im nächsten Schritt muss PostgreSQL so konfiguriert werden, dass aus dem Netzwerk ein Zugriff mittels Benutzername+Passwort möglich ist.

    Dazu müssen die Dateien pg_hba.conf und postgresql.conf modifiziert werden. Unter Debian/Ubuntu sind diese in /etc/postgresql/<version>/main zu finden, unter OpenSUSE unter /var/lib/pgsql/data. Bei anderen Distributionen können diese Dateien natürlich auch in anderen Verzeichnissen zu finden sein.

    In der pg_hba.conf sollte folgender Eintrag vorhanden sein/hinzugefügt werden:

     host    all     all     192.168.X.0/24                 md5 

    192.168.X.0/24 muss dabei durch die Adressen des lokalen Netzwerks in CIDR-Notation ersetzt werden.
    Das heißt: Wenn Sie in Ihrem Netzwerk beispielsweise IP-Adressen aus dem Bereich 192.168.115.X verwenden, muss hier 192.168.115.0/24 eingetragen werden.

    In der postgresql.conf muss schließlich eingestellt werden, dass der PostgreSQL-Server auch auf dem externen Netzwerkinterface "hört". Dazu ist folgender Eintrag nötig:

     listen_addresses = '*' 

    Abschließend muss der Datenbankserver neu gestartet werden, damit die geänderten Einstellungen wirksam werden:

     /etc/init.d/postgresql restart 
  3. Anlegen der Datenbank:

    Dazu wechselt man zunächst die Benutzeridentität zu dem bei der Installation angelegten PostgreSQL-Nutzer:

     su postgres 

    Danach wird eine Datenbank für YajHFC angelegt:

     createdb yajhfc 

    Schließlich werden mit Hilfe des hier verfügbaren Skripts die nötigen Tabellen und Benutzer angelegt. Dieses Skript erstellt einen Datenbankbenutzer namens "fax" mit Passwort "fax". Falls weitere Benutzer bzw. ein anderes Passwort (empfohlen) gewünscht ist, bitte das Skript editieren, bevor das folgende Kommando eingegeben wird.
    Zum Anlegen der Tabellen kopiert man das createdb.sql-Skript auf den Server und gibt (als Benutzer postgres) folgenden Befehl ein:

     psql yajhfc -f createdb.sql 

B. Einrichtung von YajHFC

  1. Download des PostgreSQL JDBC-Treibers: http://jdbc.postgresql.org/download.html. (Falls Sie unsicher sind: Der JDBC3-Treiber sollte in den meisten Fällen der richtige sein.)

  2. Starten Sie YajHFC, öffnen das Optionen-Dialogfeld, fügen Sie die soeben heruntergeladene JAR-Datei als JDBC-Treiber hinzu (Optionen->Plugins & JDBC->JDBC-Treiber hinzufügen) und klicken Sie "OK".

    Plugins & JDBC Tab
  3. Öffnen Sie das Optionendialogfeld erneut, stellen Sie den Speicherort unter Server->Gelesen/Ungelesen-Status der Faxe auf "Datenbanktabelle" und klicken Sie "Konfigurieren...".

    Server Tab
  4. Im erscheinenden Konfigurationsdialogfeld Folgendes einstellen:

    Konfigurationsdialogfeld

    In der Datenbank-URL muss hylafax-test durch den Hostnamen des Datenbankservers ersetzt werden.
    Beispiel: Wenn der Datenbankserver server heißt, muss die URL lauten: jdbc:postgresql://server/yajhfc

    Die anderen Einstellungen können ohne Änderungen übernommen werden (sofern der Server nach der obigen Anleitung eingerichtet wurde).

    Anmerkung: "Verbindung testen" sollte hier erfolgreich sein.

  5. Schließen Sie alle Dialogfelder mit "OK".
  6. Telefonbuch aufrufen und den Menüpunkt Telefonbuch->Zu Liste hinzufügen->JDBC-Telefonbuch auswählen. Im erscheinenden Dialogfeld Folgendes einstellen und OK klicken:

    Konfigurationsdialogfeld

    Auch hier muss die Datenbank-URL wie oben modifiziert werden (die zu verwendende URL ist in beiden Fällen die selbe).

    Anmerkung: Auch hier sollte "Verbindung testen" erfolgreich sein.

  7. Fertig!

Nötige Tabellenstruktur

Falls Sie die Datenbanktabellen von Hand erstellen möchten, sind die nötigen Tabellen und Felder wie folgt:

Tabelle, um den gelesen/ungelesen-Status zu speichern:

Feld Datentyp
Fax-Dateiname         Text ("variable length character data"), sollte Platz für mindestens 20 Zeichen haben (z.B. VARCHAR(20)). Dieses Feld sollte der Primärschlüssel der Tabelle sein.
Gelesen/Ungelesen-Status Ein logischer/boolescher Wert (BOOLEAN/LOGICAL)
Kommentar Text (variable Länge), z.B. VARCHAR(200)
Zuletzt geändert Timestamp (Datum+Zeit)

Tabelle für das Telefonbuch:

Ein Datenbankfeld für jedes Telefonbuchfeld. Der Datentyp aller Felder ist Text ("variable length character data"); sollte "groß genug" sein, das heißt Platz für 30-40 Zeichen (z.B. VARCHAR(40)).
Für das Kommentarfeld ist es zu empfehlen, ein Textfeld beliebiger Länge zu verwenden (d.h. ein TEXT/MEMO field).


Erstellt von: Jonas Wolz

Letzte Änderung: Thursday, 27-Aug-2020 18:04:34 CEST