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