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