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