0d8234167f492f62ae0edb5d72b66f83c288a277
[kivitendo-erp.git] / doc / INSTALL
1 Aktuelle Installations- und Konfigurationshinweise: 
2 ===================================================
3
4 gibt es:
5
6 -auf der Lx-Office Homepage unter
7 http://lx-office.org/index.php?id=dokumentation
8 -im Lx-Office-Wiki unter Dokumentation
9 http://wiki.lx-office.org/index.php/Lx-Office_ERP
10 -im Lx-Office-Forum:
11 http://www.lx-office.org/forum/
12
13 =======================================
14
15 Lx-Office ERP
16 Installationsanleitung
17
18
19 Folgende Pakete müssen installiert sein:
20 ========================================
21 Webserver (Apache)
22 PostgreSQL - Datenbank 
23
24 Benötigte Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation
25 sind:
26
27 * DBI
28 * DBD::Pg
29 * HTML::Template
30 * CGI::Ajax
31 * Class::Accessor
32 * Archive::Zip
33 * Text::Iconv
34 * Text::CSV_XS
35 * IO::Wrap (aus dem Paket IO::Stringy)
36 * YAML
37
38 Diese Pakete können bei den unterschiedlichen Distributionen anders heißen. 
39 (Debian: apache, postgresql, libdbi-perl, libdbd-pg-perl,  libpgperl, libhtml-template-perl, libclass-accessor-perl, libarchive-zip-perl, libtext-iconv-perl, libyaml-perl, libtext-csv-perl, libio-stringy-perl)
40 (Fedora: httpd, postgresql-server, perl-DBI, perl-DBD-Pg)
41 (SuSE: apache2, postgresql-server,  perl-DBI, perl-DBD-Pg, perl-Archive-Zip, perl-Class-Accessor, perl-Text-Iconv, perl-Text-CSV_XS, perl-HTML-Template, perl-IO-stringy)
42
43
44 Da Perl-CGI-Ajax nicht als Paket für Distributionen bereit steht, muß es mit der CPAN-Shell installiert werden.
45 Leider gibt es Fälle, in denen das nicht möglich oder praktikabel ist. LxO liefert daher das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen.
46
47
48 Die PostgreSQL Konfiguration muß angepasst werden.
49 ==================================================
50 In der Datei postgresql.conf (/var/lib/pgsql/data/ oder /etc/postgresql/) muß folgender Wert verändert werden:
51
52 TCPIP_SOCKET = 1 #  Nur PostgreSQL < 8.0
53
54 default_with_oids = on # Nur PostgreSQL >= 8.0
55
56
57 In der Datei pg_hba.conf (/var/lib/pgsql/data/ oder /etc/postgresql/) müssen die Berichtigungen für den 
58 Zugriff geändert werden:
59
60 alte Eintragung: 
61 ----------------
62 local   all all ident sameuser
63 host all all 127.0.0.1 255.0.0.0        ident sameuser
64
65 Änderung: 
66 ---------
67 local   all all trust
68 host all all 127.0.0.1 255.0.0.0        trust
69
70 Besser:
71 -------
72 local   all         lxoffice                                           password
73 host    all         lxoffice      127.0.0.1         255.255.255.255    password
74
75
76 Installation des Programmpaketes 
77 ================================
78 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.4.x.tgz) in den DocumentRoot des Webservers
79 (/var/www/html/ oder /srv/www/htdocs oder /var/www/) entpacken.
80
81 tar xvzf lxoffice-erp-2.4.x.tgz
82
83 Verändern Sie evtl. noch den Namen des Verzeichnisses
84
85 mv lxoffice-erp/ lx-erp/
86
87 oder noch besser, Sie verwenden einen Alias in der Webserverkonfiguration.
88
89 Das Verzeichnis muß dem Webserverbenutzer (Debian: www-data, Fedora: apache, SuSE: wwwrun) übergeben werden:
90
91 chown apache: -R lx-office-erp/
92
93
94 Datenbankbenutzer anlegen
95 =========================
96
97 Es sollte zum Zugriff auf die PostgreSQL Datenbank ein Datenbankbenutzer angelegt werden. Führen Sie dazu 
98 folgende Befehle nacheinander aus.
99
100 su - postgres
101 createuser -d lxoffice (ohne Passwort) 
102 oder besser
103 createuser -d -P lxoffice (mit Passwort)
104
105 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie den evtl. voreingestellten Benutzer 
106 "postgres" auf "lxoffice".
107
108
109 PostgreSQL - Datenbank erweitern 
110 ================================
111 In der Datenbank "template1" sollte bevor die restliche Konfiguration von LxOffice ERP erfolgt noch folgende
112 Funktion hinzugefügt werden:
113
114 su postgres
115 psql template1  (Zugriff über Admintool auf die Datenbank)
116 create function plpgsql_call_handler ()
117 returns opaque
118 as '/usr/lib/pgsql/plpgsql.so'  
119 language 'c';
120
121 create language 'plpgsql' handler plpgsql_call_handler
122 lancompiler 'pl/pgsql';
123
124 !!!! Bitte beachten Sie, das der Pfad zur Datei plpgsql.so und der Name von Distribution zu Distribution verschieden sein kann.
125 Bei z.B. Debian befindet sie sich unter '/usr/lib/postgresql/lib/plpgsql.so'.
126
127
128 Apache Konfiguration 
129 ====================
130 Der Zugriff auf das Programmverzeichnis muß in der Apache Webserver- konfiguration httpd.conf 
131 (/etc/httpd/conf/) [bei SuSE evtl. httpd2.conf] konfiguriert werden:
132
133 AddHandler cgi-script .pl
134 Alias /lx-erp/ /var/www/lx-erp/
135 <Directory /var/www/lx-erp>
136   Options ExecCGI Includes FollowSymlinks
137   DirectoryIndex login.pl                       # nicht mehr unbedingt nötig, da eine index.html mitgeliefert wird
138 </Directory>
139
140 <Directory /var/www/lx-erp/users>
141   Order Deny,Allow
142   Deny from All
143 </Directory>
144
145 !!!Vor den einzelnen Optionen muß bei einigen Distributionen ein Plus "+" gesetzt werden.
146
147 Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets nicht ausgeliefert. Daher die Apache-Konfig um diese Zeile erweitern:
148
149 EnableSendfile Off
150
151 Datenbank anlegen 
152 =================
153 Das Administrationsmenü finden Sie unter: 
154
155 http://localhost/lx-erp/admin.pl
156
157 Zuerst muß eine Datenbank angelegt werden. Anschließend ein Benutzer. Verwenden Sie für den 
158 Datenbankzugriff den eben angelegten Benutzer lxoffice. 
159
160
161 OpenDocument-Vorlagen
162 =====================
163 Lx-Office unterstützt die Verwendung von Vorlagen im
164 OpenDocument-Format, wie es OpenOffice.org ab Version 2
165 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
166 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
167 OpenDocument-Vorlagen zu aktivieren muss in der Datei "lx-erp.conf"
168 die Variable "$opendocument_templates" auf "1" stehen.  Dieses ist die
169 Standardeinstellung.
170
171 Weiterhin muss in der Datei "lx-erp.conf" die Variable "$dbcharset"
172 auf die Zeichenkodierung gesetzt werden, die auch bei der Speicherung
173 der Daten in der Datenbank verwendet wird. Diese ist in den meisten
174 Fällen "ISO-8859-15".
175
176 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
177 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
178 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
179 neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer"
180 (xvfb) installiert werden.  Bei Debian ist er im Paket "xvfb"
181 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
182
183 Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere
184 Variablen angepasst werden: "$openofficeorg_writer_bin" muss den
185 vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
186 "$xvfb_bin" muss den Pfad zum "X virtual frame buffer" enthalten.
187
188 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
189 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
190 die Variable "$openofficeorg_daemon" gesetzt ist, startet ein
191 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
192 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
193 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
194 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
195 werden muss. Der Nachteil ist, dass diese Methode Python und die
196 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
197
198 Ist "$openofficeorg_daemon" nicht gesetzt, so wird für jedes Dokument
199 OpenOffice neu gestartet und die Konvertierung mit Hilfe eines Makros
200 durchgeführt. Dieses Makro muss in der Dokumentenvorlage enthalten
201 sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
202 Beispielvorlage templates/German-invoice.odt enthält ein solches
203 Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
204 muss.
205
206 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
207 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
208 Debian ist dies momentan "~/.openoffice.org2". Sollte der Name bei
209 Ihrer OpenOffice.org-Installation anders sein, so muss das Verzeichnis
210 "users/.openoffice.org2" entsprechend umbenannt werden. Ist der Name
211 z.B. einfach nur ".openoffice", so wäre folgender Befehl auszuführen:
212
213 mv users/.openoffice.org2 users/.openoffice
214
215 Dieses Verzeichnis, wie auch das komplette "users"-Verzeichnis, muss
216 vom Webserver beschreibbar sein. Dieses wurde in Schritt "Installation
217 des Programmpakets" oben bereits erledigt, kann aber erneut überprüft
218 werden, wenn die Konvertierung nach PDF fehlschlägt.
219
220
221 Lx-Office ERP verwenden 
222 =======================
223 Einloggen können Sie sich unter: 
224
225 http://localhost/lx-office-erp/login.pl