Achtung

Das Kontor Programm entspricht nicht dem heutigen Stand !

Wer Probleme mit einer neueren libc (/lib/i386/native_threads/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference) sollte folgendes probieren:

a) Ausführen der Zeilen:

gcc -O2 -shared -o /tmp/libcwait.so -fpic -xc - <<\EOF

#include <errno.h>

#include <sys/syscall.h>

#include <sys/types.h>

#include <sys/wait.h>

pid_t

__libc_wait (int *status)

{

int res;

asm volatile ("pushl %%ebx\n\t"

"movl %2, %%ebx\n\t"

"movl %1, %%eax\n\t"

"int $0x80\n\t"

"popl %%ebx"

: "=a" (res)

: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0),

"S" (0));

return res;

}

EOF

 

und kopieren von /tmp/libcwait.so nach z.B. /opt/kontor/

Zum Starten von kontor dient dann folgendes Skript:

#!/bin/sh

cd /opt/kontor/IoS/kontor/bin

export LD_PRELOAD=/opt/kontor/libcwait.so

export LD_ASSUME_KERNEL=2.4.2

. ./kontor.menu

 

Allerdings sollte man sich wirklich nach einem neuen Programm umsehen ......





Kontor-Installer Version 00-1
Teil 1

Christoph Langbein

21.11.2002


Inhalt

  • 1 Short introduction
  • 2 Einführung
  • 3 Anmerkung
  • 4 Voraussetzungen
  • 5 Linux-Kontor kompilieren und installieren
  • 6 Konfiguration
  • 7 Erstellung der Datenbank
  • 8 Client Konfiguration
  • 9 Clean up the compiled stuff
  • 10 Nachwort
  • 11 Todo



    1 Short introduction

    This documentation discusses the installation of Linux-Kontor with postgresql generally. My experiences with the kontor mailinglist are that most people who want to install kontor are from germany. So I thought it's better to write this stuff in german than in english. So far, if there is anyone who wants this documentation to have been ported to the english language let me know.



    2 Einführung

    2.1 Worum geht es ?

    Dieses Dokument beschreibt die Installation von Linux-Kontor in Grundzügen. Mehr Informationen über das Programm sind unter http://www.linux-kontor.de zu finden. Es ist nicht ganz ein HowTo und nicht ganz eine Programmbeschreibung, auch keine README ....

    2.2 Wieso dieses Dokument geschrieben wurde

    Auf der Suche nach einem Rechnungsprogramm für Linux habe ich einige Enttäuschungen erlebt. Entweder die Programme sind nicht frei oder aber benutzten Datenbanken, die nicht frei verfügbar sind. Nach langer Suche fand ich Linux-Kontor. Die Beschreibung des Programms weckte mein Interesse und ich versuchte mich an der Installation. Mehrere Versuche schlugen fehl, das Programm lief nicht, es gab Probleme mit der von mir eingesetzten Postgresql Datenbank, bzw. mit der grafischen Darstellung des Programms. Auch die Suche im Internet, sowie das Studium des Kontor Forums brachten mich nicht weiter.
    Irgendwann schaffte ich es dann doch Linux-Kontor zu installieren. Da ich das Programm auf mehreren Rechnern einsetzen und konfigurieren wollte, schrieb ich ein Installationsskript, auf dem dieses Howto aufgebaut ist.

    2.3 Was dieses Dokument bezweckt

    Dieses Howto soll helfen, Linux-Kontor nach dem heutigen Stand zu konfigurieren und zu installieren. Als Datenbank wird Postgresql 7.2.1 benutzt. Es scheint große Probleme beim Umstieg von Postgresql 6.x auf 7.2.x im Zusammenhang mit Linux Kontor zu geben. Daher wurden Teile des Programms neu geschrieben um Postgresql 7.2.x zu unterstützen. Daher benutzen wir in diesem Howto auch die CVS Version des Programms.

    2.4 Was dieses Dokument nicht ist

    Es ist ganz einfach nur ein Dokument, kein Script, welches einem die Arbeit abnimmt. Alle Schritte müssen vom Benutzer selbst ausgeführt werden.

    2.5 Plattformen

    Das vorliegende HowTo beruht auf der Debian Distribution woody. Es sollte jedoch auf allen anderen Linux Distributionen mit installiertem jdk1.1 funktionieren.
    Die Installationsskripte funktionieren leider nicht unter BSD.

    2.6 Copyright Informationen

    Dieses Dokument ist Copyright (c) 2002 by Christoph Langbein und ist unter den Bedingungen der GNU Free Dokument License veröffentlicht. Dies bedeutet, dass dieser Text sowohl in elektronischer wie auch physikalischem Weg verbreitet werden darf, solange der Copyright Vermerk nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und erwünscht. Bei Veröffentlichung ist dies dem Autor mitzuteilen.

    2.7 Haftungsausschlussklausel

    Der Autor lehnt jegliche Haftung für das Resultat der Anwendung dieses Dokuments ab. Dies schließt auch Datenverluste infolge von eventuellen Fehlern in diesem Dokument mit ein. Die Anwendung erfolgt auf eigenes Risiko und Gefahr. Bei der Installation werden einige Schritte als root ausgeführt, die eingesetzten Skripte sind noch im Beta Stadium. Somit ist Vorsicht bei der Installation geboten.
    Es wird dringend angeraten die aufgeführten Prozeduren erst auf einem Testsystem auszuprobieren um die gewünschte Funktionalität zu prüfen.

    2.7.1 Testing

    Ich habe mich bemüht, die Schritte dieser Dokumentation auf mehreren Systemen zu testen. Trotzdem würde ich mich über Feedback gerade von rpm basierenden Distributionen freuen.

    2.8 Neueste Version dieses Dokuments

    Die neueste Version dieses Dokuments ist jeweils auf der Website http://www.bytesitter.de zu finden.

    2.9 Übersetzungen

    Im Moment ist dieses Dokument nur auf Deutsch verfügbar. Übersetzungen in andere Sprachen sind immer willkommen. Bitte lassen Sie es mich wissen, wenn Sie dieses Dokument übersetzt haben, damit hier ein Link eingefügt werden kann.



    3 Anmerkung

    Es kann einige Zeit dauern. Vor der Installation sollte man sich evtl. einen Kaffee kochen, seinen Jolt Vorrat auffrischen .... und nicht verzweifeln:)




    4 Voraussetzungen

    4.1 Generell

    • laufendes System :)
    • installierte Postgresql Datenbank 7.2.x
    • Java Development Kit 1.1.x (nicht Java Runtime Enviroment)
    • Kontor-Installer Skripte
    • postgresql jdbc Treiber für jdk 1.1.x
    • swingall.jar
    • dialog Version >= 0.9

    4.2 Keine Panik

    4.2.1 laufendes System

    Ich denke hierzu ist nicht viel zu sagen.

    4.2.2 Postgresql

    Unter Debian installiert man Postgresql mit dem Befehl apt-get

    $ apt-get install postgresql postgresql-contrib
    bei anderen Distributionen sollte man sich das *.rpm Paket besorgen und mit

    $ rpm -i postgresqlPaket.rpm
    installieren. Zur Verwaltung der Datenbank eignet sich das Webmin-Modul für Postgresql.

    4.2.3 Java Development Kit 1.1.x

    Unter Debian müssen das Standard und das Development Paket installiert werden

    $ apt-get install jdk1.1 jdk1.1-dev
    unter anderen Distributionen muss evtl. die jdk1.1 Version bei Sun heruntergeladen und installiert werden. Ein Aufruf von

    $ javac
    sollte mit einigem Output belohnt werden,

    bash: javac: command not found
    heisst soviel, dass kein java compiler zur Verfügung steht.

    4.2.4 Kontor-Installer Skripte

    Die Kontor Installer Skripte kann man unter http://www.bytesitter.de in der Download Sektion herunterladen. Die Skripte werden mit dem Kommando

    $ tar xzf kontor-installerxx-x.tar.gz
    entpackt. Dabei ist xx-x mit der aktuellen Versionsnummer zu ersetzen. Zum aktuellen Zeitpunkt heißt die Datei kontor-installer00-1.tar.gz und wird mit

    $ tar xzf kontor-installer00-1.tar.gz
    installiert.

    4.2.5 Postgresql jdbc Treiber für jdk 1.1.x

    In der aktuellen stable Version funktioniert der jdbc Treiber leider nicht. Daher sollte man den Treiber der RC1 Sektion nehmen. Den Treiber kann man unter http://jdbc.postgresql.org/download.html herunterladen.
    Danach wird der Treiber in das kontor-installer Verzeichnis kopiert und in postgresql.jar umbenannt.

    $ cp treibername.jar kontor-installer/postgresql.jar
    wobei treibername durch den Namen der heruntergeladenen Datei zu ersetzen ist.

    4.2.6 swingall.jar

    Jetzt wird es etwas kompliziert. Man muss sich die komplette Swing Bibliothek herunterladen. Dies kann man unter http://java.sun.com/products/jfc/download.archive.html#standard . Hier nimmt man am besten das komprimierte tar file. Dieses wird mit dem Befehl

    $ tar xzf swing1_1_1.tar.Z
    entpackt.
    Danach wird die Datei swingall.jar in das kontor-installer Verzeichnis kopiert.

    $ cp swing-1.1.1fcs/swingall.jar kontor-installer/

    4.2.7 keine Panik

    Das waren eigentlich die schwersten Schritte. Weitermachen lohnt sich für jeden, der ein ordentliches und freies Rechnungsprogramm benötigt. Leider ist Linux-Kontor nicht auf dem Stand der neueren jdk's. Somit gestaltet sich die Suche nach den Treibern etwas schwierig.



    5 Linux-Kontor kompilieren und installieren

    5.1 Das Installer Skript

    Als erstes wechselt man in das kontor-installer Verzeichnis

    $ cd kontor-installer
    danach ein su, um root Rechte zu bekommen

    $ su

    Password:
    und dann wird das Installationsskript aufgerufen

    $ ./install

    Jetzt hat man zum letzten mal die Chance, die Installation abzubrechen. Wenn man weitermachen will sollte man sich den Disclaimer durchlesen und mit der linken Pfeiltaste Ja auswählen und Enter drücken.
    Danach öffnet sich das Haptmenü.

    5.2 Get from cvs

    Diese Option ermöglicht es, die aktuelle Version von Linux-Kontor aus dem CVS zu ziehen. Hierfür wird eine aktive Internetverbindung benötigt. Der aktuelle Fortschritt wird auf der Konsole ausgegeben.

    5.2.1 Where to install

    Hier gibt man einfach das Verzeichnis an, wohin Linux-Kontor installiert werden soll. Mein Vorschlag ist Linux-Kontor in /usr/local/kontor oder /opt/kontor zu installieren. Hier gibt es in der Community verschiedene Ansichten und jeder hat dafür seine Gründe. Man entscheide sich wie man will.

    5.2.2 Tomcat

    Nachdem man die nächste(n) Frage(n) beantwortet hat, kommt man zur Frage des Tomcat Verzeichnisses. Diese Frage existiert im Moment nur aus Kompatibilitätszwecken, ich habe es bis jetzt noch nicht geschafft Linux-Kontor über ein Webinterface zum Laufen zu bringen. Hier bekomme ich rmi Fehler. Wer hier helfen kann, bitte mail an christoph@bytesitter.de. Die Eingabe ist im Moment egal, einfach auf default stehen lassen.

    5.2.3 Java Directory

    Hier muss man den absoluten Pfad zu seiner Java Installation angeben. Unter Debian ist dies

    /usr/lib/jdk1.1
    Die Vorgabe von Linux-Kontor sieht /opt/jdk vor, dies dürfte bei den meisten Distributionen nicht der Fall sein. Die Aufforderung eine Taste zu drücken wird nach Sichtung der Kompilierung freudig entgegengenommen. Sollten hier Fehlermeldungen auftauchen, sollte man das Ganze nochmal versuchen und die Frage ``Have you seen any errors'' mit Ja beantworten. Bei mehreren Testinstallationen traten hier jedoch noch keine Probleme auf. Sollte dies trotzdem der Fall sein, sollte man sich die Fehlermeldungen durchlesen und evtl. noch einmal unter 4 die Vorraussetzungen seines Systems prüfen.
    Wenn die ersten Dateien ohne ``Error'' (Warnings are Ok) kompiliert wurden, wählt man Nein und weiter gehts. Die Fragen sollten eindeutig sein. Es scheint jedoch ein Problem mit dem Compiler zu geben, wenn er das Verzeichnis kontor/java kompiliert. Hier läuft der Compiler bei allen Testsystemen über. Mit einem einfachen Retry= Ja kompiliert er aber anstandslos weiter. -> Versuche die Compilerreinstellungen zu ändern waren ohne Erfolg. Hilfe ist erwünscht. :)

    5.3 Make and install from directory

    Wenn man schon eine Version von Linux-Kontor heruntergeladen hat und diese einfach nur kompilieren und installieren will, wählt man diese Aktion aus.

    5.3.1 Kontor source dirctory

    Hier gibt man den absoluten Pfad zu den Sourcen von kontor ein. Zu beachten ist, das der Pfad bis zum IoS Verzeichnis eingegeben wird.

    5.3.2 Where to install

    siehe 5.2.1



    6 Konfiguration

    6.1 Server Konfiguration

    Die Auswahl ``Configure the server'' dient zur Konfiguration des Servers. Als erstes ist hier der Pfad anzugeben in dem Kontor installiert wurde. Der Name des Kontor Servers ist der Name oder die IP des Rechners auf dem der Server laufen soll.

    6.2 Datenbank

    6.2.1 Postgresql

    Die Auswahl der Datenbank ist im Moment relativ einfach, da nur Postgresql !!!! unterstützt wird. Sollte jemand eine andere Datenbank einsetzen und Interesse zum Testen haben, bitte eine mail an christoph@bytesitter.de. Danach sind der Servername der Datenbank, der Datenbank-Name, sowie Benutzername und Passwort der Datenbank anzugeben.

    6.3 Java Directory

    Hier ist wieder der Pfad zum Java Verzeichnis anzugeben.



    7 Erstellung der Datenbank

    Die Erstellung der Datenbank wird mit less angezeigt, damit alle evtl. Fehler eingesehen werden können. Mit ``q'' wird less beendet. Die Erstellung sollte ohne Probleme vor sich gehen. Ansonsten sollte man sich nochmal mit 6.1 versuchen.



    8 Client Konfiguration

    Die Auswahl ``Configure the client'' dient zur Konfiguration des Clients. Als erstes ist hier der Pfad anzugeben in dem Kontor installiert wurde. Der Unterschied zwischen Client und Server besteht darin, das auf dem Client der Server nicht gestartet wird und der Client auf den Rechner mit dem laufenden Server zugreift.

    8.1 Kontor Servername

    Hier ist die IP oder der Name des Rechners anzugeben, auf dem der Kontor Server läuft.

    8.2 Datenbank

    8.2.1 Postgresql

    Momentan die einzige von den Installer Skripten unterstützte Datenbank. Also Postgresql auswählen :)

    8.3 Java Directory

    Hier ist wieder der Pfad zum Java Verzeichnis anzugeben.

    8.4 Printer Command

    Hier hat man die Möglichkeit Einstellungen für seinen Drucker zu ändern.

    8.4.1 Drucker am Server mit Cups

    Will man von einem Client aus mit Cups auf dem Drucker des Servers drucken, so gibt man hier

    lp -h IpAddresseServer -c DruckerName
    ein. IpAdresseServer ist gleich der IP des Cups Servers z.B. 192.168.2.20 und DruckerName z.B. MeinDrucker. Der Druckername und -c müssen bei nur einem Drucker nicht explizit angegeben werden.

    8.4.2 lokaler Client Drucker

    Der vorgegebene Befehl lp reicht aus, um auf dem Clientseitigen Drucker zu drucken.



    9 Clean up the compiled stuff

    Ist mehr zum Testen, danach muss man auf alle Fälle neu kompilieren .....



    10 Nachwort

    Bei Fehlern sollte man nicht gleich verzweifeln. Die Dokumentationen im Netz sind leider sehr gering oder veraltet. Ich denke jedoch, je mehr Linux-Kontor einsetzen und evtl. auch aktiv daran teilhaben, desto mehr entwickelt sich Kontor weiter. Vielleicht sogar zu einem aktuelleren jdk.



    11 Todo

    • Beschreibung zum Erstellen von Benutzern und Datenbank in Postgresql
    • Benutzen anderer Datenbanken als Postgresql
    • Tomcat ? wenn möglich. Linux-Kontor basiert auf tomcat3.1.1 und das ist lange her
    • Kontor, OpenOffice und ODBC wird ein eigenes Dokument
    • Übersetzung
    • bessere Server/Client-Konfiguration
    • Erstellung von Templates(eigenes Dokument)
    • init Skripte für den Server
    • Mailserver Konfiguration
    Das komplette Dokument kann unter http://www.bytesitter.de in der Sektion Download als pdf heruntergeladen werden.