Benutze das Perl-Modul "YAML", um $form in einen String umzuwandeln und später daraus...
[kivitendo-erp.git] / doc / INSTALL
index afb3c65..1a0da65 100644 (file)
@@ -20,18 +20,37 @@ Folgende Pakete m
 ========================================
 Webserver (Apache)
 PostgreSQL - Datenbank 
-Perl - DBI und Perl - DBD 
+
+Benötigte Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation
+sind:
+
+* DBI
+* DBD::Pg
+* HTML::Template
+* CGI::Ajax
+* Class::Accessor
+* Archive::Zip
+* Text::Iconv
+* YAML
+
 Diese Pakete können bei den unterschiedlichen Distributionen anders heißen. 
-(Debian: apache, postgresql, libdbi-perl, libdbd-pg-perl,  libpgperl
+(Debian: apache, postgresql, libdbi-perl, libdbd-pg-perl,  libpgperl, libhtml-template-perl, libclass-accessor-perl, libarchive-zip-perl, libtext-iconv-perl, libyaml-perl)
 (Fedora: httpd, postgresql-server, perl-DBI, perl-DBD-Pg) 
 (SuSE: apache2, postgresql-server,  perl-DBI, perl-DBD-Pg)
 
 
+Da Perl-CGI-Ajax nicht als Paket für Distributionen bereit steht, muß es mit der CPAN-Shell installiert werden.
+Leider ist dazu nicht jeder in der Lage. LxO liefert daher das Paket im CGI-Verzeichnis mit. Das sollte als Fall-Back greifen.
+
+
 Die PostgreSQL Konfiguration muß angepasst werden.
 ==================================================
 In der Datei postgresql.conf (/var/lib/pgsql/data/ oder /etc/postgresql/) muß folgender Wert verändert werden:
 
-TCPIP_SOCKET = 1
+TCPIP_SOCKET = 1 #  Nur PostgreSQL < 8.0
+
+default_with_oids = on # Nur PostgreSQL >= 8.0
+
 
 In der Datei pg_hba.conf (/var/lib/pgsql/data/ oder /etc/postgresql/) müssen die Berichtigungen für den 
 Zugriff geändert werden:
@@ -46,21 +65,28 @@ host all all 127.0.0.1 255.0.0.0    ident sameuser
 local  all all trust
 host all all 127.0.0.1 255.0.0.0       trust
 
+Besser:
+-------
+local   all         lxoffice                                           password
+host    all         lxoffice      127.0.0.1         255.255.255.255    password
+
 
 Installation des Programmpaketes 
 ================================
-Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.0.0.tgz) in den DocumentRoot des Webservers
+Die Lx-Office ERP Installationsdatei (lxoffice-erp-2.4.x.tgz) in den DocumentRoot des Webservers
 (/var/www/html/ oder /srv/www/htdocs oder /var/www/) entpacken.
 
-tar xvzf lxoffice-erp-2.0.0.tgz
+tar xvzf lxoffice-erp-2.4.x.tgz
 
 Verändern Sie evtl. noch den Namen des Verzeichnisses
 
 mv lxoffice-erp/ lx-erp/
 
+oder noch besser, Sie verwenden einen Alias in der Webserverkonfiguration.
+
 Das Verzeichnis muß dem Webserverbenutzer (Debian: www-data, Fedora: apache, SuSE: wwwrun) übergeben werden:
 
-chown apache: -R lx-erp/
+chown apache: -R lx-office-erp/
 
 
 Datenbankbenutzer anlegen
@@ -71,7 +97,8 @@ folgende Befehle nacheinander aus.
 
 su - postgres
 createuser -d lxoffice (ohne Passwort) 
-oder createuser -d -P lxoffice (mit Passwort)
+oder besser
+createuser -d -P lxoffice (mit Passwort)
 
 Wenn Sie später einen Datenbankzugriff konfigurieren, verändern Sie den evtl. voreingestellten Benutzer 
 "postgres" auf "lxoffice".
@@ -82,16 +109,17 @@ PostgreSQL - Datenbank erweitern
 In der Datenbank "template1" sollte bevor die restliche Konfiguration von LxOffice ERP erfolgt noch folgende
 Funktion hinzugefügt werden:
 
-psql template1 postgres (Zugriff über Admintool auf die Datenbank)
+su postgres
+psql template1  (Zugriff über Admintool auf die Datenbank)
 create function plpgsql_call_handler ()
 returns opaque
-as '/usr/lib/pgsql/plpgsql.so'
+as '/usr/lib/pgsql/plpgsql.so' 
 language 'c';
 
 create language 'plpgsql' handler plpgsql_call_handler
 lancompiler 'pl/pgsql';
 
-Bitte beachten Sie, das der Pfad zur Datei plpgsql.so von Distribution zu Distribution verschieden sein kann.
+!!!! Bitte beachten Sie, das der Pfad zur Datei plpgsql.so und der Name von Distribution zu Distribution verschieden sein kann.
 Bei z.B. Debian befindet sie sich unter '/usr/lib/postgresql/lib/plpgsql.so'.
 
 
@@ -104,6 +132,7 @@ AddHandler cgi-script .pl
 Alias /lx-erp/ /var/www/lx-erp/
 <Directory /var/www/lx-erp>
   Options ExecCGI Includes FollowSymlinks
+  DirectoryIndex login.pl                      # nicht mehr unbedingt nötig, da eine index.html mitgeliefert wird
 </Directory>
 
 <Directory /var/www/lx-erp/users>
@@ -111,6 +140,11 @@ Alias /lx-erp/ /var/www/lx-erp/
   Deny from All
 </Directory>
 
+!!!Vor den einzelnen Optionen muß bei einigen Distributionen ein Plus "+" gesetzt werden.
+
+Auf einigen Webservern werden manchmal die Grafiken und Style-Sheets nicht ausgeliefert. Daher die Apache-Konfig um diese Zeile erweitern:
+
+EnableSendfile Off
 
 Datenbank anlegen 
 =================
@@ -147,12 +181,25 @@ enthalten. Andere Distributionen enthalten ihn in anderen Paketen.
 Nach der Installation müssen in der Datei "lx-erp.conf" zwei weitere
 Variablen angepasst werden: "$openofficeorg_writer_bin" muss den
 vollständigen Pfad zur OpenOffice.org Writer-Anwendung enthalten.
-"$xvfb_run_bin" muss den Pfad zu einem Script enthalten, dass den "X
-virtual frame buffer" startet und direkt danach ein Programm in ihm
-startet, das dem Script als Parameter übergeben wird. Lx-Office
-enthält bereits ein solches Script namens "xvfb-run", das
-standardmäßig verwendet wird. Es handelt sich dabei um eine gestutzte
-Version des Scripts "xvfb-run" aus dem Debian-Paket "xvfb".
+"$xvfb_bin" muss den Pfad zum "X virtual frame buffer" enthalten.
+
+Zusätzlich gibt es zwei verschiedene Arten, wie Lx-Office mit
+OpenOffice kommuniziert. Die erste Variante, die benutzt wird, wenn
+die Variable "$openofficeorg_daemon" gesetzt ist, startet ein
+OpenOffice, das auch nach der Umwandlung des Dokumentes gestartet
+bleibt. Bei weiteren Umwandlungen wird dann diese laufende Instanz
+benutzt. Der Vorteil ist, dass die Zeit zur Umwandlung deutlich
+reduziert wird, weil nicht für jedes Dokument ein OpenOffice gestartet
+werden muss. Der Nachteil ist, dass diese Methode Python und die
+Python-UNO-Bindings benötigt, die Bestandteil von OpenOffice 2 sind.
+
+Ist "$openofficeorg_daemon" nicht gesetzt, so wird für jedes Dokument
+OpenOffice neu gestartet und die Konvertierung mit Hilfe eines Makros
+durchgeführt. Dieses Makro muss in der Dokumentenvorlage enthalten
+sein und "Standard.Conversion.ConvertSelfToPDF()" heißen. Die
+Beispielvorlage templates/German-invoice.odt enthält ein solches
+Makro, das in jeder anderen Dokumentenvorlage ebenfalls enthalten sein
+muss.
 
 Als letztes muss herausgefunden werden, welchen Namen OpenOffice.org
 Writer dem Verzeichnis mit den Benutzereinstellungen gibt. Unter
@@ -173,4 +220,4 @@ Lx-Office ERP verwenden
 =======================
 Einloggen können Sie sich unter: 
 
-http://localhost/lx-erp/login.pl
+http://localhost/lx-office-erp/login.pl