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