devcorner.schlenker-webdesign.de > Unix > OpenOffice und PostgreSQL auf FreeBSD
Home Unix LaTeX WWW Print
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

Screenshot

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).

Screenshot mit Datenquellen
/dev/corner news
Visitenkarten mit LaTeX (27.10.2004)
X.org unter FreeBSD 5.2.1 (25.07.2004)
Kurzanleitung OpenOffice.org und MySQL (SuSE) (14.05.2004)
Neues Howto -- OpenOffice.org und PostgreSQL (FreeBSD) (02.05.2004)
Tip des Tages (FreeBSD) -- Multisession Datensicherung quick and dirty (18.04.2004)
Tip des Tages (Linux/Unix) -- Wörterbuch auf Tastaturshortcut (18.02.2004)
Werbung
Christall Folientechnik – Kastenhauben und technische Folien in Sondergrößen
Cycle-Sport GmbH Heilbronn – Ihr Spezialist für sportliche Mountainbikes
www.getriebeteile.com – Ihre günstige Quelle für Ersatzteile von PKW-Getrieben
Impressum · Mattias Schlenker · 04275 Leipzig · · ms@mattiasschlenker.de · 02.04.06, 14:49:46