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