Einführung des Modules "Template" als schnellere Alternative (Faktor 9) zu "HTML...
[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
162 OpenDocument-Vorlagen
163 =====================
164 Lx-Office unterstützt die Verwendung von Vorlagen im
165 OpenDocument-Format, wie es OpenOffice.org ab Version 2
166 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
167 auch aus diesen direkt PDF-Dateien erzeugen.  Um die Unterstützung von
168 OpenDocument-Vorlagen zu aktivieren muss in der Datei "lx-erp.conf"
169 die Variable "$opendocument_templates" auf "1" stehen.  Dieses ist die
170 Standardeinstellung.
171
172 Weiterhin muss in der Datei "lx-erp.conf" die Variable "$dbcharset"
173 auf die Zeichenkodierung gesetzt werden, die auch bei der Speicherung
174 der Daten in der Datenbank verwendet wird. Diese ist in den meisten
175 Fällen "ISO-8859-15".
176
177 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
178 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
179 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
180 neben OpenOffice.org ab Version 2 auch der "X virtual frame buffer"
181 (xvfb) installiert werden.  Bei Debian ist er im Paket "xvfb"
182 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
183
184 Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere
185 Variablen angepasst werden: "$openofficeorg_writer_bin" muss den
186 vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
187 "$xvfb_bin" muss den Pfad zum "X virtual frame buffer" enthalten.
188
189 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
190 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
191 die Variable "$openofficeorg_daemon" gesetzt ist, startet ein
192 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
193 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
194 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
195 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
196 werden muss. Der Nachteil ist, dass diese Methode Python und die
197 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
198
199 Ist "$openofficeorg_daemon" nicht gesetzt, so wird für jedes Dokument
200 OpenOffice neu gestartet und die Konvertierung mit Hilfe eines Makros
201 durchgeführt. Dieses Makro muss in der Dokumentenvorlage enthalten
202 sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
203 Beispielvorlage templates/German-invoice.odt enthält ein solches
204 Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
205 muss.
206
207 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
208 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
209 Debian ist dies momentan "~/.openoffice.org2". Sollte der Name bei
210 Ihrer OpenOffice.org-Installation anders sein, so muss das Verzeichnis
211 "users/.openoffice.org2" entsprechend umbenannt werden. Ist der Name
212 z.B. einfach nur ".openoffice", so wäre folgender Befehl auszuführen:
213
214 mv users/.openoffice.org2 users/.openoffice
215
216 Dieses Verzeichnis, wie auch das komplette "users"-Verzeichnis, muss
217 vom Webserver beschreibbar sein. Dieses wurde in Schritt "Installation
218 des Programmpakets" oben bereits erledigt, kann aber erneut überprüft
219 werden, wenn die Konvertierung nach PDF fehlschlägt.
220
221
222 Lx-Office ERP verwenden 
223 =======================
224 Einloggen können Sie sich unter: 
225
226 http://localhost/lx-office-erp/login.pl