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