1 \input texinfo @c -*-texinfo-*-
3 @documentencoding ISO-8859-15
4 @setfilename INSTALL.info
5 @settitle Lx-Office Installationsanleitung
9 @c Die Lx-Office Installationsanleitung kann beliebig weiter verwendet
14 @title Lx-Office Installationsanleitung
21 @top Inhalt der Anleitung
25 * Aktuelle Hinweise:: Andere Informationsquellen als diese Anleitung
26 * Benötigte Software und Pakete:: Vorraussetzungen zum Betrieb von Lx-Office
27 * Installation des Programmpaketes:: Installationsort, Berechtigungen
28 * Anpassung der PostgreSQL-Konfiguration:: Verschiedene Aspekte der Datenbankkonfiguration
29 * Apache-Konfiguration:: Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
30 * Benutzer und Datenbanken anlegen:: Letzte Schritte vor der Anmeldung
31 * OpenDocument-Vorlagen:: Wichtige Hinweise zum Erstellen und zur Verwendung von Dokumentenvorlagen
32 * Lx-Office ERP verwenden:: Die URLs zur Anmeldung und Administration
35 @c ---------------------------------------------------------------
37 @node Aktuelle Hinweise
38 @chapter Aktuelle Hinweise
40 Aktuelle Installations- und Konfigurationshinweise gibt es:
44 auf der Lx-Office Homepage unter @uref{http://lx-office.org/index.php?id=dokumentation}
47 im Lx-Office-Wiki unter Dokumentation (@uref{http://wiki.lx-office.org/index.php/Lx-Office_ERP})
50 im Lx-Office-Forum: @uref{http://www.lx-office.org/forum/}
53 @c ---------------------------------------------------------------
55 @node Benötigte Software und Pakete
56 @chapter Benötigte Software und Pakete
58 Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL) benötigt.
60 Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:
78 IO::Wrap (aus dem Paket IO::Stringy)
85 Diese Pakete können bei den unterschiedlichen Distributionen anders heißen.
87 Für Debian oder Ubuntu benötigen Sie diese Pakete:
89 @code{apache postgresql libdbi-perl libdbd-pg-perl libpgperl libclass-accessor-perl libarchive-zip-perl libtext-iconv-perl libyaml-perl libtext-csv-perl libio-stringy-perl libtemplate-perl}
91 Für Fedora Core benötigen Sie unter anderem diese Pakete:
93 @code{httpd postgresql-server perl-DBI perl-DBD-Pg}
95 Für OpenSuSE benötigen Sie diese Pakete:
97 @code{apache2 postgresql-server perl-DBI perl-DBD-Pg perl-Archive-Zip perl-Class-Accessor perl-Text-Iconv perl-Text-CSV_XS perl-IO-stringy perl-Template-Toolkit}
99 Da Perl-CGI-Ajax nicht als Paket für Distributionen bereit steht, muß
100 es mit der CPAN-Shell installiert werden. Leider gibt es Fälle, in
101 denen das nicht möglich oder praktikabel ist. Lx-Office liefert daher
102 das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen.
104 @c ---------------------------------------------------------------
106 @node Installation des Programmpaketes
107 @chapter Installation des Programmpaketes
109 Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.4.x.tgz) wird im
110 Dokumentenverzeichnis des Webservers (z.B. @code{/var/www/html/},
111 @code{/srv/www/htdocs} oder @code{/var/www/}) entpackt:
115 tar xvzf lxoffice-erp-2.4.x.tgz}
117 Verändern Sie evtl. noch den Namen des Verzeichnisses mit
119 @code{mv lxoffice-erp/ lx-erp/}
121 Alternativ können Sie auch einen Alias in der Webserverkonfiguration
122 benutzen, um auf das tatsächliche Installationsverzeichnis zu
125 Das Verzeichnis muß für den Benutzer beschreibbar sein, unter dem der
126 Webserver läuft. Dieser ist bei verschiedenen Distributionen
127 unterschiedlich (z.B. bei Debian/Ubuntu @code{www-data}, bei Fedora
128 core @code{apache} oder bei OpenSuSE @code{wwwrun}).
130 @code{chown -R www-data: lx-office-erp/}
132 @c ---------------------------------------------------------------
134 @node Anpassung der PostgreSQL-Konfiguration
135 @chapter Anpassung der PostgreSQL-Konfiguration
137 PostgreSQL muss auf verschiedene Weisen angepasst werden.
140 * Änderungen an Konfigurationsdateien:: Anpassungen für Anmeldung am Server und Featureunterstützung
141 * Erweiterung für servergespeicherte Prozeduren:: Lx-Office benutzt servergespeicherte Prozeduren
142 * Datenbankbenutzer anlegen:: Um den Zugriff besser zu reglementieren
145 @node Änderungen an Konfigurationsdateien
146 @section Änderungen an Konfigurationsdateien
148 In der Datei @code{postgresql.conf}, die je nach Distribution in
149 verschiedenen Verzeichnissen liegen kann
150 (z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
151 sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Dieser
154 @code{TCPIP_SOCKET = 1}
156 Bei PostgreSQL-Versionen ab v8.0 und neuer muss zusätzlich der
157 folgende Parameter gesetzt werden:
159 @code{default_with_oids = on}
161 In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
162 @code{postgresql.conf} zu finden sein sollte, müssen die
163 Berichtigungen für den Zugriff geändert werden. Hier gibt es mehrere
164 Möglichkeiten. Eine besteht darin, lokale Verbindungen immer
167 @code{local all all trust
169 host all all 127.0.0.1 255.0.0.0 trust}
171 Besser ist es, für eine bestimmte Datenbank Zugriff nur per Passwort
172 zuzulassen. Beispielsweise:
174 @code{local all lxoffice password
176 host all lxoffice 127.0.0.1 255.255.255.255 password}
178 @c ---------------------------------------------------------------
180 @node Erweiterung für servergespeicherte Prozeduren
181 @section Erweiterung für servergespeicherte Prozeduren
183 In der Datenbank @code{template1} muss die Unterstützung für
184 servergespeicherte Prozeduren eingerichet werden. Melden Sie sich
185 dafür als Benutzer ``postgres'' an der Datenbank an, und führen Sie
186 die folgenden Kommandos aus:
188 @code{create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
190 create language 'plpgsql' handler plpgsql_call_handler
191 lancompiler 'pl/pgsql';}
193 Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von
194 Distribution zu Distribution verschiedlich sein kann. Bei
195 Debian/Ubuntu befindet sie sich unter
196 @code{/usr/lib/postgresql/lib/plpgsql.so}.
199 @c ---------------------------------------------------------------
201 @node Datenbankbenutzer anlegen
202 @section Datenbankbenutzer anlegen
204 Wenn Sie nicht den Datenbanksuperuser ``postgres'' zum Zugriff
205 benutzen wollen, so sollten Sie bei PostgreSQL einen neuen Benutzer
206 anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen können:
210 createuser -d -P lxoffice}
212 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie
213 den evtl. voreingestellten Benutzer ``postgres'' auf ``lxoffice''
214 bzw. den hier gewählten Benutzernamen.
216 @c ---------------------------------------------------------------
218 @node Apache-Konfiguration
219 @chapter Apache-Konfiguration
221 Der Zugriff auf das Programmverzeichnis muss in der Apache
222 Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
223 werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
224 anderen Datei hinzu, die beim Starten des Webservers eingelesen wird:
227 AddHandler cgi-script .pl
229 Alias /lx-erp/ /var/www/lx-erp/
231 <Directory /var/www/lx-erp>
233 Options ExecCGI Includes FollowSymlinks
238 <Directory /var/www/lx-erp/users>
248 Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher das
249 Lx-Office-Archiv entpacket haben.
251 Achtung: Vor den einzelnen Optionen muss bei einigen Distributionen ein
252 Plus @samp{+} gesetzt werden.
254 Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets
255 nicht ausgeliefert. In solchen Fällen hat es oft geholfen, die
256 folgende Option in die Konfiguration aufzunehmen:
258 @code{EnableSendfile Off}
260 @c ---------------------------------------------------------------
262 @node Benutzer und Datenbanken anlegen
263 @chapter Benutzer und Datenbanken anlegen
265 Nach der Installation müssen Benutzer und Datenbanken angelegt werden.
266 Dieses geschieht im Administrationsmenü, dass Sie unter folgender URL
269 @code{http://localhost/lx-erp/admin.pl}
271 Zuerst muss eine Datenbank angelegt werden, anschließend ein
272 Benutzer. Verwenden Sie für den Datenbankzugriff den eben angelegten
273 Benutzer ``lxoffice''.
275 Wenn Sie für die Lx-Office-Installation nicht den europäischen
276 Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
277 müssen Sie vor dem Anlegen der Datenbank in der Datei ``lx-erp.conf''
278 die Variable @code{$dbcharset} auf den Wert ``UTF-8''
279 setzen. Zusätzlich muss beim Anlegen der Datenbank ``UTF-8 Unicode''
280 als Schriftsatz ausgewählt werden.
282 @c ---------------------------------------------------------------
284 @node OpenDocument-Vorlagen
285 @chapter OpenDocument-Vorlagen
287 Lx-Office unterstützt die Verwendung von Vorlagen im
288 OpenDocument-Format, wie es OpenOffice.org ab Version 2
289 erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
290 auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
291 OpenDocument-Vorlagen zu aktivieren muss in der Datei ``lx-erp.conf''
292 die Variable @code{$opendocument_templates} auf ``1'' stehen. Dieses
293 ist die Standardeinstellung.
295 Weiterhin muss in der Datei ``lx-erp.conf'' die Variable
296 @code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
297 bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
298 ist in den meisten Fällen "ISO-8859-15".
300 Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
301 weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
302 OpenOffice.org benötigt. Soll dieses Feature genutzt werden, so muss
303 neben OpenOffice.org ab Version 2 auch der ``X virtual frame buffer''
304 (xvfb) installiert werden. Bei Debian ist er im Paket ``xvfb''
305 enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
307 Nach der Installation müssen in der Datei ``lx-erp.conf'' zwei weitere
308 Variablen angepasst werden: @code{$openofficeorg_writer_bin} muss den
309 vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
310 @code{$xvfb_bin} muss den Pfad zum ``X virtual frame buffer''
313 Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
314 OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
315 die Variable @code{$openofficeorg_daemon} gesetzt ist, startet ein
316 OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
317 bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
318 benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
319 reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
320 werden muss. Der Nachteil ist, dass diese Methode Python und die
321 Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
323 Ist @code{$openofficeorg_daemon} nicht gesetzt, so wird für jedes
324 Dokument OpenOffice neu gestartet und die Konvertierung mit Hilfe
325 eines Makros durchgeführt. Dieses Makro muss in der Dokumentenvorlage
326 enthalten sein und ``Standard.Conversion.ConvertSelfToPDF()''
327 heißen. Die Beispielvorlage @samp{templates/German-invoice.odt}
328 enthält ein solches Makro, das in jeder anderen Dokumentenvorlage
329 ebenfalls enthalten sein muss.
331 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
332 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
333 Debian ist dies momentan @code{~/.openoffice.org2}. Sollte der Name
334 bei Ihrer OpenOffice.org-Installation anders sein, so muss das
335 Verzeichnis @code{users/.openoffice.org2} entsprechend umbenannt
336 werden. Ist der Name z.B. einfach nur @code{.openoffice}, so wäre
337 folgender Befehl auszuführen:
339 @code{mv users/.openoffice.org2 users/.openoffice}
341 Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
342 muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
343 @code{Installation des Programmpakets} oben bereits erledigt, kann
344 aber erneut überprüft werden, wenn die Konvertierung nach PDF
347 @c ---------------------------------------------------------------
349 @node Lx-Office ERP verwenden
350 @chapter Lx-Office ERP verwenden
352 Nach erfolgreicher Installation ist der Loginbildschirm unter
353 folgender URL erreichbar:
355 @uref{http://localhost/lx-office-erp/login.pl}
357 Die Administrationsseite erreichen Sie unter:
359 @uref{http://localhost/lx-office-erp/admin.pl}