X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2FINSTALL.txt;h=d0d76867eb573ceaee2e0dd5b155ce4b31e4d6a7;hb=1c296e05a8148658c44668166830acbff8a27c20;hp=90ba21b844a8407d82a7fef2aa225d782b125e5b;hpb=7b642ce61e73d9694e23771ca2bea78143996f0f;p=kivitendo-erp.git diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt index 90ba21b84..d0d76867e 100644 --- a/doc/INSTALL.txt +++ b/doc/INSTALL.txt @@ -1,18 +1,32 @@ -Inhaltsverzeichnis -****************** +Table of Contents +***************** Inhalt der Anleitung 1 Aktuelle Hinweise 2 Benötigte Software und Pakete 3 Installation des Programmpaketes 4 Anpassung der PostgreSQL-Konfiguration - 4.1 Änderungen an Konfigurationsdateien - 4.2 Erweiterung für servergespeicherte Prozeduren - 4.3 Datenbankbenutzer anlegen + 4.1 Zeichensätze/die Verwendung von UTF-8 + 4.2 Änderungen an Konfigurationsdateien + 4.3 Erweiterung für servergespeicherte Prozeduren + 4.4 Datenbankbenutzer anlegen 5 Apache-Konfiguration -6 Benutzer und Datenbanken anlegen -7 OpenDocument-Vorlagen -8 Lx-Office ERP verwenden +6 Benutzerauthentifizierung und Administratorpasswort + 6.1 Grundlagen zur Benutzerauthentifizierung + 6.2 Administratorpasswort + 6.3 Authentifizierungsdatenbank + 6.4 Passwortüberprüfung + 6.5 Name des Session-Cookies + 6.6 Anlegen der Authentifizierungsdatenbank +7 Benutzer- und Gruppenverwaltung + 7.1 Zusammenhänge + 7.2 Datenbanken anlegen + 7.3 Gruppen anlegen + 7.4 Benutzer anlegen + 7.5 Gruppenmitgliedschaften verwalten + 7.6 Migration alter Installationen +8 OpenDocument-Vorlagen +9 Lx-Office ERP verwenden Inhalt der Anleitung @@ -56,6 +70,8 @@ Bestandteil einer Standard-Perl-Installation sind: * IO::Wrap (aus dem Paket IO::Stringy) + * PDF::API2 + * YAML * Template @@ -65,7 +81,7 @@ hei Für Debian oder Ubuntu benötigen Sie diese Pakete: - `apache postgresql libdbi-perl libdbd-pg-perl libpgperl + `apache postgresql libdbi-perl libdbd-pg-perl libpg-perl libpdf-api2-perl libclass-accessor-perl libarchive-zip-perl libtext-iconv-perl libyaml-perl libtext-csv-perl libio-stringy-perl libtemplate-perl' @@ -84,6 +100,11 @@ es mit der CPAN-Shell installiert werden. Leider gibt es F denen das nicht möglich oder praktikabel ist. Lx-Office liefert daher das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen. + Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle +benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt: + + `./scripts/installation_check.pl' + 3 Installation des Programmpaketes ********************************** @@ -101,28 +122,67 @@ tar xvzf lxoffice-erp-2.4.x.tgz' Alternativ können Sie auch einen Alias in der Webserverkonfiguration benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen. - Das Verzeichnis muß für den Benutzer beschreibbar sein, unter dem der -Webserver läuft. Dieser ist bei verschiedenen Distributionen -unterschiedlich (z.B. bei Debian/Ubuntu `www-data', bei Fedora core -`apache' oder bei OpenSuSE `wwwrun'). + Die Verzeichnisse `datev', `users', `spool' und `webdav' müssen für +den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die +restlichen Dateien müssen für diesen Benutzer lesbar sein. Der +Benutzername ist bei verschiedenen Distributionen unterschiedlich (z.B. +bei Debian/Ubuntu `www-data', bei Fedora core `apache' oder bei +OpenSuSE `wwwrun'). + + Der folgende Befehl ändert den Besitzer für die oben genannten +Verzeichnisse auf einem Debian/Ubuntu-System: - `chown -R www-data: lx-office-erp/' + `chown -R www-data lx-office-erp/datev lx-office-erp/users +lx-office-erp/spool lx-office-erp/webdav' 4 Anpassung der PostgreSQL-Konfiguration **************************************** PostgreSQL muss auf verschiedene Weisen angepasst werden. -4.1 Änderungen an Konfigurationsdateien +4.1 Zeichensätze/die Verwendung von UTF-8 +========================================= + +Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet werden. +Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in Version 8.0 +oder neuer benutzt werden, und der PostgreSQL-Datenbankcluster muss +ebenfalls mit UTF-8 als Locale angelegt worden sein. + + Dieses ist kann überprüft werden: ist das Encoding der Datenbank +"template1" "UTF8", so kann auch Lx-Office mit UTF-8 betrieben werden. +Andernfalls ist es notwendig, einen neuen Datenbankcluster mit +UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und +Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden: + + `pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 +clustername' + + Die Datenbankversionsnummer muss an die tatsächlich verwendete +Versionsnummer angepasst werden. + + Unter anderen Distributionen gibt es ähnliche Methoden. + + Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist +ein Neuanlegen eines weiteren Clusters nicht möglich, so kann Lx-Office +mit ISO-8850-15 als Encoding betrieben werden. + +4.2 Änderungen an Konfigurationsdateien ======================================= In der Datei `postgresql.conf', die je nach Distribution in verschiedenen Verzeichnissen liegen kann (z.B. `/var/lib/pgsql/data/' oder `/etc/postgresql/', muss sichergestellt werden, dass -TCP/IP-Verbindungen aktiviert sind. Dieser Parameter lautet +TCP/IP-Verbindungen aktiviert sind. Für PostgreSQL vor Version v8.0 +lautete dieser Parameter `TCPIP_SOCKET = 1' + Ab v8.0 wird das Verhalten hingegen über den neuen Parameter +`listen_address' gesteuert. Laufen PostgreSQL und Lx-Office auf +demselben Rechner, so kann dort der Wert `localhost' verwendet werden. +Andernfalls müssen Datenbankverbindungen auch von anderen Rechnern aus +zugelassen werden, was mit dem Wert \`*' geschieht. + Bei PostgreSQL-Versionen ab v8.0 und neuer muss zusätzlich der folgende Parameter gesetzt werden: @@ -144,7 +204,7 @@ zuzulassen. Beispielsweise: host all lxoffice 127.0.0.1 255.255.255.255 password' -4.2 Erweiterung für servergespeicherte Prozeduren +4.3 Erweiterung für servergespeicherte Prozeduren ================================================= In der Datenbank `template1' muss die Unterstützung für @@ -161,7 +221,7 @@ create language 'plpgsql' handler plpgsql_call_handler lancompiler Distribution zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu befindet sie sich unter `/usr/lib/postgresql/lib/plpgsql.so'. -4.3 Datenbankbenutzer anlegen +4.4 Datenbankbenutzer anlegen ============================= Wenn Sie nicht den Datenbanksuperuser "postgres" zum Zugriff benutzen @@ -207,40 +267,288 @@ Option in die Konfiguration aufzunehmen: `EnableSendfile Off' -6 Benutzer und Datenbanken anlegen -********************************** +6 Benutzerauthentifizierung und Administratorpasswort +***************************************************** + +Informationen über die Einrichtung der Benutzerauthentifizierung, über +die Verwaltung von Gruppen und weitere Einstellungen + +6.1 Grundlagen zur Benutzerauthentifizierung +============================================ + +Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die +im folgenden "Authentifizierungsdatenbank" genannt wird. Für jeden +Benutzer kann dort eine eigene Datenbank für die eigentlichen +Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen +aber nicht unterschiedlich sein. + + Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank, +in der sowohl die Benutzerinformationen als auch die Daten abgelegt +werden. + + Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter +entweder gegen die Authentifizierungsdatenbank oder gegen einen +LDAP-Server überprüft werden. + + Welche Art der Passwortüberprüfung Lx-Office benutzt und wie +Lx-Office die Authentifizierungsdatenbank erreichen kann, wird in der +Konfigurationsdatei `config/authentication.pl' festgelegt. Diese muss +bei der Installation und bei einem Upgrade von einer Version vor v2.6.0 +angelegt werden. Eine Beispielkonfigurationsdatei +`config/authentication.pl.default' existiert, die als Vorlage benutzt +werden kann. + +6.2 Administratorpasswort +========================= + +Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt +wird, wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort +und nicht mehr im Administrationsinterface selber geändert werden. Der +Parameter dazu heißt `$self->{admin_password}'. + +6.3 Authentifizierungsdatenbank +=============================== + +Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern +in `$self->{DB_config}' konfiguriert. Hier sind die folgenden Parameter +anzugeben: + + * `host' - Der Rechnername oder die IP-Adresse des Datenbankservers + + * `port' - Die Portnummer des Datenbankservers, meist 5432 + + * `db' - Der Name der Authentifizierungsdatenbank + + * `user' - Der Benutzername, mit dem sich Lx-Office beim + Datenbankserver anmeldet (z.B. "postgres") + + * `password' - Das Passwort für den Datenbankbenutzer + + Die Datenbank muss noch nicht existieren. Lx-Office kann sie +automatisch anlegen (mehr dazu siehe unten). + +6.4 Passwortüberprüfung +======================= + +Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die +Authentifizierungsdatenbank und gegen einen externen LDAP- oder +Active-Directory-Server. Welche davon benutzt wird, regelt der +Parameter `$self->{module}'. -Nach der Installation müssen Benutzer und Datenbanken angelegt werden. -Dieses geschieht im Administrationsmenü, dass Sie unter folgender URL -finden: + Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank +gespeichert werden, so muss der Parameter `$self->{module}' den Wert +`DB' enthalten. In diesem Fall können sowohl der Administrator als auch +die Benutzer selber ihre Psaswörter in Lx-Office ändern. + + Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt +werden, so muss der Parameter `$self->{module}' auf `LDAP' gesetzt +werden. In diesem Fall müssen zusätzliche Informationen über den +LDAP-Server in `$self->{LDAP_config}' angegeben werden: + + * `host' - Der Rechnername oder die IP-Adresse des LDAP- oder + Active-Directory-Servers. Diese Angabe ist zwingend erforderlich. + + * `port' - Die Portnummer des LDAP-Servers; meist 389. + + * `tls' - Wenn Verbindungsverschlüsselung gewünscht ist, so diesen + Wert auf `1' setzen, andernfalls auf `0' belassen + + * `attribute'' - Das LDAP-Attribut, in dem der Benutzername steht, + den der Benutzer eingegeben hat. Für Active-Directory-Server ist + dies meist `sAMAccountName', für andere LDAP-Server hingegen + `uid'. Diese Angabe ist zwingend erforderlich. + + * `base_dn' - Der Abschnitt des LDAP-Baumes, der durchsucht werden + soll. Diese Angabe ist zwingend erforderlich. + + * `filter' - Ein optionaler LDAP-Filter. Enthält dieser Filter das + Wort `<%login%>', so wird dieses durch den vom Benutzer + eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum + nach einem Element durchsucht, bei dem das oben angegebene Attribut + mit dem Benutzernamen identisch ist. + + * `bind_dn' und `bind_password' - Wenn der LDAP-Server eine + Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist + dies bei Active-Directory-Servern der Fall), so kann diese hier + angegeben werden. Für Active-Directory-Server kann als `bind_dn' + entweder eine komplette LDAP-DN wie z.B. `cn=Martin + Mustermann,cn=Users,dc=firmendomain' auch nur der volle Name des + Benutzers eingegeben werden; in diesem Beispiel also `Martin + Mustermann'. + +6.5 Name des Session-Cookies +============================ + +Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt +werden, so müssen die Namen der Session-Cookies für alle Installationen +unterschiedlich sein. Der Name des Cookies wird mit dem Parameter +`$self->{cookie_name}' gesetzt. + + Diese Angabe ist optional, wenn nur eine Installation auf dem Server +existiert. + +6.6 Anlegen der Authentifizierungsdatenbank +=========================================== + +Nachdem alle Einstellungen in `config/authentication.pl' vorgenommen +wurden, muss Lx-Office die Authentifizierungsdatenbank anlegen. Dieses +geschieht automatisch, wenn Sie sich im Administrationsmodul anmelden, +das unter der folgenden URL erreichbar sein sollte: + + `http://localhost/lx-erp/admin.pl' + +7 Benutzer- und Gruppenverwaltung +********************************* + +Nach der Installation müssen Benutzer, Gruppen und Datenbanken angelegt +werden. Dieses geschieht im Administrationsmenü, dass Sie unter +folgender URL finden: `http://localhost/lx-erp/admin.pl' - Zuerst muss eine Datenbank angelegt werden, anschließend ein -Benutzer. Verwenden Sie für den Datenbankzugriff den eben angelegten -Benutzer "lxoffice". + Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei +`config/authentication.pl' eingetragen haben. + +7.1 Zusammenhänge +================= + +Lx-Office verwendet eine Datenbank zum Speichern all seiner +Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um +mit Lx-Office arbeiten zu können, muss eine Person einen +Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine +Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist +möglich und normal, dass mehreren Benutzern die selbe Datenbank +zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können. + + Die Basisdaten der Benutzer, die in der Administration eingegeben +werden können, werden in einer zweiten Datenbank gespeichert, der +bereits erwähnten Authentifizierungsdatenbank. Diese ist also den +Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro +Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank, +aber beliebig viele Datenbanken mit Firmendaten. + + Lx-Office lann seinen Benutzern Zugriff auf bestimmte +Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht +gestattet, so werden der entsprechenden Menüpunkte auch nicht +angezeigt. Diese Rechte werden ebenfalls in der +Authentifizierungsdatenbank gespeichert. + + Um Rechte verteilen zu können, verwendet Lx-Office ein +Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche +erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder +mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen +Funktionen, die mindestens einer Gruppe erlaubt sind, in der der +Benutzer Mitglied ist. + + Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer +angelegt werden sollten, lautet: + + 1. Datenbank anlegen + + 2. Gruppen anlegen + + 3. Benutzer anlegen + + 4. Benutzer den Gruppen zuordnen + +7.2 Datenbanken anlegen +======================= + +Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den +Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen +ist dies `lxoffice'). Wenn Sie für die Lx-Office-Installation nicht den europäischen Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so -müssen Sie vor dem Anlegen der Datenbank in der Datei "lx-erp.conf" die -Variable `$dbcharset' auf den Wert "UTF-8" setzen. Zusätzlich muss beim -Anlegen der Datenbank "UTF-8 Unicode" als Schriftsatz ausgewählt werden. - -7 OpenDocument-Vorlagen +müssen Sie vor dem Anlegen der Datenbank in der Datei +`config/lx-erp.conf' die Variable `$dbcharset' auf den Wert `UTF-8' +setzen. Zusätzlich muss beim Anlegen der Datenbank `UTF-8 Unicode' als +Schriftsatz ausgewählt werden. + + Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz +verwenden müssen, da diese Einstellungen momentan global in Lx-Office +vorgenommen wird und nicht nach Datenbank unterschieden werden kann. +Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz +angelegt worden sein. + +7.3 Gruppen anlegen +=================== + +Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name +gegeben werden, eine Beschreibung ist hingegen optional. Nach dem +Anlegen können Sie die verschiedenen Bereiche wählen, auf die +Mitglieder dieser Gruppe Zugriff haben sollen. + + Benutzergruppen sind unabhängig von Datenbanken, da sie in der +Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle +Datenbanken, die in dieser Installation verwaltet werden. + +7.4 Benutzer anlegen +==================== + +Beim Anlegen von Benutzern werden für viele Parameter +Standardeinstellungen vorgenommen, die den Gepflogenheiten des +deutschen Raumes entsprechen. + + Zwingend anzugeben sind der Loginname sowie die komplette +Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die +Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort +gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung +aktiv, so ist das Passwort-Feld deaktiviert. + + In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben +angelegten Datenbanken eingetragen werden. + +7.5 Gruppenmitgliedschaften verwalten +===================================== + +Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen +zugewiesen werden. Dazu gibt es zwei Möglichkeiten: + + 1. In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden + Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen. + + 2. In der Gruppenverwaltung wählt man das Tool zur Verwaltung der + Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im + System angelegten Gruppen und Benutzer enthält. Durch Setzen der + Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in + der ausgewählten Spalte hinzugefügt. + +7.6 Migration alter Installationen +================================== + +Wenn Lx-Office 2.6.0 über eine ältere Version installiert wird, in der +die Benutzerdaten noch im Dateisystem im Verzeichnis `users' verwaltet +wurden, so bietet Lx-Office die Möglichkeit, diese Benutzerdaten +automatisch in die Authentifizierungsdatenbank zu übernehmen. Dies +geschieht, wenn man sich nach dem Update der Installation das erste Mal +im Administrationsbereich anmeldet. Findet Lx-Office die Datei +`users/members', so wird der Migrationsprozess gestartet. + + Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten +können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch +die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt wird. +Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office gewährt. +Alle migrierten Benutzern werden Mitglied in dieser Gruppe. Damit wird +das Verhalten von Lx-Office bis Version 2.4.3 inklusive +wiederhergestellt, und die Benutzer können sich sofort wieder anmelden +und mit dem System arbeiten. + +8 OpenDocument-Vorlagen *********************** Lx-Office unterstützt die Verwendung von Vorlagen im OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von -OpenDocument-Vorlagen zu aktivieren muss in der Datei "lx-erp.conf" die -Variable `$opendocument_templates' auf "1" stehen. Dieses ist die -Standardeinstellung. +OpenDocument-Vorlagen zu aktivieren muss in der Datei +`config/lx-erp.conf' die Variable `$opendocument_templates' auf `1' +stehen. Dieses ist die Standardeinstellung. - Weiterhin muss in der Datei "lx-erp.conf" die Variable `$dbcharset' -auf die Zeichenkodierung gesetzt werden, die auch bei der Speicherung -der Daten in der Datenbank verwendet wird. Diese ist in den meisten -Fällen "ISO-8859-15". + Weiterhin muss in der Datei `config/lx-erp.conf' die Variable +`$dbcharset' auf die Zeichenkodierung gesetzt werden, die auch bei der +Speicherung der Daten in der Datenbank verwendet wird. Diese ist in den +meisten Fällen "ISO-8859-15". Während die Erzeugung von reinen OpenDocument-Dateien keinerlei weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF @@ -249,9 +557,9 @@ neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer" (xvfb) installiert werden. Bei Debian ist er im Paket "xvfb" enthalten. Andere Distributionen enthalten ihn in anderen Paketen. - Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere -Variablen angepasst werden: `$openofficeorg_writer_bin' muss den -vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten. + Nach der Installation müssen in der Datei `config/lx-erp.conf' zwei +weitere Variablen angepasst werden: `$openofficeorg_writer_bin' muss +den vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten. `$xvfb_bin' muss den Pfad zum "X virtual frame buffer" enthalten. Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit @@ -286,7 +594,7 @@ vom Webserver beschreibbar sein. Dieses wurde in Schritt `Installation des Programmpakets' oben bereits erledigt, kann aber erneut überprüft werden, wenn die Konvertierung nach PDF fehlschlägt. -8 Lx-Office ERP verwenden +9 Lx-Office ERP verwenden ************************* Nach erfolgreicher Installation ist der Loginbildschirm unter folgender