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