Diese Seite wurde am 1. April 2006 vorübergehend auf
statisch umgestellt. Einige der vorgestellten Tutorials sind veraltet,
Links tot und die Zeitangaben stimmen auch nicht. Im Laufe
der nächsten Monate wird eine überarbeitete Seite folgen, auf die dann
weitergeleitet wird.
OpenOffice und PostgreSQL auf FreeBSD
Wer von StarOffice auf OpenOffice umgestiegen ist, wird sicher die bisher in StarOffice integrierte Datenbank für Adressen und ähnliches vermissen. Neuere Versionen von StarOffice füllen diese Lücke dadurch, daß sie eine Einzelplatzlizenz für Adabas mitliefern. Wer nun mit mehreren Nutzern auf einer Datenbasis arbeiten möchte, kommt um die Installation einer freien Datenquelle nicht herum. Wir haben dazu einmal PostgreSQL 7.4 auf FreeBSD 4.9 und 5.2.1 zusammen mit OpenOffice.org 1.1.0 durchgespielt und sagen, wie Sie beides miteinander nutzen können.
Benötigte Software
Die folgenden Pakete müssen auf Ihrem System installiert sein. Beachten Sie, daß unixODBC unbedingt nach postgresql7 installiert werden muß:
- databases/postgresql7
- databases/unixODBC
- editors/openoffice-1.1
Nach der Installation von PostgreSQL 7 muß unbedingt das initdb-Script laufen:
su -l pgsql -c initdb.
Anschließend kann der PostgreSQL-Server gestartet werden:
/usr/local/etc/rc.d/010.pgsql.sh start
Entgegen den post-install-notes muß kein SQL-Script für die ODBC-Kompatibilität eingelesen werden.
Einrichtung der PostgreSQL
Unmittelbar nach der Installation befindet sich PostgreSQL in einem sehr offenen Zustand. Diesen gilt es abzudichten:
- Der PostgreSQL-Standardnutzer bekommt ein Passwort
- Ein Nutzer für die Adressdatenbank wird angelegt
- Die Adressdatenbank wird angelegt
- PostgreSQL wird auf TCP/IP-Socket umgestellt
- Zugriffsrechte werden gesetzt
Ein Passwort für den Standardnutzer
Um dieses zu setzen, verbindet man sich zunächst mit dem Server
psql -U pgsql template1
Es folgt der PSQL-Prompt, an dem man das Passwort in etwas eigenwilliger Syntax ändern kann:
ALTER USER pgsql PASSWORD 'hundeschnauze';
Ein Nutzer für die Adressdatenbank
Immer noch am PSQL-Prompt gibt man dazu ein:
CREATE USER bueroteam PASSWORD 'geheim';
Anlegen der Datenbank
Der zunächst letzte Befehl am Prompt erstellt nun die Adressdatenbank zur späteren Nutzung mit OpenOffice.org:
CREATE DATABASE kundendaten OWNER bueroteam;
Umstellung auf TCP/IP
Diese wird in der Datei ~pgsql/data/postgresql.conf vorgenommen. Meine Änderungen an dieser Datei bestehen im wesentlichen aus der Zugriffsbeschränkung auf den lokalen Socket und dem Zulassen des TCP/IP-Zugriffs. Die von uns veränderten Zeilen sehen so aus. Die Rechtebeschränkung auf dem lokalen Socket hat zur Folge, daß der Start des PostgreSQL-Servers ohne Passwortabfrage möglich ist. Alle anderen Verbindungen erfolgen über TCP/IP.
tcpip_socket = true
port = 5432
unix_socket_permissions = 0700 # octal
Setzen der Zuhgriffsrechte auf dem Server
Im nächsten Schritt wird die Datei ~pgsql/data/pg_hba.conf so angepasst, daß nur der Administrator lokal verbinden dürfen. Jeder andere Nutzer
muß sich mit seinem Paßwort authentifizieren:
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all pgsql trust
host all pgsql 127.0.0.1 255.255.255.255 md5
host kundendaten bueroteam 127.0.0.1 255.255.255.255 password
Der darauffolgende Neustart der Datenbank sollte ohne Abfrage des Passwortes möglich sein. Der Befehl
psql -h localhost -U bueroteam kundendaten
zieht jedoch die Abfrage des Passwortes nach sich.
Eingeloggt als bueroteam erstellen Sie nun am besten gleich eine Datenbanktabelle. Es ist sinnvoll, diese für spätere Tests bereitstehen zu haben:
CREATE SEQUENCE "table_seq";
CREATE TABLE adressen (
"id" INTEGER DEFAULT NEXTVAL('table_seq'),
"vorname" VARCHAR(80),
"nachname" VARCHAR(80),
"strasse" VARCHAR(80),
"plz" INTEGER,
"ort" VARCHAR(80),
CONSTRAINT "adressen_pkey" PRIMARY KEY("id")
);
Diese bekommt dann auch gleich drei Datensätze eingetragen:
INSERT INTO adressen (vorname, nachname, strasse, plz, ort)
VALUES ('Käptn', 'Blaubär', 'Am Kanal 13', 123456, 'Hamburch');
INSERT INTO adressen (vorname, nachname, strasse, plz, ort)
VALUES ('Hein', 'Blöd', 'Im Rattenloch 23', 123469, 'Hamburch');
INSERT INTO adressen (vorname, nachname, strasse, plz, ort)
VALUES ('Rosa', 'Bärchen', 'Am Kanal 13', 123456, 'Hamburch');
ODBC konfigurieren
Nachdem PostgreSQL eingerichtet ist, folgt die Konfiguration des ODBC-Treibers. Für diesen müssen zunächst zwei Dateien angepasst werden:
Die Datei /usr/local/etc/odbcinst.ini enthält den Eintrag:
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/local/lib/libodbcpsql.so
Setup = /usr/local/lib/libodbcpsqlS.so
FileUsage = 1
Und die frisch anzulegende Datei ~/.odbc.ini (im Heimatverzeichnis jeden OOo-Nutzers) erhält folgende Zeilen (Beachten Sie, daß bei Protocol die tatsächliche Version Ihrer PostgreSQL angegeben werden muß. Sie ermitteln diese mit pkg_info | grep postgre):
[kundendaten]
ReadOnly = 0
Servername = 127.0.0.1
Database = kundendaten
Port = 5432
Driver = PostgreSQL
Protocol = 7.4.2
UserName = bueroteam
Password =
Nun können Sie mit dem universellen SQL-Terminal isql auf Ihre Datenbank zugreifen:
isql -v kundendaten bueroteam geheim
Klappt der Zugriff, folgt der leichteste Teil:
Hinzufügen der Datenquelle in OpenOffice
Unter Tools -> Data Sources kann nun mit "New Data Source" die PostgreSQL als Datenquelle hinzugefügt werden (Screenshot). Als Treiber ist ODBC auszuwählen, die URL lautet sdbc:odbc:kundendaten. Unter dem Tab "ODBC" ist noch der Nutzername einzufügen und die Checkbox "Password required" anzukreuzen (Screenshot).
Die Datenbank steht nun zum Beispiel für Serienbriefe zur Verfügung ("View -> Data Sources" zeigt die Datenbanken an).
|