\input texinfo @c -*-texinfo-*-
@c %**start of header
-@documentencoding UTF-8
@setfilename INSTALL.info
+@documentencoding UTF-8
+@afourpaper
@settitle Lx-Office Installationsanleitung
@c %**end of header
@menu
* Aktuelle Hinweise:: Andere Informationsquellen als diese Anleitung
* Benötigte Software und Pakete:: Vorraussetzungen zum Betrieb von Lx-Office
-* Installation des Programmpaketes:: Installationsort, Berechtigungen
+* Manuelle Installation des Programmpaketes:: Installationsort, Berechtigungen
* Anpassung der PostgreSQL-Konfiguration:: Verschiedene Aspekte der Datenbankkonfiguration
* Apache-Konfiguration:: Einrichtung eines Aliases und Optionen für das Ausführen von CGI-Scripten
* Benutzerauthentifizierung und Administratorpasswort:: Einrichtung der Authentifizierungsdatenbank und der Passwortüberprüfung
@node Benötigte Software und Pakete
@chapter Benötigte Software und Pakete
-Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL) benötigt.
+@menu
+* Betriebssystem:: Unterstützte Betriebsysteme und Hinweise für ältere Systeme
+* Pakete:: Benötigte Software und Perlpakete sowie deren Quellen
+@end menu
+
+@node Betriebssystem
+@section Betriebssystem
+
+Lx-Office ist für Linux konzipiert, und sollte auf jedem unixoiden
+Betriebssystem zum Laufen zu kriegen sein. Getestet ist diese Version im
+speziellen auf Debian und Ubuntu, grundsätzlich wurde bei der Auswahl der
+Pakete aber darauf Rücksicht genommen, dass es ohne große Probleme auf den
+derzeit aktuellen verbreiteten Distributionen läuft.
-Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind:
+Anfang 2011 sind das folgende Systeme:
@itemize
@item
+Ubuntu 8.04 LTS Hardy Heron
+@item
+Ubuntu 9.10 Karmic Koala
+@item
+Ubuntu 10.04 Lucid Lynx
+@item
+Ubuntu 10.10 Maverick Meerkat
+@item
+Debian 5.0 Lenny
+@item
+Debian 6.0 Squeeze
+@item
+openSUSE 11.2
+@item
+openSUSE 11.3
+@item
+SuSE Linux Enterprice Server 11
+@item
+Fedora 13
+@item
+Fedora 14
+@end itemize
+
+Für die debianoiden Betriebssysteme existiert ein .deb, das deutlich einfacher
+zu installieren ist.
+
+Ubuntu 8.04 LTS hat zusätzlich die Schwierigkeit, dass die Module im Archiv
+recht alt sind, und das viele der benötigten Module nicht einfach zu
+installieren sind. Dafür sollte es kurz nach dem Release ein eigenes .deb
+geben.
+
+Alternativ dazu kann die normale Installation durchgeführt werden
+(@pxref{Manuelle Installation des Programmpaketes}), wenn vorher ein
+Kompatibilitätspaket installiert wird, das die fehlenden Pakete bereitstellt.
+Das Paket ist auf @uref{https://sourceforge.net/projects/lx-office/files/Lx-Office%20ERP/2.6.2/, Sourceforge} unter dem Namen @code{lx-erp-perl-libs-compat-v2.tar.gz} hinterlegt.
+
+Zur Installation das Paket in das entpackte Lx-Office Verzeichnis entpacken:
+
+@code{tar xzf lx-erp-perl-libs-compat-v2.tar.gz /path/to/lx-office/}
+
+Zusätzlich müssen dann noch die folgenden Pakete installiert weerden
+
+@code{libbit-vector-perl libsub-exporter-perl libclone-perl libclass-factory-util-perl}
+
+Danach sollte der Installationscheck (@pxref{Pakete}) die enthaltenen Pakete erkennen.
+
+@node Pakete
+@section Pakete
+
+Zum Betrieb von Lx-Office werden zwingend ein Webserver (meist Apache)
+und ein Datenbankserver (PostgreSQL, mindestens v8.2) benötigt.
+
+Zusätzlich benötigt Lx-Office die folgenden Perl-Pakete, die nicht Bestandteil
+einer Standard-Perl-Installation sind:
+
+@itemize
+@item
+parent
+@item
Archive::Zip
@item
Class::Accessor
@item
CGI::Ajax
@item
+Config::Std
+@item
DateTime
@item
DBI
@item
List::MoreUtils
@item
+Params::Validate
+@item
PDF::API2
@item
+Rose::Object
+@item
+Rose::DB
+@item
+Rose::DB::Object
+@item
Template
@item
Text::CSV_XS
Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete hinzugekommen, @code{URI}
und @code{XML::Writer} sind notwendig. Ohne startet Lx-Office nicht.
+Gegenüber Version 2.6.1 sind @code{parent}, @code{DateTime},
+@code{Rose::Object}, @code{Rose::DB} und @code{Rose::DB::Object} neu
+hinzugekommen. @code{IO::Wrap} wurde entfernt.
+
@code{Email::Address} und @code{List::MoreUtils} sind schon länger feste
Abhängigkeiten, wurden aber bisher mit Lx-Office mitgeliefert. Beide sind auch
in 2.6.1 weiterhin mit ausgeliefert, wurden in einer zukünftigen Version aber
Für Debian oder Ubuntu benötigen Sie diese Pakete:
-@code{apache2 postgresql libarchive-zip-perl libclass-accessor-perl libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl libemail-address-perl libio-stringy-perl liblist-moreutils-perl libpdf-api2-perl libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl}
+@code{apache2 postgresql libparent-perl libarchive-zip-perl libclass-accessor-perl libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl libemail-address-perl liblist-moreutils-perl libpdf-api2-perl librose-object-perl librose-db-perl librose-db-object-perl libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl libconfig-std-perl libparams-validate-perl}
Für Fedora Core benötigen Sie diese Pakete:
-@code{httpd postgresql-server perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-Email-Address perl-IO-stringy perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
+@code{httpd postgresql-server perl-parent perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-Email-Address perl-List-MoreUtils perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
Für OpenSuSE benötigen Sie diese Pakete:
-@code{apache2 postgresql-server perl-Archive-Zip perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-IO-stringy perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
+@code{apache2 postgresql-server perl-Archive-Zip perl-Class-Accessor perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-List-MoreUtils perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI perl-XML-Writer perl-YAML}
+
+Bei openSuSE 11 ist @code{parent} bereits enthalten, und braucht nicht nachinstalliert werden. Die @code{Rose::*} Pakete sind derzeit nicht für SuSE gepackt, und müssen anderweitig nachinstalliert werden.
Lx-Office enthält ein Script, mit dem überprüft werden kann, ob alle
benötigten Perl-Module installiert sind. Der Aufruf lautet wie folgt:
@c ---------------------------------------------------------------
-@node Installation des Programmpaketes
-@chapter Installation des Programmpaketes
+@node Manuelle Installation des Programmpaketes
+@chapter Manuelle Installation des Programmpaketes
-Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.1.tgz) wird im
+Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.6.2.tgz) wird im
Dokumentenverzeichnis des Webservers (z.B. @code{/var/www/html/},
@code{/srv/www/htdocs} oder @code{/var/www/}) entpackt:
@code{cd /var/www
@*
-tar xvzf lxoffice-erp-2.6.1.tgz}
+tar xvzf lxoffice-erp-2.6.2.tgz}
Verändern Sie evtl. noch den Namen des Verzeichnisses mit
In der Datei @code{postgresql.conf}, die je nach Distribution in
verschiedenen Verzeichnissen liegen kann
(z.B. @code{/var/lib/pgsql/data/} oder @code{/etc/postgresql/}, muss
-sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Für
-PostgreSQL vor Version v8.0 lautete dieser Parameter
-
-@code{TCPIP_SOCKET = 1}
-
-Ab v8.0 wird das Verhalten hingegen über den neuen Parameter
-@code{listen_address} gesteuert. Laufen PostgreSQL und Lx-Office auf
-demselben Rechner, so kann dort der Wert @code{localhost} verwendet
-werden. Andernfalls müssen Datenbankverbindungen auch von anderen
-Rechnern aus zugelassen werden, was mit dem Wert \@code{*} geschieht.
+sichergestellt werden, dass TCP/IP-Verbindungen aktiviert sind. Das
+Verhalten wird über den Parameter @code{listen_address}
+gesteuert. Laufen PostgreSQL und Lx-Office auf demselben Rechner, so
+kann dort der Wert @code{localhost} verwendet werden. Andernfalls
+müssen Datenbankverbindungen auch von anderen Rechnern aus zugelassen
+werden, was mit dem Wert \@code{*} geschieht.
In der Datei @code{pg_hba.conf}, die im gleichen Verzeichnis wie die
@code{postgresql.conf} zu finden sein sollte, müssen die
@node Erweiterung für servergespeicherte Prozeduren
@section Erweiterung für servergespeicherte Prozeduren
-In der Datenbank @code{template1} muss die Unterstützung für
-servergespeicherte Prozeduren eingerichet werden. Melden Sie sich
-dafür als Benutzer ``postgres'' an der Datenbank an, und führen Sie
-die folgenden Kommandos aus:
+In der Datenbank @code{template1} muss die Unterstützung für servergespeicherte
+Prozeduren eingerichet werden. Melden Sie sich dafür als Benutzer ``postgres''
+an der Datenbank an, und führen Sie die folgenden Kommandos aus:
+
+@code{create language 'plpgsql';}
+
+Achtung: In älteren Postgresversionen (vor 8.0) muss der Handler für die
+Sprache manuell anlelegt werden, diese Versionen werden aber nicht mehr
+offiziell von Lx-Office unterstützt. Dafür dann die folgenden Kommandos:
@code{create function plpgsql_call_handler () returns opaque as '/usr/lib/pgsql/plpgsql.so' language 'c';
@*
-create language 'plpgsql' handler plpgsql_call_handler
-lancompiler 'pl/pgsql';}
-
-Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von
-Distribution zu Distribution verschiedlich sein kann. Bei
-Debian/Ubuntu befindet sie sich unter
-@code{/usr/lib/postgresql/lib/plpgsql.so}, bei Ubuntu 9.10 unter @code{/usr/lib/postgresql/8.4/lib/plpgsql.so}.
+create language 'plpgsql' handler plpgsql_call_handler lancompiler 'pl/pgsql';}
+Bitte beachten Sie, dass der Pfad zur Datei @code{plpgsql.so} von Distribution
+zu Distribution verschiedlich sein kann. Bei Debian/Ubuntu befindet sie sich
+unter @code{/usr/lib/postgresql/lib/plpgsql.so}.
@c ---------------------------------------------------------------
@node Apache-Konfiguration
@chapter Apache-Konfiguration
+Hinweis: Für einen deutlichen Performanceschub sorgt die Ausführung
+mittels FCGI. Die Einrichtung wird ausführlich in der Datei
+@code{INSTALL.fcgi} beschrieben.
+
Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei @code{httpd.conf} eingestellt
werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
Welche Art der Passwortüberprüfung Lx-Office benutzt und wie Lx-Office
die Authentifizierungsdatenbank erreichen kann, wird in der
-Konfigurationsdatei @code{config/authentication.pl} festgelegt. Diese
+Konfigurationsdatei @code{config/lx_office.conf} festgelegt. Diese
muss bei der Installation und bei einem Upgrade von einer Version vor
v2.6.0 angelegt werden. Eine Beispielkonfigurationsdatei
-@code{config/authentication.pl.default} existiert, die als Vorlage
+@code{config/lx_office.conf.default} existiert, die als Vorlage
benutzt werden kann.
@node Administratorpasswort
@node Anlegen der Authentifizierungsdatenbank
@section Anlegen der Authentifizierungsdatenbank
-Nachdem alle Einstellungen in @code{config/authentication.pl}
+Nachdem alle Einstellungen in @code{config/lx_office.conf}
vorgenommen wurden, muss Lx-Office die Authentifizierungsdatenbank
anlegen. Dieses geschieht automatisch, wenn Sie sich im
Administrationsmodul anmelden, das unter der folgenden URL erreichbar
@uref{http://localhost/lx-erp/admin.pl}
Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
-@code{config/authentication.pl} eingetragen haben.
+@code{config/lx_office.conf} eingetragen haben.
@menu
* Zusammenhänge:: Übersicht über Benutzer, Gruppen, Berechtigungen und Datenbanken
Wenn Sie für die Lx-Office-Installation nicht den europäischen
Schriftsatz ISO-8859-15 sondern UTF-8 (Unicode) benutzen wollen, so
müssen Sie vor dem Anlegen der Datenbank in der Datei
-@code{config/lx-erp.conf} die Variable @code{$dbcharset} auf den Wert
-@samp{UTF-8} setzen. Zusätzlich muss beim Anlegen der Datenbank
-@samp{UTF-8 Unicode} als Schriftsatz ausgewählt werden.
+@code{config/lx_office.conf} die Variable @code{dbcharset} im
+Abschnitt @code{system} auf den Wert @samp{UTF-8} setzen. Zusätzlich
+muss beim Anlegen der Datenbank @samp{UTF-8 Unicode} als Schriftsatz
+ausgewählt werden.
Bitte beachten Sie, dass alle Datenbanken den selben Zeichensatz
verwenden müssen, da diese Einstellungen momentan global in Lx-Office
@node Migration alter Installationen
@section Migration alter Installationen
-Wenn Lx-Office 2.6.1 über eine ältere Version installiert wird, in der
+Wenn Lx-Office 2.6.2 über eine ältere Version installiert wird, in der
die Benutzerdaten noch im Dateisystem im Verzeichnis @code{users}
verwaltet wurden, so bietet Lx-Office die Möglichkeit, diese
Benutzerdaten automatisch in die Authentifizierungsdatenbank zu
erzeugt. Lx-Office kann dabei sowohl neue OpenDocument-Dokumente als
auch aus diesen direkt PDF-Dateien erzeugen. Um die Unterstützung von
OpenDocument-Vorlagen zu aktivieren muss in der Datei
-@code{config/lx-erp.conf} die Variable @code{$opendocument_templates}
-auf @samp{1} stehen. Dieses ist die Standardeinstellung.
+@code{config/lx_office.conf} die Variable @code{opendocument} im
+Abschnitt @code{print_templates} auf @samp{1} stehen. Dieses ist die
+Standardeinstellung.
-Weiterhin muss in der Datei @code{config/lx-erp.conf} die Variable
-@code{$dbcharset} auf die Zeichenkodierung gesetzt werden, die auch
-bei der Speicherung der Daten in der Datenbank verwendet wird. Diese
-ist in den meisten Fällen "ISO-8859-15".
+Weiterhin muss in der Datei @code{config/lx_office.conf} die Variable
+@code{dbcharset} im Abschnitt @code{system} auf die Zeichenkodierung
+gesetzt werden, die auch bei der Speicherung der Daten in der
+Datenbank verwendet wird. Diese ist in den meisten Fällen "UTF-8".
Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
(xvfb) installiert werden. Bei Debian ist er im Paket ``xvfb''
enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
-Nach der Installation müssen in der Datei @code{config/lx-erp.conf}
-zwei weitere Variablen angepasst werden:
-@code{$openofficeorg_writer_bin} muss den vollständigen Pfad zur
-OpenOffice.org Writer-Anwendung enthalten. @code{$xvfb_bin} muss den
-Pfad zum ``X virtual frame buffer'' enthalten.
+Nach der Installation müssen in der Datei @code{config/lx_config.conf}
+zwei weitere Variablen angepasst werden: @code{openofficeorg_writer}
+muss den vollständigen Pfad zur OpenOffice.org Writer-Anwendung
+enthalten. @code{xvfb} muss den Pfad zum ``X virtual frame buffer''
+enthalten. Beide stehen im Abschnitt @code{applications}.
Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
@code{mv users/.openoffice.org2 users/.openoffice}
-Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis,
-muss vom Webserver beschreibbar sein. Dieses wurde in Schritt
-@code{Installation des Programmpakets} oben bereits erledigt, kann
-aber erneut überprüft werden, wenn die Konvertierung nach PDF
-fehlschlägt.
+Dieses Verzeichnis, wie auch das komplette @code{users}-Verzeichnis, muss vom
+Webserver beschreibbar sein. Dieses wurde bereits erledigt
+(@pxref{Manuelle Installation des Programmpaketes}), kann aber erneut überprüft
+werden, wenn die Konvertierung nach PDF fehlschlägt.
@c ---------------------------------------------------------------