a4a209f56d765332d11ed5a841432104cae32180
[kivitendo-erp.git] / doc / INSTALL.texi
1 \input texinfo   @c -*-texinfo-*-
2 @c %**start of header
3 @setfilename INSTALL.info
4 @documentencoding UTF-8
5 @settitle Lx-Office Installationsanleitung
6 @c %**end of header
7
8 @c @copying
9 @c Die Lx-Office Installationsanleitung kann beliebig weiter verwendet
10 @c werden.
11 @c @end copying
12
13 @titlepage
14 @title Lx-Office Installationsanleitung
15 @end titlepage
16
17 @contents
18
19 @ifnottex
20 @node Top
21 @top Inhalt der Anleitung
22 @end ifnottex
23
24 @menu
25 * Aktuelle Hinweise:: Andere Informationsquellen als diese Anleitung
26 * Benötigte Software und Pakete:: Vorraussetzungen zum Betrieb von Lx-Office
27 * Installation des Programmpaketes:: Installationsort, Berechtigungen
28 * Anpassung der PostgreSQL-Konfiguration:: Verschiedene Aspekte der Datenbankkonfiguration
29 * Apache-Konfiguration:: Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
30 * Benutzerauthentifizierung und Administratorpasswort:: Einrichtung der Authentifizierungsdatenbank und der Passwortüberprüfung
31 * Benutzer- und Gruppenverwaltung:: Einrichten von Benutzern, Gruppen und Datenbanken
32 * OpenDocument-Vorlagen:: Wichtige Hinweise zum Erstellen und zur Verwendung von Dokumentenvorlagen
33 * Lx-Office ERP verwenden:: Die URLs zur Anmeldung und Administration
34 @end menu
35
36 @c ---------------------------------------------------------------
37
38 @node Aktuelle Hinweise
39 @chapter Aktuelle Hinweise
40
41 Aktuelle Installations- und Konfigurationshinweise gibt es:
42
43 @itemize
44 @item
45 auf der Lx-Office Homepage unter @uref{http://lx-office.org/index.php?id=dokumentation}
46
47 @item
48 im Lx-Office-Wiki unter Dokumentation (@uref{http://wiki.lx-office.org/index.php/Lx-Office_ERP})
49
50 @item
51 im Lx-Office-Forum: @uref{http://www.lx-office.org/forum/}
52 @end itemize
53
54 @c ---------------------------------------------------------------
55
56 @node Benötigte Software und Pakete
57 @chapter Benötigte Software und Pakete
58
59 Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
60 und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.
61
62 Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:
63
64 @itemize
65 @item
66 parent
67 @item
68 Archive::Zip
69 @item
70 Class::Accessor
71 @item
72 CGI::Ajax
73 @item
74 DateTime
75 @item
76 DBI
77 @item
78 DBD::Pg
79 @item
80 Email::Address
81 @item
82 List::MoreUtils
83 @item
84 PDF::API2
85 @item
86 Rose::Object
87 @item
88 Rose::DB
89 @item
90 Rose::DB::Object
91 @item
92 Template
93 @item
94 Text::CSV_XS
95 @item
96 Text::Iconv
97 @item
98 URI
99 @item
100 XML::Writer
101 @item
102 YAML
103 @end itemize
104
105 Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen, @code{URI}
106 und @code{XML::Writer} sind notwendig. Ohne startet Lx-Office nicht.
107
108 Gegenüber Version 2.6.1 sind @code{parent}, @code{DateTime},
109 @code{Rose::Object}, @code{Rose::DB} und @code{Rose::DB::Object} neu
110 hinzugekommen. @code{IO::Wrap} wurde entfernt.
111
112 @code{Email::Address} und @code{List::MoreUtils} sind schon länger feste
113 Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert.  Beide sind auch
114 in 2.6.1 weiterhin mit ausgeliefert, wurden in einer zukünftigen Version aber
115 aus dem Paket entfernt werden. Es wird empfohlen diese Module zusammen mit den
116 anderen als Bibliotheken zu installieren.
117
118 @code{CGI::Ajax} ist nach wie vor in einer modifizierten Version mitgeliefert
119 und braucht nicht nachinstalliert werden.
120
121 Die zu installierenden Pakete können in den verschiedenen Distributionen unterschiedlich heißen.
122
123 Für Debian oder Ubuntu benötigen Sie diese Pakete:
124
125 @code{apache2 postgresql libparent-perl libarchive-zip-perl libclass-accessor-perl libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl libemail-address-perl liblist-moreutils-perl libpdf-api2-perl librose-object-perl librose-db-perl librose-db-object-perl libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl}
126
127 Für Fedora Core benötigen Sie diese Pakete:
128
129 @code{httpd postgresql-server perl-parent perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-Email-Address perl-List-MoreUtils perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
130
131 Für OpenSuSE benötigen Sie diese Pakete:
132
133 @code{apache2 postgresql-server perl-Archive-Zip perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
134
135 Bei openSuSE 11 ist @code{parent} bereits enthalten, und braucht nicht nachinstalliert werden. Die @code{Rose::*} Pakete sind derzeit nicht für SuSE gepackt, und müssen anderweitig nachinstalliert werden.
136
137 Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
138 benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
139
140 @code{./scripts/installation_check.pl}
141
142 @c ---------------------------------------------------------------
143
144 @node Installation des Programmpaketes
145 @chapter Installation des Programmpaketes
146
147 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.2.tgz) wird im
148 Dokumentenverzeichnis des Webservers (z.B. @code{/var/www/html/},
149 @code{/srv/www/htdocs} oder @code{/var/www/}) entpackt:
150
151 @code{cd /var/www
152 @*
153 tar xvzf lxoffice-erp-2.6.2.tgz}
154
155 Verändern Sie evtl. noch den Namen des Verzeichnisses mit
156
157 @code{mv lxoffice-erp/ lx-erp/}
158
159 Alternativ können Sie auch einen Alias in der Webserverkonfiguration
160 benutzen, um auf das tatsächliche Installationsverzeichnis zu
161 verweisen.
162
163 Die Verzeichnisse @code{users}, @code{spool} und @code{webdav} müssen
164 für den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die
165 restlichen Dateien müssen für diesen Benutzer lesbar sein. Der
166 Benutzername ist bei verschiedenen Distributionen unterschiedlich
167 (z.B. bei Debian/Ubuntu @code{www-data}, bei Fedora core @code{apache}
168 oder bei OpenSuSE @code{wwwrun}).
169
170 Der folgende Befehl ändert den Besitzer für die oben genannten
171 Verzeichnisse auf einem Debian/Ubuntu-System:
172
173 @code{chown -R www-data lx-office-erp/users lx-office-erp/spool lx-office-erp/webdav}
174
175 Weiterhin muss der Webserver-Benutzer im Verzeichnis @code{templates} Verzeichnisse für
176 jeden neuen Benutzer, der in lx-office angelegt wird, anlegen dürfen:
177
178 @code{chgrp www-data lx-office-erp/templates; chmod g+w lx-office-erp/templates}
179
180
181 @c ---------------------------------------------------------------
182
183 @node Anpassung der PostgreSQL-Konfiguration
184 @chapter Anpassung der PostgreSQL-Konfiguration
185
186 PostgreSQL muss auf verschiedene Weisen angepasst werden.
187
188 @menu
189 * Zeichensätze/die Verwendung von UTF-8:: Was bei der Verwendung von UTF-8 zu beachten ist
190 * Änderungen an Konfigurationsdateien:: Anpassungen für Anmeldung am Server und Featureunterstützung
191 * Erweiterung für servergespeicherte Prozeduren:: Lx-Office benutzt servergespeicherte Prozeduren
192 * Datenbankbenutzer anlegen:: Um den Zugriff besser zu reglementieren
193 @end menu
194
195 @node Zeichensätze/die Verwendung von UTF-8
196 @section Zeichensätze/die Verwendung von UTF-8
197
198 Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet
199 werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in
200 Version 8.0 oder neuer benutzt werden, und der
201 PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
202 angelegt worden sein.
203
204 Dieses ist kann überprüft werden: ist das Encoding der Datenbank
205 ``template1'' ``UTF8'', so kann auch Lx-Office mit UTF-8 betrieben
206 werden. Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
207 UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
208 Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden:
209
210 @code{pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername}
211
212 Die Datenbankversionsnummer muss an die tatsächlich verwendete
213 Versionsnummer angepasst werden.
214
215 Unter anderen Distributionen gibt es ähnliche Methoden.
216
217 Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
218 ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
219 Lx-Office mit ISO-8859-15 als Encoding betrieben werden.
220
221 Das Encoding einer Datenbank kann in @code{psql} mit @code{\l} geprüft werden.
222
223 @node Änderungen an Konfigurationsdateien
224 @section Änderungen an Konfigurationsdateien
225
226 In der Datei @code{postgresql.conf}, die je nach Distribution in
227 verschiedenen Verzeichnissen liegen kann
228 (z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
229 sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Das
230 Verhalten wird über den Parameter @code{listen_address}
231 gesteuert. Laufen PostgreSQL und Lx-Office auf demselben Rechner, so
232 kann dort der Wert @code{localhost} verwendet werden. Andernfalls
233 müssen Datenbankverbindungen auch von anderen Rechnern aus zugelassen
234 werden, was mit dem Wert \@code{*} geschieht.
235
236 In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
237 @code{postgresql.conf} zu finden sein sollte, müssen die
238 Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere
239 Möglichkeiten. Eine besteht darin, lokale Verbindungen immer
240 zuzulassen
241
242 @code{local all all trust
243 @*
244 host all all 127.0.0.1 255.0.0.0 trust}
245
246 Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
247 zuzulassen. Beispielsweise:
248
249 @code{local   all         lxoffice                                           password
250 @*
251 host    all         lxoffice      127.0.0.1         255.255.255.255    password}
252
253 @c ---------------------------------------------------------------
254
255 @node Erweiterung für servergespeicherte Prozeduren
256 @section Erweiterung für servergespeicherte Prozeduren
257
258 In der Datenbank @code{template1} muss die Unterstützung für servergespeicherte
259 Prozeduren eingerichet werden. Melden Sie sich dafür als Benutzer ``postgres''
260 an der Datenbank an, und führen Sie die folgenden Kommandos aus:
261
262 @code{create language 'plpgsql';}
263
264 Achtung: In älteren Postgresversionen (vor 8.0) muss der Handler für die
265 Sprache manuell anlelegt werden, diese Versionen werden aber nicht mehr
266 offiziell von Lx-Office unterstützt. Dafür dann die folgenden Kommandos:
267
268 @code{create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
269 @*
270 create language 'plpgsql' handler plpgsql_call_handler lancompiler 'pl/pgsql';}
271
272 Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von Distribution
273 zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu befindet sie sich
274 unter @code{/usr/lib/postgresql/lib/plpgsql.so}.
275
276 @c ---------------------------------------------------------------
277
278 @node Datenbankbenutzer anlegen
279 @section Datenbankbenutzer anlegen
280
281 Wenn Sie nicht den Datenbanksuperuser ``postgres'' zum Zugriff
282 benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
283 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
284
285 @code{su - postgres
286 @*
287 createuser -d -P lxoffice}
288
289 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
290 den evtl. voreingestellten Benutzer ``postgres'' auf ``lxoffice''
291 bzw. den hier gewählten Benutzernamen.
292
293 @c ---------------------------------------------------------------
294
295 @node Apache-Konfiguration
296 @chapter Apache-Konfiguration
297
298 Hinweis: Für einen deutlichen Performanceschub sorgt die Ausführung
299 mittels FCGI. Die Einrichtung wird ausführlich in der Datei
300 @code{INSTALL.fcgi} beschrieben.
301
302 Der Zugriff auf das Programmverzeichnis muss in der Apache
303 Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
304 werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
305 anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:
306
307 @code{@*
308 AddHandler cgi-script .pl
309 @*
310 Alias /lx-erp/ /var/www/lx-erp/
311 @*
312 <Directory /var/www/lx-erp>
313 @*
314   Options ExecCGI Includes FollowSymlinks
315 @*
316 </Directory>
317 @*
318 @*
319 <Directory /var/www/lx-erp/users>
320 @*
321   Order Deny,Allow
322 @*
323   Deny from All
324 @*
325 </Directory>
326 @*
327 }
328
329 Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
330 Lx-Office-Archiv entpacket haben.
331
332 Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen ein
333 Plus @samp{+} gesetzt werden.
334
335 Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
336 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
337 folgende Option in die Konfiguration aufzunehmen:
338
339 @code{EnableSendfile Off}
340
341 @c ---------------------------------------------------------------
342
343 @node Benutzerauthentifizierung und Administratorpasswort
344 @chapter Benutzerauthentifizierung und Administratorpasswort
345
346 Informationen über die Einrichtung der Benutzerauthentifizierung, über
347 die Verwaltung von Gruppen und weitere Einstellungen
348
349 @menu
350 * Grundlagen zur Benutzerauthentifizierung:: Verfügbare Methoden, Name der Konfigurationsdatei
351 * Administratorpasswort:: Wo das Administratorpasswort gesetzt werden kann
352 * Authentifizierungsdatenbank:: Verbindungseinstellungen zur Authentifizierungsdatenbank
353 * Passwortüberprüfung:: Einstellungen zur Überprüfung der Benutzerpasswörter
354 * Name des Session-Cookies:: Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
355 * Anlegen der Authentifizierungsdatenbank:: Wie die Authentifizierungsdatenbank angelegt wird
356 @end menu
357
358 @c ---------------------------------------------------------------
359
360 @node Grundlagen zur Benutzerauthentifizierung
361 @section Grundlagen zur Benutzerauthentifizierung
362
363 Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
364 im folgenden ``Authentifizierungsdatenbank'' genannt wird. Für jeden
365 Benutzer kann dort eine eigene Datenbank für die eigentlichen
366 Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
367 aber nicht unterschiedlich sein.
368
369 Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
370 in der sowohl die Benutzerinformationen als auch die Daten abgelegt
371 werden.
372
373 Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
374 entweder gegen die Authentifizierungsdatenbank oder gegen einen
375 LDAP-Server überprüft werden.
376
377 Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
378 die Authentifizierungsdatenbank erreichen kann, wird in der
379 Konfigurationsdatei @code{config/authentication.pl} festgelegt. Diese
380 muss bei der Installation und bei einem Upgrade von einer Version vor
381 v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
382 @code{config/authentication.pl.default} existiert, die als Vorlage
383 benutzt werden kann.
384
385 @node Administratorpasswort
386 @section Administratorpasswort
387
388 Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
389 wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
390 mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
391 heißt @code{$self->@{admin_password@}}.
392
393 @node Authentifizierungsdatenbank
394 @section Authentifizierungsdatenbank
395
396 Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
397 in @code{$self->@{DB_config@}} konfiguriert. Hier sind die folgenden
398 Parameter anzugeben:
399
400 @itemize
401 @item
402 @samp{host} -- Der Rechnername oder die IP-Adresse des Datenbankservers
403 @item
404 @samp{port} -- Die Portnummer des Datenbankservers, meist 5432
405 @item
406 @samp{db} -- Der Name der Authentifizierungsdatenbank
407 @item
408 @samp{user} -- Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. ``postgres'')
409 @item
410 @samp{password} -- Das Passwort für den Datenbankbenutzer
411 @end itemize
412
413 Die Datenbank muss noch nicht existieren. Lx-Office kann sie
414 automatisch anlegen (mehr dazu siehe unten).
415
416 @node Passwortüberprüfung
417 @section Passwortüberprüfung
418
419 Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
420 Authentifizierungsdatenbank und gegen einen externen LDAP- oder
421 Active-Directory-Server. Welche davon benutzt wird, regelt der
422 Parameter @code{$self->@{module@}}.
423
424 Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
425 gespeichert werden, so muss der Parameter @code{$self->@{module@}} den
426 Wert @samp{DB} enthalten. In diesem Fall können sowohl der
427 Administrator als auch die Benutzer selber ihre Psaswörter in
428 Lx-Office ändern.
429
430 Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
431 werden, so muss der Parameter @code{$self->@{module@}} auf @samp{LDAP}
432 gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
433 den LDAP-Server in @code{$self->@{LDAP_config@}} angegeben werden:
434
435 @itemize
436 @item
437 @samp{host} -- Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
438 @item
439 @samp{port} -- Die Portnummer des LDAP-Servers; meist 389.
440 @item
441 @samp{tls} -- Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf @samp{1} setzen, andernfalls auf @samp{0} belassen
442 @item
443 @samp{attribute} -- Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
444   ist dies meist @samp{sAMAccountName}, für andere LDAP-Server hingegen @samp{uid}. Diese Angabe ist zwingend erforderlich.
445 @item
446 @samp{base_dn} -- Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
447 @item
448 @samp{filter} -- Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort @code{<%login%>}, so wird dieses durch den vom Benutzer
449   eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
450   mit dem Benutzernamen identisch ist.
451 @item
452 @samp{bind_dn} und @samp{bind_password} -- Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
453   Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als @samp{bind_dn} entweder eine
454   komplette LDAP-DN wie z.B. @samp{cn=Martin Mustermann,cn=Users,dc=firmendomain} auch nur der volle Name des Benutzers
455   eingegeben werden; in diesem Beispiel also @samp{Martin Mustermann}.
456 @end itemize
457
458 @node Name des Session-Cookies
459 @section Name des Session-Cookies
460
461 Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
462 werden, so müssen die Namen der Session-Cookies für alle
463 Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
464 Parameter @code{$self->@{cookie_name@}} gesetzt.
465
466 Diese Angabe ist optional, wenn nur eine Installation auf dem Server
467 existiert.
468
469 @node Anlegen der Authentifizierungsdatenbank
470 @section Anlegen der Authentifizierungsdatenbank
471
472 Nachdem alle Einstellungen in @code{config/authentication.pl}
473 vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
474 anlegen. Dieses geschieht automatisch, wenn Sie sich im
475 Administrationsmodul anmelden, das unter der folgenden URL erreichbar
476 sein sollte:
477
478 @uref{http://localhost/lx-erp/admin.pl}
479
480
481 @c ---------------------------------------------------------------
482
483 @node Benutzer- und Gruppenverwaltung
484 @chapter Benutzer- und Gruppenverwaltung
485
486 Nach der Installation müssen Benutzer, Gruppen und Datenbanken
487 angelegt werden.  Dieses geschieht im Administrationsmenü, das Sie
488 unter folgender URL finden:
489
490 @uref{http://localhost/lx-erp/admin.pl}
491
492 Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
493 @code{config/authentication.pl} eingetragen haben.
494
495 @menu
496 * Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
497 * Datenbanken anlegen:: Hinweise zum Anlegen von Datenbanken
498 * Gruppen anlegen:: Hinweise zum Anlegen von Gruppen
499 * Benutzer anlegen:: Hinweise zum Anlegen von Benutzern
500 * Gruppenmitgliedschaften verwalten:: Wie man Gruppen Benutzer zuordnet
501 * Migration alter Installationen:: Automatische Übernahme bei Update von einer älteren Version
502 @end menu
503
504 @node Zusammenhänge
505 @section Zusammenhänge
506
507 Lx-Office verwendet eine Datenbank zum Speichern all seiner
508 Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
509 mit Lx-Office arbeiten zu können, muss eine Person einen
510 Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
511 Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
512 möglich und normal, dass mehreren Benutzern die selbe Datenbank
513 zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
514
515 Die Basisdaten der Benutzer, die in der Administration eingegeben
516 werden können, werden in einer zweiten Datenbank gespeichert, der
517 bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
518 Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
519 Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
520 aber beliebig viele Datenbanken mit Firmendaten.
521
522 Lx-Office kann seinen Benutzern Zugriff auf bestimmte
523 Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
524 gestattet, so werden der entsprechenden Menüpunkte auch nicht
525 angezeigt. Diese Rechte werden ebenfalls in der
526 Authentifizierungsdatenbank gespeichert.
527
528 Um Rechte verteilen zu können, verwendet Lx-Office ein
529 Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
530 erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
531 mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
532 Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
533 Benutzer Mitglied ist.
534
535 Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
536 angelegt werden sollten, lautet:
537
538 @enumerate
539 @item
540 Datenbank anlegen
541 @item
542 Gruppen anlegen
543 @item
544 Benutzer anlegen
545 @item
546 Benutzer den Gruppen zuordnen
547 @end enumerate
548
549 @node Datenbanken anlegen
550 @section Datenbanken anlegen
551
552 Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
553 Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
554 ist dies @samp{lxoffice}).
555
556 Wenn Sie für die Lx-Office-Installation nicht den europäischen
557 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
558 müssen Sie vor dem Anlegen der Datenbank in der Datei
559 @code{config/lx-erp.conf} die Variable @code{$dbcharset} auf den Wert
560 @samp{UTF-8} setzen. Zusätzlich muss beim Anlegen der Datenbank
561 @samp{UTF-8 Unicode} als Schriftsatz ausgewählt werden.
562
563 Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
564 verwenden müssen, da diese Einstellungen momentan global in Lx-Office
565 vorgenommen wird und nicht nach Datenbank unterschieden werden
566 kann. Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
567 angelegt worden sein.
568
569 @node Gruppen anlegen
570 @section Gruppen anlegen
571
572 Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
573 gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
574 Anlegen können Sie die verschiedenen Bereiche wählen, auf die
575 Mitglieder dieser Gruppe Zugriff haben sollen.
576
577 Benutzergruppen sind unabhängig von Datenbanken, da sie in der
578 Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
579 Datenbanken, die in dieser Installation verwaltet werden.
580
581 @node Benutzer anlegen
582 @section Benutzer anlegen
583
584 Beim Anlegen von Benutzern werden für viele Parameter
585 Standardeinstellungen vorgenommen, die den Gepflogenheiten des
586 deutschen Raumes entsprechen.
587
588 Zwingend anzugeben sind der Loginname sowie die komplette
589 Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
590 Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
591 gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
592 aktiv, so ist das Passwort-Feld deaktiviert.
593
594 In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
595 angelegten Datenbanken eingetragen werden.
596
597 @node Gruppenmitgliedschaften verwalten
598 @section Gruppenmitgliedschaften verwalten
599
600 Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
601 zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
602
603 @enumerate
604 @item
605 In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
606 Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen.
607 @item
608 In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
609 Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
610 System angelegten Gruppen und Benutzer enthält. Durch Setzen der
611 Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in der
612 ausgewählten Spalte hinzugefügt.
613 @end enumerate
614
615 @node Migration alter Installationen
616 @section Migration alter Installationen
617
618 Wenn Lx-Office 2.6.2 über eine ältere Version installiert wird, in der
619 die Benutzerdaten noch im Dateisystem im Verzeichnis @code{users}
620 verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
621 Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
622 übernehmen. Dies geschieht, wenn man sich nach dem Update der
623 Installation das erste Mal im Administrationsbereich anmeldet. Findet
624 Lx-Office die Datei @code{users/members}, so wird der
625 Migrationsprozess gestartet.
626
627 Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
628 können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
629 die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt
630 wird. Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office
631 gewährt. Alle migrierten Benutzern werden Mitglied in dieser
632 Gruppe. Damit wird das Verhalten von Lx-Office bis Version 2.4.3
633 inklusive wiederhergestellt, und die Benutzer können sich sofort
634 wieder anmelden und mit dem System arbeiten.
635
636 @c ---------------------------------------------------------------
637
638 @node OpenDocument-Vorlagen
639 @chapter OpenDocument-Vorlagen
640
641 Lx-Office unterstützt die Verwendung von Vorlagen im
642 OpenDocument-Format, wie es OpenOffice.org ab Version 2
643 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
644 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
645 OpenDocument-Vorlagen zu aktivieren muss in der Datei
646 @code{config/lx-erp.conf} die Variable @code{$opendocument_templates}
647 auf @samp{1} stehen.  Dieses ist die Standardeinstellung.
648
649 Weiterhin muss in der Datei @code{config/lx-erp.conf} die Variable
650 @code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
651 bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
652 ist in den meisten Fällen "UTF-8".
653
654 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
655 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
656 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
657 neben OpenOffice.org ab Version 2 auch der ``X virtual frame buffer''
658 (xvfb) installiert werden.  Bei Debian ist er im Paket ``xvfb''
659 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
660
661 Nach der Installation müssen in der Datei @code{config/lx-erp.conf}
662 zwei weitere Variablen angepasst werden:
663 @code{$openofficeorg_writer_bin} muss den vollständigen Pfad zur
664 OpenOffice.org Writer-Anwendung enthalten.  @code{$xvfb_bin} muss den
665 Pfad zum ``X virtual frame buffer'' enthalten.
666
667 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
668 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
669 die Variable @code{$openofficeorg_daemon} gesetzt ist, startet ein
670 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
671 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
672 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
673 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
674 werden muss. Der Nachteil ist, dass diese Methode Python und die
675 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
676
677 Ist @code{$openofficeorg_daemon} nicht gesetzt, so wird für jedes
678 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
679 eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
680 enthalten sein und ``Standard.Conversion.ConvertSelfToPDF()''
681 heißen. Die Beispielvorlage @samp{templates/German-invoice.odt}
682 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
683 ebenfalls enthalten sein muss.
684
685 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
686 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
687 Debian ist dies momentan @code{~/.openoffice.org2}. Sollte der Name
688 bei Ihrer OpenOffice.org-Installation anders sein, so muss das
689 Verzeichnis @code{users/.openoffice.org2} entsprechend umbenannt
690 werden. Ist der Name z.B. einfach nur @code{.openoffice}, so wäre
691 folgender Befehl auszuführen:
692
693 @code{mv users/.openoffice.org2 users/.openoffice}
694
695 Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
696 muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
697 @code{Installation des Programmpakets} oben bereits erledigt, kann
698 aber erneut überprüft werden, wenn die Konvertierung nach PDF
699 fehlschlägt.
700
701 @c ---------------------------------------------------------------
702
703 @node Lx-Office ERP verwenden
704 @chapter Lx-Office ERP verwenden
705
706 Nach erfolgreicher Installation ist der Loginbildschirm unter
707 folgender URL erreichbar:
708
709 @uref{http://localhost/lx-office-erp/login.pl}
710
711 Die Administrationsseite erreichen Sie unter:
712
713 @uref{http://localhost/lx-office-erp/admin.pl}
714
715 @bye