Den MIME-Typ von HTML-Seiten auf "text/html" gesetzt.
[kivitendo-erp.git] / doc / INSTALL.txt
1 Inhaltsverzeichnis
2 ******************
3
4 Inhalt der Anleitung
5 1 Aktuelle Hinweise
6 2 Benötigte Software und Pakete
7 3 Installation des Programmpaketes
8 4 Anpassung der PostgreSQL-Konfiguration
9   4.1 Änderungen an Konfigurationsdateien
10   4.2 Erweiterung für servergespeicherte Prozeduren
11   4.3 Datenbankbenutzer anlegen
12 5 Apache-Konfiguration
13 6 Benutzer und Datenbanken anlegen
14 7 OpenDocument-Vorlagen
15 8 Lx-Office ERP verwenden
16
17
18 Inhalt der Anleitung
19 ********************
20
21 1 Aktuelle Hinweise
22 *******************
23
24 Aktuelle Installations- und Konfigurationshinweise gibt es:
25
26    * auf der Lx-Office Homepage unter
27      `http://lx-office.org/index.php?id=dokumentation'
28
29    * im Lx-Office-Wiki unter Dokumentation
30      (`http://wiki.lx-office.org/index.php/Lx-Office_ERP')
31
32    * im Lx-Office-Forum: `http://www.lx-office.org/forum/'
33
34 2 Benötigte Software und Pakete
35 *******************************
36
37 Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
38 und ein Datenbankserver (PostgreSQL) benötigt.
39
40    Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht
41 Bestandteil einer Standard-Perl-Installation sind:
42
43    * DBI
44
45    * DBD::Pg
46
47    * CGI::Ajax
48
49    * Class::Accessor
50
51    * Archive::Zip
52
53    * Text::Iconv
54
55    * Text::CSV_XS
56
57    * IO::Wrap (aus dem Paket IO::Stringy)
58
59    * YAML
60
61    * Template
62
63    Diese Pakete können bei den unterschiedlichen Distributionen anders
64 heißen.
65
66    Für Debian oder Ubuntu benötigen Sie diese Pakete:
67
68    `apache postgresql libdbi-perl libdbd-pg-perl libpgperl
69 libclass-accessor-perl libarchive-zip-perl libtext-iconv-perl
70 libyaml-perl libtext-csv-perl libio-stringy-perl libtemplate-perl'
71
72    Für Fedora Core benötigen Sie unter anderem diese Pakete:
73
74    `httpd postgresql-server perl-DBI perl-DBD-Pg'
75
76    Für OpenSuSE benötigen Sie diese Pakete:
77
78    `apache2 postgresql-server perl-DBI perl-DBD-Pg perl-Archive-Zip
79 perl-Class-Accessor perl-Text-Iconv perl-Text-CSV_XS perl-IO-stringy
80 perl-Template-Toolkit'
81
82    Da Perl-CGI-Ajax nicht als Paket für Distributionen bereit steht, muß
83 es mit der CPAN-Shell installiert werden.  Leider gibt es Fälle, in
84 denen das nicht möglich oder praktikabel ist. Lx-Office liefert daher
85 das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen.
86
87 3 Installation des Programmpaketes
88 **********************************
89
90 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.4.x.tgz) wird im
91 Dokumentenverzeichnis des Webservers (z.B. `/var/www/html/',
92 `/srv/www/htdocs' oder `/var/www/') entpackt:
93
94    `cd /var/www
95 tar xvzf lxoffice-erp-2.4.x.tgz'
96
97    Verändern Sie evtl. noch den Namen des Verzeichnisses mit
98
99    `mv lxoffice-erp/ lx-erp/'
100
101    Alternativ können Sie auch einen Alias in der Webserverkonfiguration
102 benutzen, um auf das tatsächliche Installationsverzeichnis zu verweisen.
103
104    Das Verzeichnis muß für den Benutzer beschreibbar sein, unter dem der
105 Webserver läuft. Dieser ist bei verschiedenen Distributionen
106 unterschiedlich (z.B. bei Debian/Ubuntu `www-data', bei Fedora core
107 `apache' oder bei OpenSuSE `wwwrun').
108
109    `chown -R www-data: lx-office-erp/'
110
111 4 Anpassung der PostgreSQL-Konfiguration
112 ****************************************
113
114 PostgreSQL muss auf verschiedene Weisen angepasst werden.
115
116 4.1 Änderungen an Konfigurationsdateien
117 =======================================
118
119 In der Datei `postgresql.conf', die je nach Distribution in
120 verschiedenen Verzeichnissen liegen kann (z.B. `/var/lib/pgsql/data/'
121 oder `/etc/postgresql/', muss sichergestellt werden, dass
122 TCP/IP-Verbindungen aktiviert sind. Dieser Parameter lautet
123
124    `TCPIP_SOCKET = 1'
125
126    Bei PostgreSQL-Versionen ab v8.0 und neuer muss zusätzlich der
127 folgende Parameter gesetzt werden:
128
129    `default_with_oids = on'
130
131    In der Datei `pg_hba.conf', die im gleichen Verzeichnis wie die
132 `postgresql.conf' zu finden sein sollte, müssen die Berichtigungen für
133 den Zugriff geändert werden. Hier gibt es mehrere Möglichkeiten. Eine
134 besteht darin, lokale Verbindungen immer zuzulassen
135
136    `local all all trust
137 host all all 127.0.0.1 255.0.0.0 trust'
138
139    Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
140 zuzulassen. Beispielsweise:
141
142    `local   all         lxoffice
143   password
144 host    all         lxoffice      127.0.0.1         255.255.255.255
145 password'
146
147 4.2 Erweiterung für servergespeicherte Prozeduren
148 =================================================
149
150 In der Datenbank `template1' muss die Unterstützung für
151 servergespeicherte Prozeduren eingerichet werden. Melden Sie sich dafür
152 als Benutzer "postgres" an der Datenbank an, und führen Sie die
153 folgenden Kommandos aus:
154
155    `create function plpgsql_call_handler () returns opaque as
156 '/usr/lib/pgsql/plpgsql.so' language 'c';
157 create language 'plpgsql' handler plpgsql_call_handler lancompiler
158 'pl/pgsql';'
159
160    Bitte beachten Sie, dass der Pfad zur Datei `plpgsql.so' von
161 Distribution zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu
162 befindet sie sich unter `/usr/lib/postgresql/lib/plpgsql.so'.
163
164 4.3 Datenbankbenutzer anlegen
165 =============================
166
167 Wenn Sie nicht den Datenbanksuperuser "postgres" zum Zugriff benutzen
168 wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer anlegen. Ein
169 Beispiel, wie Sie einen neuen Benutzer anlegen können:
170
171    `su - postgres
172 createuser -d -P lxoffice'
173
174    Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
175 den evtl. voreingestellten Benutzer "postgres" auf "lxoffice" bzw. den
176 hier gewählten Benutzernamen.
177
178 5 Apache-Konfiguration
179 **********************
180
181 Der Zugriff auf das Programmverzeichnis muss in der Apache
182 Webserverkonfigurationsdatei `httpd.conf' eingestellt werden. Fügen Sie
183 den folgenden Abschnitt dieser Datei oder einer anderen Datei hinzu,
184 die beim Starten des Webservers eingelesen wird:
185
186    `
187 AddHandler cgi-script .pl
188 Alias /lx-erp/ /var/www/lx-erp/
189 <Directory /var/www/lx-erp>
190 Options ExecCGI Includes FollowSymlinks
191 </Directory>
192 <Directory /var/www/lx-erp/users>
193 Order Deny,Allow
194 Deny from All
195 </Directory>
196 '
197
198    Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
199 Lx-Office-Archiv entpacket haben.
200
201    Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen
202 ein Plus `+' gesetzt werden.
203
204    Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
205 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die folgende
206 Option in die Konfiguration aufzunehmen:
207
208    `EnableSendfile Off'
209
210 6 Benutzer und Datenbanken anlegen
211 **********************************
212
213 Nach der Installation müssen Benutzer und Datenbanken angelegt werden.
214 Dieses geschieht im Administrationsmenü, dass Sie unter folgender URL
215 finden:
216
217    `http://localhost/lx-erp/admin.pl'
218
219    Zuerst muss eine Datenbank angelegt werden, anschließend ein
220 Benutzer. Verwenden Sie für den Datenbankzugriff den eben angelegten
221 Benutzer "lxoffice".
222
223    Wenn Sie für die Lx-Office-Installation nicht den europäischen
224 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
225 müssen Sie vor dem Anlegen der Datenbank in der Datei "lx-erp.conf" die
226 Variable `$dbcharset' auf den Wert "UTF-8" setzen. Zusätzlich muss beim
227 Anlegen der Datenbank "UTF-8 Unicode" als Schriftsatz ausgewählt werden.
228
229 7 OpenDocument-Vorlagen
230 ***********************
231
232 Lx-Office unterstützt die Verwendung von Vorlagen im
233 OpenDocument-Format, wie es OpenOffice.org ab Version 2 erzeugt.
234 Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als auch aus
235 diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
236 OpenDocument-Vorlagen zu aktivieren muss in der Datei "lx-erp.conf" die
237 Variable `$opendocument_templates' auf "1" stehen.  Dieses ist die
238 Standardeinstellung.
239
240    Weiterhin muss in der Datei "lx-erp.conf" die Variable `$dbcharset'
241 auf die Zeichenkodierung gesetzt werden, die auch bei der Speicherung
242 der Daten in der Datenbank verwendet wird. Diese ist in den meisten
243 Fällen "ISO-8859-15".
244
245    Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
246 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
247 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
248 neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer"
249 (xvfb) installiert werden.  Bei Debian ist er im Paket "xvfb"
250 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
251
252    Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere
253 Variablen angepasst werden: `$openofficeorg_writer_bin' muss den
254 vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
255 `$xvfb_bin' muss den Pfad zum "X virtual frame buffer" enthalten.
256
257    Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
258 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn die
259 Variable `$openofficeorg_daemon' gesetzt ist, startet ein OpenOffice,
260 das auch nach der Umwandlung des Dokumentes gestartet bleibt. Bei
261 weiteren Umwandlungen wird dann diese laufende Instanz benutzt. Der
262 Vorteil ist, dass die Zeit zur Umwandlung deutlich reduziert wird, weil
263 nicht für jedes Dokument ein OpenOffice gestartet werden muss. Der
264 Nachteil ist, dass diese Methode Python und die Python-UNO-Bindings
265 benötigt, die Bestandteil von OpenOffice 2 sind.
266
267    Ist `$openofficeorg_daemon' nicht gesetzt, so wird für jedes
268 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe eines
269 Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
270 enthalten sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
271 Beispielvorlage `templates/German-invoice.odt' enthält ein solches
272 Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
273 muss.
274
275    Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
276 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter Debian
277 ist dies momentan `~/.openoffice.org2'. Sollte der Name bei Ihrer
278 OpenOffice.org-Installation anders sein, so muss das Verzeichnis
279 `users/.openoffice.org2' entsprechend umbenannt werden. Ist der Name
280 z.B. einfach nur `.openoffice', so wäre folgender Befehl auszuführen:
281
282    `mv users/.openoffice.org2 users/.openoffice'
283
284    Dieses Verzeichnis, wie auch das komplette `users'-Verzeichnis, muss
285 vom Webserver beschreibbar sein. Dieses wurde in Schritt `Installation
286 des Programmpakets' oben bereits erledigt, kann aber erneut überprüft
287 werden, wenn die Konvertierung nach PDF fehlschlägt.
288
289 8 Lx-Office ERP verwenden
290 *************************
291
292 Nach erfolgreicher Installation ist der Loginbildschirm unter folgender
293 URL erreichbar:
294
295    `http://localhost/lx-office-erp/login.pl'
296
297    Die Administrationsseite erreichen Sie unter:
298
299    `http://localhost/lx-office-erp/admin.pl'
300