Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / doc / INSTALL.html
1 <html lang="en">
2 <head>
3 <title>Lx-Office Installationsanleitung</title>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <meta name="description" content="Lx-Office Installationsanleitung">
6 <meta name="generator" content="makeinfo 4.13">
7 <link title="Top" rel="top" href="#Top">
8 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
9 <meta http-equiv="Content-Style-Type" content="text/css">
10 <style type="text/css"><!--
11   pre.display { font-family:inherit }
12   pre.format  { font-family:inherit }
13   pre.smalldisplay { font-family:inherit; font-size:smaller }
14   pre.smallformat  { font-family:inherit; font-size:smaller }
15   pre.smallexample { font-size:smaller }
16   pre.smalllisp    { font-size:smaller }
17   span.sc    { font-variant:small-caps }
18   span.roman { font-family:serif; font-weight:normal; } 
19   span.sansserif { font-family:sans-serif; font-weight:normal; } 
20 --></style>
21 </head>
22 <body>
23 <h1 class="settitle">Lx-Office Installationsanleitung</h1>
24    <div class="contents">
25 <h2>Inhaltsverzeichnis</h2>
26 <ul>
27 <li><a name="toc_Top" href="#Top">Inhalt der Anleitung</a>
28 <li><a name="toc_Aktuelle-Hinweise" href="#Aktuelle-Hinweise">1 Aktuelle Hinweise</a>
29 <li><a name="toc_Ben_00c3_00b6tigte-Software-und-Pakete" href="#Ben_00c3_00b6tigte-Software-und-Pakete">2 Benötigte Software und Pakete</a>
30 <ul>
31 <li><a href="#Betriebssystem">2.1 Betriebssystem</a>
32 <li><a href="#Pakete">2.2 Pakete</a>
33 </li></ul>
34 <li><a name="toc_Manuelle-Installation-des-Programmpaketes" href="#Manuelle-Installation-des-Programmpaketes">3 Manuelle Installation des Programmpaketes</a>
35 <li><a name="toc_Anpassung-der-PostgreSQL_002dKonfiguration" href="#Anpassung-der-PostgreSQL_002dKonfiguration">4 Anpassung der PostgreSQL-Konfiguration</a>
36 <ul>
37 <li><a href="#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8">4.1 Zeichensätze/die Verwendung von UTF-8</a>
38 <li><a href="#_00c3_0084nderungen-an-Konfigurationsdateien">4.2 Änderungen an Konfigurationsdateien</a>
39 <li><a href="#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">4.3 Erweiterung für servergespeicherte Prozeduren</a>
40 <li><a href="#Datenbankbenutzer-anlegen">4.4 Datenbankbenutzer anlegen</a>
41 </li></ul>
42 <li><a name="toc_Apache_002dKonfiguration" href="#Apache_002dKonfiguration">5 Apache-Konfiguration</a>
43 <li><a name="toc_Der-Task_002dServer" href="#Der-Task_002dServer">6 Der Task-Server</a>
44 <ul>
45 <li><a href="#Konfiguration-des-Task_002dServers">6.1 Verfügbare und notwendige Konfigurationsoptionen</a>
46 <li><a href="#Einbinden-in-den-Boot_002dProzess">6.2 Automatisches Starten des Task-Servers beim Booten</a>
47 <ul>
48 <li><a href="#Einbinden-in-den-Boot_002dProzess">6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)</a>
49 <li><a href="#Einbinden-in-den-Boot_002dProzess">6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)</a>
50 </li></ul>
51 <li><a href="#Prozesskontrolle">6.3 Wie der Task-Server gestartet und beendet wird</a>
52 </li></ul>
53 <li><a name="toc_Benutzerauthentifizierung-und-Administratorpasswort" href="#Benutzerauthentifizierung-und-Administratorpasswort">7 Benutzerauthentifizierung und Administratorpasswort</a>
54 <ul>
55 <li><a href="#Grundlagen-zur-Benutzerauthentifizierung">7.1 Grundlagen zur Benutzerauthentifizierung</a>
56 <li><a href="#Administratorpasswort">7.2 Administratorpasswort</a>
57 <li><a href="#Authentifizierungsdatenbank">7.3 Authentifizierungsdatenbank</a>
58 <li><a href="#Passwort_00c3_00bcberpr_00c3_00bcfung">7.4 Passwortüberprüfung</a>
59 <li><a href="#Name-des-Session_002dCookies">7.5 Name des Session-Cookies</a>
60 <li><a href="#Anlegen-der-Authentifizierungsdatenbank">7.6 Anlegen der Authentifizierungsdatenbank</a>
61 </li></ul>
62 <li><a name="toc_Benutzer_002d-und-Gruppenverwaltung" href="#Benutzer_002d-und-Gruppenverwaltung">8 Benutzer- und Gruppenverwaltung</a>
63 <ul>
64 <li><a href="#Zusammenh_00c3_00a4nge">8.1 Zusammenhänge</a>
65 <li><a href="#Datenbanken-anlegen">8.2 Datenbanken anlegen</a>
66 <li><a href="#Gruppen-anlegen">8.3 Gruppen anlegen</a>
67 <li><a href="#Benutzer-anlegen">8.4 Benutzer anlegen</a>
68 <li><a href="#Gruppenmitgliedschaften-verwalten">8.5 Gruppenmitgliedschaften verwalten</a>
69 <li><a href="#Migration-alter-Installationen">8.6 Migration alter Installationen</a>
70 </li></ul>
71 <li><a name="toc_Drucken-mit-Lx_002dOffice" href="#Drucken-mit-Lx_002dOffice">9 Drucken mit Lx-Office</a>
72 <li><a name="toc_OpenDocument_002dVorlagen" href="#OpenDocument_002dVorlagen">10 OpenDocument-Vorlagen</a>
73 <li><a name="toc_Lx_002dOffice-ERP-verwenden" href="#Lx_002dOffice-ERP-verwenden">11 Lx-Office ERP verwenden</a>
74 </li></ul>
75 </div>
76
77
78
79 <div class="node">
80 <a name="Top"></a>
81 <p><hr>
82 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
83 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
84
85 </div>
86
87 <h2 class="unnumbered">Inhalt der Anleitung</h2>
88
89 <ul class="menu">
90 <li><a accesskey="1" href="#Aktuelle-Hinweise">Aktuelle Hinweise</a>:  Andere Informationsquellen als diese Anleitung
91 <li><a accesskey="2" href="#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>:  Vorraussetzungen zum Betrieb von Lx-Office
92 <li><a accesskey="3" href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>:  Installationsort, Berechtigungen
93 <li><a accesskey="4" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>:  Verschiedene Aspekte der Datenbankkonfiguration
94 <li><a accesskey="5" href="#Apache_002dKonfiguration">Apache-Konfiguration</a>:  Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
95 <li><a accesskey="6" href="#Der-Task_002dServer">Der Task-Server</a>:  Konfiguration und Einrichtung des Task-Server-Dämonen
96 <li><a accesskey="7" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>:  Einrichtung der Authentifizierungsdatenbank und der Passwortüberprüfung
97 <li><a accesskey="8" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>:  Einrichten von Benutzern, Gruppen und Datenbanken
98 <li><a accesskey="9" href="#Drucken-mit-Lx_002dOffice">Drucken mit Lx-Office</a>:  Voraussetzungen, Einrichtung und Fehlerdiagnose
99 <li><a href="#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>:  Wichtige Hinweise zum Erstellen und zur Verwendung von Dokumentenvorlagen
100 <li><a href="#Lx_002dOffice-ERP-verwenden">Lx-Office ERP verwenden</a>:  Die URLs zur Anmeldung und Administration
101 </ul>
102
103 <!--  -->
104 <div class="node">
105 <a name="Aktuelle-Hinweise"></a>
106 <p><hr>
107 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
108 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
109 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
110
111 </div>
112
113 <h2 class="chapter">1 Aktuelle Hinweise</h2>
114
115 <p>Aktuelle Installations- und Konfigurationshinweise gibt es:
116
117      <ul>
118 <li>auf der Lx-Office Homepage unter <a href="http://lx-office.org/index.php?id=dokumentation">http://lx-office.org/index.php?id=dokumentation</a>
119
120      <li>im Lx-Office-Wiki unter Dokumentation (<a href="http://wiki.lx-office.org/index.php/Lx-Office_ERP">http://wiki.lx-office.org/index.php/Lx-Office_ERP</a>)
121
122      <li>im Lx-Office-Forum: <a href="http://www.lx-office.org/forum/">http://www.lx-office.org/forum/</a>
123 </ul>
124
125 <!--  -->
126 <div class="node">
127 <a name="Ben%c3%b6tigte-Software-und-Pakete"></a>
128 <a name="Ben_00c3_00b6tigte-Software-und-Pakete"></a>
129 <p><hr>
130 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
131 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Aktuelle-Hinweise">Aktuelle Hinweise</a>,
132 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
133
134 </div>
135
136 <h2 class="chapter">2 Benötigte Software und Pakete</h2>
137
138 <ul class="menu">
139 <li><a accesskey="1" href="#Betriebssystem">Betriebssystem</a>:  Unterstützte Betriebsysteme und Hinweise für ältere Systeme
140 <li><a accesskey="2" href="#Pakete">Pakete</a>:  Benötigte Software und Perlpakete sowie deren Quellen
141 </ul>
142
143 <div class="node">
144 <a name="Betriebssystem"></a>
145 <p><hr>
146 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Pakete">Pakete</a>,
147 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
148
149 </div>
150
151 <h3 class="section">2.1 Betriebssystem</h3>
152
153 <p>Lx-Office ist für Linux konzipiert, und sollte auf jedem unixoiden
154 Betriebssystem zum Laufen zu kriegen sein. Getestet ist diese Version im
155 speziellen auf Debian und Ubuntu, grundsätzlich wurde bei der Auswahl der
156 Pakete aber darauf Rücksicht genommen, dass es ohne große Probleme auf den
157 derzeit aktuellen verbreiteten Distributionen läuft.
158
159    <p>Anfang 2011 sind das folgende Systeme:
160
161      <ul>
162 <li>Ubuntu 8.04 LTS Hardy Heron
163 <li>Ubuntu 9.10 Karmic Koala
164 <li>Ubuntu 10.04 Lucid Lynx
165 <li>Ubuntu 10.10 Maverick Meerkat
166 <li>Debian 5.0 Lenny
167 <li>Debian 6.0 Squeeze
168 <li>openSUSE 11.2
169 <li>openSUSE 11.3
170 <li>SuSE Linux Enterprice Server 11
171 <li>Fedora 13
172 <li>Fedora 14
173 </ul>
174
175    <p>Für die debianoiden Betriebssysteme existiert ein .deb, das deutlich einfacher
176 zu installieren ist.
177
178    <p>Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die Module im Archiv
179 recht alt sind, und das viele der benötigten Module nicht einfach zu
180 installieren sind. Dafür sollte es kurz nach dem Release ein eigenes .deb
181 geben.
182
183    <p>Alternativ dazu kann die normale Installation durchgeführt werden
184 (see <a href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), wenn vorher ein
185 Kompatibilitätspaket installiert wird, das die fehlenden Pakete bereitstellt. 
186 Das Paket ist auf <a href="https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/">Sourceforge</a> unter dem Namen <code>lx-erp-perl-libs-compat-v2.tar.gz</code> hinterlegt.
187
188    <p>Zur Installation das Paket in das entpackte Lx-Office Verzeichnis entpacken:
189
190    <p><code>tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/</code>
191
192    <p>Zusätzlich müssen dann noch die folgenden Pakete installiert weerden
193
194    <p><code>libbit-vector-perl libsub-exporter-perl libclone-perl libclass-factory-util-perl</code>
195
196    <p>Danach sollte der Installationscheck (see <a href="#Pakete">Pakete</a>) die enthaltenen Pakete erkennen.
197
198 <div class="node">
199 <a name="Pakete"></a>
200 <p><hr>
201 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Betriebssystem">Betriebssystem</a>,
202 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>
203
204 </div>
205
206 <h3 class="section">2.2 Pakete</h3>
207
208 <p>Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
209 und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.
210
211    <p>Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil
212 einer Standard-Perl-Installation sind:
213
214      <ul>
215 <li>parent
216 <li>Archive::Zip
217 <li>Config::Std
218 <li>DateTime
219 <li>DBI
220 <li>DBD::Pg
221 <li>Email::Address
222 <li>JSON
223 <li>List::MoreUtils
224 <li>Params::Validate
225 <li>PDF::API2
226 <li>Rose::Object
227 <li>Rose::DB
228 <li>Rose::DB::Object
229 <li>Template
230 <li>Text::CSV_XS
231 <li>Text::Iconv
232 <li>URI
233 <li>XML::Writer
234 <li>YAML
235 </ul>
236
237    <p>Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen, <code>URI</code>
238 und <code>XML::Writer</code> sind notwendig. Ohne startet Lx-Office nicht.
239
240    <p>Gegenüber Version 2.6.1 sind <code>parent</code>, <code>DateTime</code>,
241 <code>Rose::Object</code>, <code>Rose::DB</code> und <code>Rose::DB::Object</code> neu
242 hinzugekommen. <code>IO::Wrap</code> wurde entfernt.
243
244    <p>Gegenüber Version 2.6.3 ist <code>JSON</code> neu hinzugekommen.
245
246    <p><code>Email::Address</code> und <code>List::MoreUtils</code> sind schon länger feste
247 Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert.  Beide sind auch
248 in 2.6.1 weiterhin mit ausgeliefert, wurden in einer zukünftigen Version aber
249 aus dem Paket entfernt werden. Es wird empfohlen diese Module zusammen mit den
250 anderen als Bibliotheken zu installieren.
251
252    <p>Die zu installierenden Pakete können in den verschiedenen Distributionen unterschiedlich heißen.
253
254    <p>Für Debian oder Ubuntu benötigen Sie diese Pakete:
255
256    <p><code>apache2 postgresql libparent-perl libarchive-zip-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 libconfig-std-perl libparams-validate-perl libjson-perl</code>
257
258    <p>Für Fedora Core benötigen Sie diese Pakete:
259
260    <p><code>httpd postgresql-server perl-parent 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</code>
261
262    <p>Für OpenSuSE benötigen Sie diese Pakete:
263
264    <p><code>apache2 postgresql-server perl-Archive-Zip 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</code>
265
266    <p>Bei openSuSE 11 ist <code>parent</code> bereits enthalten, und braucht nicht nachinstalliert werden. Die <code>Rose::*</code> Pakete sind derzeit nicht für SuSE gepackt, und müssen anderweitig nachinstalliert werden.
267
268    <p>Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
269 benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
270
271    <p><code>./scripts/installation_check.pl</code>
272
273 <!--  -->
274 <div class="node">
275 <a name="Manuelle-Installation-des-Programmpaketes"></a>
276 <p><hr>
277 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
278 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Ben_00c3_00b6tigte-Software-und-Pakete">Benötigte Software und Pakete</a>,
279 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
280
281 </div>
282
283 <h2 class="chapter">3 Manuelle Installation des Programmpaketes</h2>
284
285 <p>Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.2.tgz) wird im
286 Dokumentenverzeichnis des Webservers (z.B. <code>/var/www/html/</code>,
287 <code>/srv/www/htdocs</code> oder <code>/var/www/</code>) entpackt:
288
289    <p><code>cd /var/www
290 <br>
291 tar xvzf lxoffice-erp-2.6.2.tgz</code>
292
293    <p>Verändern Sie evtl. noch den Namen des Verzeichnisses mit
294
295    <p><code>mv lxoffice-erp/ lx-erp/</code>
296
297    <p>Alternativ können Sie auch einen Alias in der Webserverkonfiguration
298 benutzen, um auf das tatsächliche Installationsverzeichnis zu
299 verweisen.
300
301    <p>Die Verzeichnisse <code>users</code>, <code>spool</code> und <code>webdav</code> müssen
302 für den Benutzer beschreibbar sein, unter dem der Webserver läuft. Die
303 restlichen Dateien müssen für diesen Benutzer lesbar sein. Der
304 Benutzername ist bei verschiedenen Distributionen unterschiedlich
305 (z.B. bei Debian/Ubuntu <code>www-data</code>, bei Fedora core <code>apache</code>
306 oder bei OpenSuSE <code>wwwrun</code>).
307
308    <p>Der folgende Befehl ändert den Besitzer für die oben genannten
309 Verzeichnisse auf einem Debian/Ubuntu-System:
310
311    <p><code>chown -R www-data lx-office-erp/users lx-office-erp/spool lx-office-erp/webdav</code>
312
313    <p>Weiterhin muss der Webserver-Benutzer im Verzeichnis <code>templates</code> Verzeichnisse für
314 jeden neuen Benutzer, der in lx-office angelegt wird, anlegen dürfen:
315
316    <p><code>chgrp www-data lx-office-erp/templates; chmod g+w lx-office-erp/templates</code>
317
318 <!--  -->
319 <div class="node">
320 <a name="Anpassung-der-PostgreSQL-Konfiguration"></a>
321 <a name="Anpassung-der-PostgreSQL_002dKonfiguration"></a>
322 <p><hr>
323 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Apache_002dKonfiguration">Apache-Konfiguration</a>,
324 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>,
325 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
326
327 </div>
328
329 <h2 class="chapter">4 Anpassung der PostgreSQL-Konfiguration</h2>
330
331 <p>PostgreSQL muss auf verschiedene Weisen angepasst werden.
332
333 <ul class="menu">
334 <li><a accesskey="1" href="#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8">Zeichensätze/die Verwendung von UTF-8</a>:  Was bei der Verwendung von UTF-8 zu beachten ist
335 <li><a accesskey="2" href="#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>:  Anpassungen für Anmeldung am Server und Featureunterstützung
336 <li><a accesskey="3" href="#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>:  Lx-Office benutzt servergespeicherte Prozeduren
337 <li><a accesskey="4" href="#Datenbankbenutzer-anlegen">Datenbankbenutzer anlegen</a>:  Um den Zugriff besser zu reglementieren
338 </ul>
339
340 <div class="node">
341 <a name="Zeichens%c3%a4tze%2fdie-Verwendung-von-UTF-8"></a>
342 <a name="Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8"></a>
343 <p><hr>
344 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
345 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
346
347 </div>
348
349 <h3 class="section">4.1 Zeichensätze/die Verwendung von UTF-8</h3>
350
351 <p>Lx-Office kann komplett mit UTF-8 als Zeichensatz verwendet
352 werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in
353 Version 8.0 oder neuer benutzt werden, und der
354 PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
355 angelegt worden sein.
356
357    <p>Dieses ist kann überprüft werden: ist das Encoding der Datenbank
358 &ldquo;template1&rdquo; &ldquo;UTF8&rdquo;, so kann auch Lx-Office mit UTF-8 betrieben
359 werden. Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
360 UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
361 Ubuntu kann dies z.B. mit dem folgenden Befehl getan werden:
362
363    <p><code>pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</code>
364
365    <p>Die Datenbankversionsnummer muss an die tatsächlich verwendete
366 Versionsnummer angepasst werden.
367
368    <p>Unter anderen Distributionen gibt es ähnliche Methoden.
369
370    <p>Wurde PostgreSQL nicht mit UTF-8 als Encoding initialisiert und ist
371 ein Neuanlegen eines weiteren Clusters nicht möglich, so kann
372 Lx-Office mit ISO-8859-15 als Encoding betrieben werden.
373
374    <p>Das Encoding einer Datenbank kann in <code>psql</code> mit <code>\l</code> geprüft werden.
375
376 <div class="node">
377 <a name="%c3%84nderungen-an-Konfigurationsdateien"></a>
378 <a name="g_t_00c3_0084nderungen-an-Konfigurationsdateien"></a>
379 <p><hr>
380 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
381 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Zeichens_00c3_00a4tze_002fdie-Verwendung-von-UTF_002d8">Zeichensätze/die Verwendung von UTF-8</a>,
382 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
383
384 </div>
385
386 <h3 class="section">4.2 Änderungen an Konfigurationsdateien</h3>
387
388 <p>In der Datei <code>postgresql.conf</code>, die je nach Distribution in
389 verschiedenen Verzeichnissen liegen kann
390 (z.B. <code>/var/lib/pgsql/data/</code> oder <code>/etc/postgresql/</code>, muss
391 sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Das
392 Verhalten wird über den Parameter <code>listen_address</code>
393 gesteuert. Laufen PostgreSQL und Lx-Office auf demselben Rechner, so
394 kann dort der Wert <code>localhost</code> verwendet werden. Andernfalls
395 müssen Datenbankverbindungen auch von anderen Rechnern aus zugelassen
396 werden, was mit dem Wert \<code>*</code> geschieht.
397
398    <p>In der Datei <code>pg_hba.conf</code>, die im gleichen Verzeichnis wie die
399 <code>postgresql.conf</code> zu finden sein sollte, müssen die
400 Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere
401 Möglichkeiten. Eine besteht darin, lokale Verbindungen immer
402 zuzulassen
403
404    <p><code>local all all trust
405 <br>
406 host all all 127.0.0.1 255.0.0.0 trust</code>
407
408    <p>Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
409 zuzulassen. Beispielsweise:
410
411    <p><code>local   all         lxoffice                                           password
412 <br>
413 host    all         lxoffice      127.0.0.1         255.255.255.255    password</code>
414
415 <!--  -->
416 <div class="node">
417 <a name="Erweiterung-f%c3%bcr-servergespeicherte-Prozeduren"></a>
418 <a name="Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren"></a>
419 <p><hr>
420 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Datenbankbenutzer-anlegen">Datenbankbenutzer anlegen</a>,
421 voriges:&nbsp;<a rel="previous" accesskey="p" href="#g_t_00c3_0084nderungen-an-Konfigurationsdateien">Änderungen an Konfigurationsdateien</a>,
422 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
423
424 </div>
425
426 <h3 class="section">4.3 Erweiterung für servergespeicherte Prozeduren</h3>
427
428 <p>In der Datenbank <code>template1</code> muss die Unterstützung für servergespeicherte
429 Prozeduren eingerichet werden. Melden Sie sich dafür als Benutzer &ldquo;postgres&rdquo;
430 an der Datenbank an, und führen Sie die folgenden Kommandos aus:
431
432    <p><code>create language 'plpgsql';</code>
433
434    <p>Achtung: In älteren Postgresversionen (vor 8.0) muss der Handler für die
435 Sprache manuell anlelegt werden, diese Versionen werden aber nicht mehr
436 offiziell von Lx-Office unterstützt. Dafür dann die folgenden Kommandos:
437
438    <p><code>create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
439 <br>
440 create language 'plpgsql' handler plpgsql_call_handler lancompiler 'pl/pgsql';</code>
441
442    <p>Bitte beachten Sie, dass der Pfad zur Datei <code>plpgsql.so</code> von Distribution
443 zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu befindet sie sich
444 unter <code>/usr/lib/postgresql/lib/plpgsql.so</code>.
445
446 <!--  -->
447 <div class="node">
448 <a name="Datenbankbenutzer-anlegen"></a>
449 <p><hr>
450 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Erweiterung-f_00c3_00bcr-servergespeicherte-Prozeduren">Erweiterung für servergespeicherte Prozeduren</a>,
451 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>
452
453 </div>
454
455 <h3 class="section">4.4 Datenbankbenutzer anlegen</h3>
456
457 <p>Wenn Sie nicht den Datenbanksuperuser &ldquo;postgres&rdquo; zum Zugriff
458 benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
459 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
460
461    <p><code>su - postgres
462 <br>
463 createuser -d -P lxoffice</code>
464
465    <p>Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
466 den evtl. voreingestellten Benutzer &ldquo;postgres&rdquo; auf &ldquo;lxoffice&rdquo;
467 bzw. den hier gewählten Benutzernamen.
468
469 <!--  -->
470 <div class="node">
471 <a name="Apache-Konfiguration"></a>
472 <a name="Apache_002dKonfiguration"></a>
473 <p><hr>
474 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Der-Task_002dServer">Der Task-Server</a>,
475 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Anpassung-der-PostgreSQL_002dKonfiguration">Anpassung der PostgreSQL-Konfiguration</a>,
476 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
477
478 </div>
479
480 <h2 class="chapter">5 Apache-Konfiguration</h2>
481
482 <p>Hinweis: Für einen deutlichen Performanceschub sorgt die Ausführung
483 mittels FCGI. Die Einrichtung wird ausführlich in der Datei
484 <code>INSTALL.fcgi</code> beschrieben.
485
486    <p>Der Zugriff auf das Programmverzeichnis muss in der Apache
487 Webserverkonfigurationsdatei <code>httpd.conf</code> eingestellt
488 werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
489 anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:
490
491    <p><code><br>
492 AddHandler cgi-script .pl
493 <br>
494 Alias /lx-erp/ /var/www/lx-erp/
495 <br>
496 &lt;Directory /var/www/lx-erp&gt;
497 <br>
498   Options ExecCGI Includes FollowSymlinks
499 <br>
500 &lt;/Directory&gt;
501 <br>
502 <br>
503 &lt;Directory /var/www/lx-erp/users&gt;
504 <br>
505   Order Deny,Allow
506 <br>
507   Deny from All
508 <br>
509 &lt;/Directory&gt;
510 <br>
511 </code>
512
513    <p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
514 Lx-Office-Archiv entpacket haben.
515
516    <p>Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen ein
517 Plus &lsquo;<samp><span class="samp">+</span></samp>&rsquo; gesetzt werden.
518
519    <p>Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
520 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
521 folgende Option in die Konfiguration aufzunehmen:
522
523    <p><code>EnableSendfile Off</code>
524
525 <!--  -->
526 <div class="node">
527 <a name="Der-Task-Server"></a>
528 <a name="Der-Task_002dServer"></a>
529 <p><hr>
530 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
531 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Apache_002dKonfiguration">Apache-Konfiguration</a>,
532 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
533
534 </div>
535
536 <h2 class="chapter">6 Der Task-Server</h2>
537
538 <p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
539 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
540 zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
541 Prozess wird bisher nur für die Erzeugung der wiederkehrenden
542 Rechnungen benutzt, wird aber in Zukunft deutlich mehr Aufgaben
543 übertragen bekommen.
544
545 <ul class="menu">
546 <li><a accesskey="1" href="#Konfiguration-des-Task_002dServers">Konfiguration des Task-Servers</a>:  Verfügbare und notwendige Konfigurationsoptionen
547 <li><a accesskey="2" href="#Prozesskontrolle">Prozesskontrolle</a>:  Wie der Task-Server gestartet und beendet wird
548 <li><a accesskey="3" href="#Einbinden-in-den-Boot_002dProzess">Einbinden in den Boot-Prozess</a>:  Automatisches Starten des Task-Servers beim Booten
549 </ul>
550
551 <div class="node">
552 <a name="Konfiguration-des-Task-Servers"></a>
553 <a name="Konfiguration-des-Task_002dServers"></a>
554 <p><hr>
555 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Prozesskontrolle">Prozesskontrolle</a>,
556 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Der-Task_002dServer">Der Task-Server</a>
557
558 </div>
559
560 <h3 class="section">6.1 Verfügbare und notwendige Konfigurationsoptionen</h3>
561
562 <p>Die Konfiguration erfolgt über den Abschnitt <code>[task_server]</code> in
563 der Datei <samp><span class="file">config/lx_office.conf</span></samp>. Die dort verfügbaren Optionen
564 sind:
565
566      <ul>
567 <li><code>login</code>: gültiger Lx-Office-Benutzername, der benutzt wird, um die zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden. 
568 <li><code>run_as</code>: Wird der Server vom Systembenutzer <code>root</code> gestartet, so wechselt er auf den mit <code>run_as</code> angegebenen Systembenutzer. Der Systembenutzer muss dieselben Lese- und Schreibrechte haben, wie auch der Webserverbenutzer (siehe see <a href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>). Daher ist es sinnvoll, hier denselben Systembenutzer einzutragen, unter dem auch der Webserver läuft. 
569 <li><code>debug</code>: Schaltet Debug-Informationen an und aus. 
570 </ul>
571
572 <div class="node">
573 <a name="Einbinden-in-den-Boot-Prozess"></a>
574 <a name="Einbinden-in-den-Boot_002dProzess"></a>
575 <p><hr>
576 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Prozesskontrolle">Prozesskontrolle</a>,
577 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Der-Task_002dServer">Der Task-Server</a>
578
579 </div>
580
581 <h3 class="section">6.2 Automatisches Starten des Task-Servers beim Booten</h3>
582
583 <p>Der Task-Server verhält sich von seinen Optionen her wie ein reguläres
584 SystemV-kompatibles Boot-Script. Außerdem wechselt er beim Starten
585 automatisch in das Lx-Office-Installationsverzeichnis.
586
587    <p>Deshalb ist es möglich, ihn durch Setzen eines symbolischen Links aus
588 einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess
589 einzubinden. Da das bei neueren Linux-Distributionen aber nicht
590 zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die
591 anstelle eines symbolischen Links verwendet werden können.
592
593 <h4 class="subsection">6.2.1 SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)</h4>
594
595 <p>Kopieren Sie die Datei
596 <samp><span class="file">scripts/boot/system-v/lx-office-task-server</span></samp> nach
597 <samp><span class="file">/etc/init.d/lx-office-task-server</span></samp>. Passen Sie in der kopierten
598 Datei den Pfad zum Task-Server an (Zeile <code>DAEMON=....</code>). Binden
599 Sie das Script in den Boot-Prozess ein. Dies ist distributionsabhängig:
600
601      <ul>
602 <li>Debian-basierende Systeme:
603 <br>
604 <code>update-rc.d lx-office-task-server defaults
605 <br>
606 # Nur bei Debian Squeeze und neuer:
607 <br>
608 insserv lx-office-task-server</code>
609 <li>OpenSuSE und Fedora Core:
610 <br>
611 <code>chkconfig --add lx-office-task-server</code>
612 </ul>
613
614    <p>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
615 <code>/etc/init.d/lx-office-task-server start</code>
616
617 <h4 class="subsection">6.2.2 Upstart-basierende Systeme (z.B. Ubuntu)</h4>
618
619 <p>Kopieren Sie die Datei
620 <samp><span class="file">scripts/boot/upstart/lx-office-task-server.conf</span></samp> nach
621 <samp><span class="file">/etc/init/lx-office-task-server.conf</span></samp>. Passen Sie in der kopierten
622 Datei den Pfad zum Task-Server an (Zeile <code>exec ....</code>).
623
624    <p>Danach kann der Task-Server mit dem folgenden Befehl gestartet werden:
625 <code>service lx-office-task-server start</code>
626
627 <div class="node">
628 <a name="Prozesskontrolle"></a>
629 <p><hr>
630 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Einbinden-in-den-Boot_002dProzess">Einbinden in den Boot-Prozess</a>,
631 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Konfiguration-des-Task_002dServers">Konfiguration des Task-Servers</a>,
632 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Der-Task_002dServer">Der Task-Server</a>
633
634 </div>
635
636 <h3 class="section">6.3 Wie der Task-Server gestartet und beendet wird</h3>
637
638 <p>Der Task-Server wird wie folgt kontrolliert:
639
640    <p><code>./scripts/task_server.pl Befehl</code>
641
642    <p><code>Befehl</code> ist dabei eine der folgenden Optionen:
643
644      <ul>
645 <li><code>start</code> startet eine neue Instanz des Task-Servers. Die Prozess-ID wird innerhalb des <samp><span class="file">users</span></samp>-Verzeichnisses abgelegt. 
646 <li><code>stop</code> beendet einen laufenden Task-Server. 
647 <li><code>restart</code> beendet und startet ihn neu. 
648 <li><code>status</code> berichtet, ob der Task-Server läuft. 
649 </ul>
650
651    <p>Der Task-Server wechselt beim Starten automatisch in das Lx-Office-Installationsverzeichnis.
652
653    <p>Dieselben Optionen können auch für die SystemV-basierenden
654 Runlevel-Scripte benutzt werden (siehe oben).
655
656 <!--  -->
657 <div class="node">
658 <a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>
659 <p><hr>
660 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
661 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Der-Task_002dServer">Der Task-Server</a>,
662 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
663
664 </div>
665
666 <h2 class="chapter">7 Benutzerauthentifizierung und Administratorpasswort</h2>
667
668 <p>Informationen über die Einrichtung der Benutzerauthentifizierung, über
669 die Verwaltung von Gruppen und weitere Einstellungen
670
671 <ul class="menu">
672 <li><a accesskey="1" href="#Grundlagen-zur-Benutzerauthentifizierung">Grundlagen zur Benutzerauthentifizierung</a>:  Verfügbare Methoden, Name der Konfigurationsdatei
673 <li><a accesskey="2" href="#Administratorpasswort">Administratorpasswort</a>:  Wo das Administratorpasswort gesetzt werden kann
674 <li><a accesskey="3" href="#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>:  Verbindungseinstellungen zur Authentifizierungsdatenbank
675 <li><a accesskey="4" href="#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>:  Einstellungen zur Überprüfung der Benutzerpasswörter
676 <li><a accesskey="5" href="#Name-des-Session_002dCookies">Name des Session-Cookies</a>:  Ändern des Cookie-Namens bei Verwendung mehrerer Lx-Office-Installationen auf einem Server
677 <li><a accesskey="6" href="#Anlegen-der-Authentifizierungsdatenbank">Anlegen der Authentifizierungsdatenbank</a>:  Wie die Authentifizierungsdatenbank angelegt wird
678 </ul>
679
680 <!--  -->
681 <div class="node">
682 <a name="Grundlagen-zur-Benutzerauthentifizierung"></a>
683 <p><hr>
684 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Administratorpasswort">Administratorpasswort</a>,
685 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
686
687 </div>
688
689 <h3 class="section">7.1 Grundlagen zur Benutzerauthentifizierung</h3>
690
691 <p>Lx-Office verwaltet die Benutzerinformationen in einer Datenbank, die
692 im folgenden &ldquo;Authentifizierungsdatenbank&rdquo; genannt wird. Für jeden
693 Benutzer kann dort eine eigene Datenbank für die eigentlichen
694 Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen
695 aber nicht unterschiedlich sein.
696
697    <p>Im einfachsten Fall gibt es für Lx-Office nur eine einzige Datenbank,
698 in der sowohl die Benutzerinformationen als auch die Daten abgelegt
699 werden.
700
701    <p>Zusätzlich ermöglicht es Lx-Office, dass die Benutzerpasswörter
702 entweder gegen die Authentifizierungsdatenbank oder gegen einen
703 LDAP-Server überprüft werden.
704
705    <p>Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
706 die Authentifizierungsdatenbank erreichen kann, wird in der
707 Konfigurationsdatei <samp><span class="file">config/lx_office.conf</span></samp> festgelegt. Diese
708 muss bei der Installation und bei einem Upgrade von einer Version vor
709 v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
710 <samp><span class="file">config/lx_office.conf.default</span></samp> existiert, die als Vorlage
711 benutzt werden kann.
712
713 <div class="node">
714 <a name="Administratorpasswort"></a>
715 <p><hr>
716 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
717 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Grundlagen-zur-Benutzerauthentifizierung">Grundlagen zur Benutzerauthentifizierung</a>,
718 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
719
720 </div>
721
722 <h3 class="section">7.2 Administratorpasswort</h3>
723
724 <p>Das Passwort, das zum Zugriff auf das Aministrationsinterface benutzt wird,
725 wird ebenfalls in dieser Datei gespeichert. Es kann auch nur dort und nicht
726 mehr im Administrationsinterface selber geändert werden. Der Parameter dazu
727 heißt <code>$self-&gt;{admin_password}</code>.
728
729 <div class="node">
730 <a name="Authentifizierungsdatenbank"></a>
731 <p><hr>
732 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
733 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Administratorpasswort">Administratorpasswort</a>,
734 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
735
736 </div>
737
738 <h3 class="section">7.3 Authentifizierungsdatenbank</h3>
739
740 <p>Die Verbindung zur Authentifizierungsdatenbank wird mit den Parametern
741 in <code>$self-&gt;{DB_config}</code> konfiguriert. Hier sind die folgenden
742 Parameter anzugeben:
743
744      <ul>
745 <li>&lsquo;<samp><span class="samp">host</span></samp>&rsquo; &ndash; Der Rechnername oder die IP-Adresse des Datenbankservers
746 <li>&lsquo;<samp><span class="samp">port</span></samp>&rsquo; &ndash; Die Portnummer des Datenbankservers, meist 5432
747 <li>&lsquo;<samp><span class="samp">db</span></samp>&rsquo; &ndash; Der Name der Authentifizierungsdatenbank
748 <li>&lsquo;<samp><span class="samp">user</span></samp>&rsquo; &ndash; Der Benutzername, mit dem sich Lx-Office beim Datenbankserver anmeldet (z.B. &ldquo;postgres&rdquo;)
749 <li>&lsquo;<samp><span class="samp">password</span></samp>&rsquo; &ndash; Das Passwort für den Datenbankbenutzer
750 </ul>
751
752    <p>Die Datenbank muss noch nicht existieren. Lx-Office kann sie
753 automatisch anlegen (mehr dazu siehe unten).
754
755 <div class="node">
756 <a name="Passwort%c3%bcberpr%c3%bcfung"></a>
757 <a name="Passwort_00c3_00bcberpr_00c3_00bcfung"></a>
758 <p><hr>
759 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
760 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Authentifizierungsdatenbank">Authentifizierungsdatenbank</a>,
761 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
762
763 </div>
764
765 <h3 class="section">7.4 Passwortüberprüfung</h3>
766
767 <p>Lx-Office unterstützt Passwortüberprüfung auf zwei Arten: gegen die
768 Authentifizierungsdatenbank und gegen einen externen LDAP- oder
769 Active-Directory-Server. Welche davon benutzt wird, regelt der
770 Parameter <code>$self-&gt;{module}</code>.
771
772    <p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
773 gespeichert werden, so muss der Parameter <code>$self-&gt;{module}</code> den
774 Wert &lsquo;<samp><span class="samp">DB</span></samp>&rsquo; enthalten. In diesem Fall können sowohl der
775 Administrator als auch die Benutzer selber ihre Psaswörter in
776 Lx-Office ändern.
777
778    <p>Soll hingegen ein externer LDAP- oder Active-Directory-Server benutzt
779 werden, so muss der Parameter <code>$self-&gt;{module}</code> auf &lsquo;<samp><span class="samp">LDAP</span></samp>&rsquo;
780 gesetzt werden. In diesem Fall müssen zusätzliche Informationen über
781 den LDAP-Server in <code>$self-&gt;{LDAP_config}</code> angegeben werden:
782
783      <ul>
784 <li>&lsquo;<samp><span class="samp">host</span></samp>&rsquo; &ndash; Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich. 
785 <li>&lsquo;<samp><span class="samp">port</span></samp>&rsquo; &ndash; Die Portnummer des LDAP-Servers; meist 389. 
786 <li>&lsquo;<samp><span class="samp">tls</span></samp>&rsquo; &ndash; Wenn Verbindungsverschlüsselung gewünscht ist, so diesen Wert auf &lsquo;<samp><span class="samp">1</span></samp>&rsquo; setzen, andernfalls auf &lsquo;<samp><span class="samp">0</span></samp>&rsquo; belassen
787 <li>&lsquo;<samp><span class="samp">attribute</span></samp>&rsquo; &ndash; Das LDAP-Attribut, in dem der Benutzername steht, den der Benutzer eingegeben hat. Für Active-Directory-Server
788   ist dies meist &lsquo;<samp><span class="samp">sAMAccountName</span></samp>&rsquo;, für andere LDAP-Server hingegen &lsquo;<samp><span class="samp">uid</span></samp>&rsquo;. Diese Angabe ist zwingend erforderlich. 
789 <li>&lsquo;<samp><span class="samp">base_dn</span></samp>&rsquo; &ndash; Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich. 
790 <li>&lsquo;<samp><span class="samp">filter</span></samp>&rsquo; &ndash; Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort <code>&lt;%login%&gt;</code>, so wird dieses durch den vom Benutzer
791   eingegebenen Benutzernamen ersetzt. Andernfalls wird der LDAP-Baum nach einem Element durchsucht, bei dem das oben angegebene Attribut
792   mit dem Benutzernamen identisch ist. 
793 <li>&lsquo;<samp><span class="samp">bind_dn</span></samp>&rsquo; und &lsquo;<samp><span class="samp">bind_password</span></samp>&rsquo; &ndash; Wenn der LDAP-Server eine Anmeldung erfordert, bevor er durchsucht werden kann (z.B. ist dies bei
794   Active-Directory-Servern der Fall), so kann diese hier angegeben werden. Für Active-Directory-Server kann als &lsquo;<samp><span class="samp">bind_dn</span></samp>&rsquo; entweder eine
795   komplette LDAP-DN wie z.B. &lsquo;<samp><span class="samp">cn=Martin Mustermann,cn=Users,dc=firmendomain</span></samp>&rsquo; auch nur der volle Name des Benutzers
796   eingegeben werden; in diesem Beispiel also &lsquo;<samp><span class="samp">Martin Mustermann</span></samp>&rsquo;. 
797 </ul>
798
799 <div class="node">
800 <a name="Name-des-Session-Cookies"></a>
801 <a name="Name-des-Session_002dCookies"></a>
802 <p><hr>
803 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Anlegen-der-Authentifizierungsdatenbank">Anlegen der Authentifizierungsdatenbank</a>,
804 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Passwort_00c3_00bcberpr_00c3_00bcfung">Passwortüberprüfung</a>,
805 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
806
807 </div>
808
809 <h3 class="section">7.5 Name des Session-Cookies</h3>
810
811 <p>Sollen auf einem Server mehrere Lx-Office-Installationen aufgesetzt
812 werden, so müssen die Namen der Session-Cookies für alle
813 Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
814 Parameter <code>$self-&gt;{cookie_name}</code> gesetzt.
815
816    <p>Diese Angabe ist optional, wenn nur eine Installation auf dem Server
817 existiert.
818
819 <div class="node">
820 <a name="Anlegen-der-Authentifizierungsdatenbank"></a>
821 <p><hr>
822 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Name-des-Session_002dCookies">Name des Session-Cookies</a>,
823 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>
824
825 </div>
826
827 <h3 class="section">7.6 Anlegen der Authentifizierungsdatenbank</h3>
828
829 <p>Nachdem alle Einstellungen in <samp><span class="file">config/lx_office.conf</span></samp>
830 vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
831 anlegen. Dieses geschieht automatisch, wenn Sie sich im
832 Administrationsmodul anmelden, das unter der folgenden URL erreichbar
833 sein sollte:
834
835    <p><a href="http://localhost/lx-erp/admin.pl">http://localhost/lx-erp/admin.pl</a>
836
837 <!--  -->
838 <div class="node">
839 <a name="Benutzer--und-Gruppenverwaltung"></a>
840 <a name="Benutzer_002d-und-Gruppenverwaltung"></a>
841 <p><hr>
842 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Drucken-mit-Lx_002dOffice">Drucken mit Lx-Office</a>,
843 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Benutzerauthentifizierung-und-Administratorpasswort">Benutzerauthentifizierung und Administratorpasswort</a>,
844 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
845
846 </div>
847
848 <h2 class="chapter">8 Benutzer- und Gruppenverwaltung</h2>
849
850 <p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken
851 angelegt werden.  Dieses geschieht im Administrationsmenü, das Sie
852 unter folgender URL finden:
853
854    <p><a href="http://localhost/lx-erp/admin.pl">http://localhost/lx-erp/admin.pl</a>
855
856    <p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
857 <samp><span class="file">config/lx_office.conf</span></samp> eingetragen haben.
858
859 <ul class="menu">
860 <li><a accesskey="1" href="#Zusammenh_00c3_00a4nge">Zusammenhänge</a>:  Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
861 <li><a accesskey="2" href="#Datenbanken-anlegen">Datenbanken anlegen</a>:  Hinweise zum Anlegen von Datenbanken
862 <li><a accesskey="3" href="#Gruppen-anlegen">Gruppen anlegen</a>:  Hinweise zum Anlegen von Gruppen
863 <li><a accesskey="4" href="#Benutzer-anlegen">Benutzer anlegen</a>:  Hinweise zum Anlegen von Benutzern
864 <li><a accesskey="5" href="#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>:  Wie man Gruppen Benutzer zuordnet
865 <li><a accesskey="6" href="#Migration-alter-Installationen">Migration alter Installationen</a>:  Automatische Übernahme bei Update von einer älteren Version
866 </ul>
867
868 <div class="node">
869 <a name="Zusammenh%c3%a4nge"></a>
870 <a name="Zusammenh_00c3_00a4nge"></a>
871 <p><hr>
872 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Datenbanken-anlegen">Datenbanken anlegen</a>,
873 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
874
875 </div>
876
877 <h3 class="section">8.1 Zusammenhänge</h3>
878
879 <p>Lx-Office verwendet eine Datenbank zum Speichern all seiner
880 Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
881 mit Lx-Office arbeiten zu können, muss eine Person einen
882 Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine
883 Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist
884 möglich und normal, dass mehreren Benutzern die selbe Datenbank
885 zugewiesen wird, sodass sie alle mit den selben Daten arbeiten können.
886
887    <p>Die Basisdaten der Benutzer, die in der Administration eingegeben
888 werden können, werden in einer zweiten Datenbank gespeichert, der
889 bereits erwähnten Authentifizierungsdatenbank. Diese ist also den
890 Produktivdaten enthaltenden Datenbanken vorgeschaltet. Pro
891 Lx-Office-Installation gibt es nur eine Authentifizierungsdatenbank,
892 aber beliebig viele Datenbanken mit Firmendaten.
893
894    <p>Lx-Office kann seinen Benutzern Zugriff auf bestimmte
895 Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
896 gestattet, so werden der entsprechenden Menüpunkte auch nicht
897 angezeigt. Diese Rechte werden ebenfalls in der
898 Authentifizierungsdatenbank gespeichert.
899
900    <p>Um Rechte verteilen zu können, verwendet Lx-Office ein
901 Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
902 erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
903 mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
904 Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
905 Benutzer Mitglied ist.
906
907    <p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und Benutzer
908 angelegt werden sollten, lautet:
909
910      <ol type=1 start=1>
911 <li>Datenbank anlegen
912 <li>Gruppen anlegen
913 <li>Benutzer anlegen
914 <li>Benutzer den Gruppen zuordnen
915         </ol>
916
917 <div class="node">
918 <a name="Datenbanken-anlegen"></a>
919 <p><hr>
920 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Gruppen-anlegen">Gruppen anlegen</a>,
921 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Zusammenh_00c3_00a4nge">Zusammenhänge</a>,
922 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
923
924 </div>
925
926 <h3 class="section">8.2 Datenbanken anlegen</h3>
927
928 <p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für den
929 Datenbankzugriff den vorhin angelegten Benutzer (in unseren Beispielen
930 ist dies &lsquo;<samp><span class="samp">lxoffice</span></samp>&rsquo;).
931
932    <p>Wenn Sie für die Lx-Office-Installation nicht den europäischen
933 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
934 müssen Sie vor dem Anlegen der Datenbank in der Datei
935 <samp><span class="file">config/lx_office.conf</span></samp> die Variable <code>dbcharset</code> im
936 Abschnitt <code>system</code> auf den Wert &lsquo;<samp><span class="samp">UTF-8</span></samp>&rsquo; setzen. Zusätzlich
937 muss beim Anlegen der Datenbank &lsquo;<samp><span class="samp">UTF-8 Unicode</span></samp>&rsquo; als Schriftsatz
938 ausgewählt werden.
939
940    <p>Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
941 verwenden müssen, da diese Einstellungen momentan global in Lx-Office
942 vorgenommen wird und nicht nach Datenbank unterschieden werden
943 kann. Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz
944 angelegt worden sein.
945
946 <div class="node">
947 <a name="Gruppen-anlegen"></a>
948 <p><hr>
949 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Benutzer-anlegen">Benutzer anlegen</a>,
950 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Datenbanken-anlegen">Datenbanken anlegen</a>,
951 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
952
953 </div>
954
955 <h3 class="section">8.3 Gruppen anlegen</h3>
956
957 <p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein Name
958 gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
959 Anlegen können Sie die verschiedenen Bereiche wählen, auf die
960 Mitglieder dieser Gruppe Zugriff haben sollen.
961
962    <p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der
963 Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
964 Datenbanken, die in dieser Installation verwaltet werden.
965
966 <div class="node">
967 <a name="Benutzer-anlegen"></a>
968 <p><hr>
969 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
970 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Gruppen-anlegen">Gruppen anlegen</a>,
971 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
972
973 </div>
974
975 <h3 class="section">8.4 Benutzer anlegen</h3>
976
977 <p>Beim Anlegen von Benutzern werden für viele Parameter
978 Standardeinstellungen vorgenommen, die den Gepflogenheiten des
979 deutschen Raumes entsprechen.
980
981    <p>Zwingend anzugeben sind der Loginname sowie die komplette
982 Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
983 Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
984 gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
985 aktiv, so ist das Passwort-Feld deaktiviert.
986
987    <p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der eben
988 angelegten Datenbanken eingetragen werden.
989
990 <div class="node">
991 <a name="Gruppenmitgliedschaften-verwalten"></a>
992 <p><hr>
993 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Migration-alter-Installationen">Migration alter Installationen</a>,
994 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Benutzer-anlegen">Benutzer anlegen</a>,
995 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
996
997 </div>
998
999 <h3 class="section">8.5 Gruppenmitgliedschaften verwalten</h3>
1000
1001 <p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den Gruppen
1002 zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
1003
1004      <ol type=1 start=1>
1005 <li>In der Gruppenverwaltung wählt man eine Gruppe aus. Im folgenden
1006 Dialog kann man dann einzeln die Benutzer der Gruppe hinzufügen. 
1007 <li>In der Gruppenverwaltung wählt man das Tool zur Verwaltung der
1008 Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die alle im
1009 System angelegten Gruppen und Benutzer enthält. Durch Setzen der
1010 Häkchen wird der Benutzer in der ausgewählten Zeile der Gruppe in der
1011 ausgewählten Spalte hinzugefügt.
1012         </ol>
1013
1014 <div class="node">
1015 <a name="Migration-alter-Installationen"></a>
1016 <p><hr>
1017 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Gruppenmitgliedschaften-verwalten">Gruppenmitgliedschaften verwalten</a>,
1018 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>
1019
1020 </div>
1021
1022 <h3 class="section">8.6 Migration alter Installationen</h3>
1023
1024 <p>Wenn Lx-Office 2.6.2 über eine ältere Version installiert wird, in der
1025 die Benutzerdaten noch im Dateisystem im Verzeichnis <code>users</code>
1026 verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
1027 Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
1028 übernehmen. Dies geschieht, wenn man sich nach dem Update der
1029 Installation das erste Mal im Administrationsbereich anmeldet. Findet
1030 Lx-Office die Datei <code>users/members</code>, so wird der
1031 Migrationsprozess gestartet.
1032
1033    <p>Der Migrationsprozess ist nahezu vollautomatisch. Alle Benutzerdaten
1034 können übernommen werden. Nach den Benutzerdaten bietet Lx-Office noch
1035 die Möglichkeit an, dass automatisch eine Benutzergruppe angelegt
1036 wird. Dieser Gruppe wird Zugriff auf alle Funktionen von Lx-Office
1037 gewährt. Alle migrierten Benutzern werden Mitglied in dieser
1038 Gruppe. Damit wird das Verhalten von Lx-Office bis Version 2.4.3
1039 inklusive wiederhergestellt, und die Benutzer können sich sofort
1040 wieder anmelden und mit dem System arbeiten.
1041
1042 <!--  -->
1043 <div class="node">
1044 <a name="Drucken-mit-Lx-Office"></a>
1045 <a name="Drucken-mit-Lx_002dOffice"></a>
1046 <p><hr>
1047 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
1048 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Benutzer_002d-und-Gruppenverwaltung">Benutzer- und Gruppenverwaltung</a>,
1049 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
1050
1051 </div>
1052
1053 <h2 class="chapter">9 Drucken mit Lx-Office</h2>
1054
1055 <p>Das Drucksystem von Lx-Office benutzt von Haus aus LaTeX Vorlagen. Um drucken
1056 zu können, braucht der Server ein geeignetes LaTeX System. Am einfachsten ist
1057 dazu eine <code>texlive</code> Installation. Unter Debianoiden Betriebssystemen sind
1058 das die Pakete:
1059
1060    <p><code>texlive-latex-base texlive-latex-extra texlive-fonts-recommended</code>
1061
1062    <p>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die von den
1063 Standardvorlagen verwendet werden.
1064
1065    <p>TODO: rpm Pakete.
1066
1067    <p>In den allermeisten Installationen sollte drucken jetzt schon funktionieren. 
1068 Sollte ein Fehler auftreten wirft TeX sehr lange Fehlerbeschreibungen, der
1069 eigentliche Fehler ist immer die erste Zeite die mit einem Ausrufezeichen
1070 anfängt. Häufig auftretende Fehler sind zum Beispiel:
1071
1072      <ul>
1073 <li>! LaTeX Error: File `eurosym.sty' not found. 
1074 Die entsprechende LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem
1075 bei Vorlagen aus der Community auf. Installieren Sie die entsprechenden Pakete. 
1076 <li>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for use with LaTeX. 
1077 Dieser Fehler tritt auf, wenn sie versuchen mit einer Standardinstallation
1078 exotische utf8 Zeichen zu drucken. TeXLive unterstützt von Haus nur romanische
1079 Schriften und muss mit diversen Tricks dazu gebracht werden andere Zeichen zu
1080 akzeptieren. Adere TeX Systeme wie XeTeX schaffen hier Abhilfe. 
1081 </ul>
1082
1083    <p>Wird garkein Fehler angezeigt sondern nur der Name des Templates, heißt das
1084 normalerweise, dass das LaTeX Binary nicht gefunden wurde. Prüfen Sie den Namen
1085 in der Konfiguration (Standard: <code>pdflatex</code>), und stellen Sie sicher, dass
1086 pdflatex (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
1087 darf.
1088
1089 <!--  -->
1090 <div class="node">
1091 <a name="OpenDocument-Vorlagen"></a>
1092 <a name="OpenDocument_002dVorlagen"></a>
1093 <p><hr>
1094 n&auml;chstes:&nbsp;<a rel="next" accesskey="n" href="#Lx_002dOffice-ERP-verwenden">Lx-Office ERP verwenden</a>,
1095 voriges:&nbsp;<a rel="previous" accesskey="p" href="#Drucken-mit-Lx_002dOffice">Drucken mit Lx-Office</a>,
1096 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
1097
1098 </div>
1099
1100 <h2 class="chapter">10 OpenDocument-Vorlagen</h2>
1101
1102 <p>Lx-Office unterstützt die Verwendung von Vorlagen im
1103 OpenDocument-Format, wie es OpenOffice.org ab Version 2
1104 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
1105 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
1106 OpenDocument-Vorlagen zu aktivieren muss in der Datei
1107 <samp><span class="file">config/lx_office.conf</span></samp> die Variable <code>opendocument</code> im
1108 Abschnitt <code>print_templates</code> auf &lsquo;<samp><span class="samp">1</span></samp>&rsquo; stehen.  Dieses ist die
1109 Standardeinstellung.
1110
1111    <p>Weiterhin muss in der Datei <samp><span class="file">config/lx_office.conf</span></samp> die Variable
1112 <code>dbcharset</code> im Abschnitt <code>system</code> auf die Zeichenkodierung
1113 gesetzt werden, die auch bei der Speicherung der Daten in der
1114 Datenbank verwendet wird. Diese ist in den meisten Fällen "UTF-8".
1115
1116    <p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
1117 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
1118 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
1119 neben OpenOffice.org ab Version 2 auch der &ldquo;X virtual frame buffer&rdquo;
1120 (xvfb) installiert werden.  Bei Debian ist er im Paket &ldquo;xvfb&rdquo;
1121 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
1122
1123    <p>Nach der Installation müssen in der Datei <samp><span class="file">config/lx_config.conf</span></samp>
1124 zwei weitere Variablen angepasst werden: <code>openofficeorg_writer</code>
1125 muss den vollständigen Pfad zur OpenOffice.org Writer-Anwendung
1126 enthalten. <code>xvfb</code> muss den Pfad zum &ldquo;X virtual frame buffer&rdquo;
1127 enthalten. Beide stehen im Abschnitt <code>applications</code>.
1128
1129    <p>Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
1130 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
1131 die Variable <code>$openofficeorg_daemon</code> gesetzt ist, startet ein
1132 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
1133 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
1134 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
1135 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
1136 werden muss. Der Nachteil ist, dass diese Methode Python und die
1137 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
1138
1139    <p>Ist <code>$openofficeorg_daemon</code> nicht gesetzt, so wird für jedes
1140 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
1141 eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
1142 enthalten sein und &ldquo;Standard.Conversion.ConvertSelfToPDF()&rdquo;
1143 heißen. Die Beispielvorlage &lsquo;<samp><span class="samp">templates/German-invoice.odt</span></samp>&rsquo;
1144 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
1145 ebenfalls enthalten sein muss.
1146
1147    <p>Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
1148 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
1149 Debian ist dies momentan <code>~/.openoffice.org2</code>. Sollte der Name
1150 bei Ihrer OpenOffice.org-Installation anders sein, so muss das
1151 Verzeichnis <code>users/.openoffice.org2</code> entsprechend umbenannt
1152 werden. Ist der Name z.B. einfach nur <code>.openoffice</code>, so wäre
1153 folgender Befehl auszuführen:
1154
1155    <p><code>mv users/.openoffice.org2 users/.openoffice</code>
1156
1157    <p>Dieses Verzeichnis, wie auch das komplette <code>users</code>-Verzeichnis, muss vom
1158 Webserver beschreibbar sein. Dieses wurde bereits erledigt
1159 (see <a href="#Manuelle-Installation-des-Programmpaketes">Manuelle Installation des Programmpaketes</a>), kann aber erneut überprüft
1160 werden, wenn die Konvertierung nach PDF fehlschlägt.
1161
1162 <!--  -->
1163 <div class="node">
1164 <a name="Lx-Office-ERP-verwenden"></a>
1165 <a name="Lx_002dOffice-ERP-verwenden"></a>
1166 <p><hr>
1167 voriges:&nbsp;<a rel="previous" accesskey="p" href="#OpenDocument_002dVorlagen">OpenDocument-Vorlagen</a>,
1168 aufw&auml;rts:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
1169
1170 </div>
1171
1172 <h2 class="chapter">11 Lx-Office ERP verwenden</h2>
1173
1174 <p>Nach erfolgreicher Installation ist der Loginbildschirm unter
1175 folgender URL erreichbar:
1176
1177    <p><a href="http://localhost/lx-office-erp/login.pl">http://localhost/lx-office-erp/login.pl</a>
1178
1179    <p>Die Administrationsseite erreichen Sie unter:
1180
1181    <p><a href="http://localhost/lx-office-erp/admin.pl">http://localhost/lx-office-erp/admin.pl</a>
1182
1183 </body></html>
1184
1185 <!--
1186 \1f
1187 Local Variables:
1188 coding: utf-8
1189 End:
1190
1191 -->