Dateiencodings auf UTF-8 geändert
[kivitendo-erp.git] / doc / INSTALL.fcgi
index 4583901..4dbe994 100644 (file)
@@ -5,13 +5,13 @@ Diese Datei ist in Plain Old Documentation geschrieben. Mit
 
 ist sie deutlich leichter zu lesen.
 
-=head1 FastCGI für Lx-Office
+=head1 FastCGI für Lx-Office
 
 =head2 Was ist FastCGI?
 
 Direkt aus L<http://de.wikipedia.org/wiki/FastCGI> kopiert:
 
-  FastCGI ist ein Standard für die Einbindung externer Software zur Generierung
+  FastCGI ist ein Standard für die Einbindung externer Software zur Generierung
   dynamischer Webseiten in einem Webserver. FastCGI ist vergleichbar zum Common
   Gateway Interface (CGI), wurde jedoch entwickelt, um dessen
   Performance-Probleme zu umgehen.
@@ -20,18 +20,18 @@ Direkt aus L<http://de.wikipedia.org/wiki/FastCGI> kopiert:
 =head2 Warum FastCGI?
 
 Perl Programme (wie Lx-Office eines ist) werden nicht statisch kompiliert.
-Stattdessen werden die Quelldateien bei jedem Start übersetzt, was bei kurzen
-Laufzeiten einen Großteil der Laufzeit ausmacht. Während SQL Ledger einen
-Großteil der Funktionalität in einzelne Module kapselt, um immer nur einen
-kleinen Teil laden zu müssen, ist die Funktionalität von Lx-Office soweit
+Stattdessen werden die Quelldateien bei jedem Start übersetzt, was bei kurzen
+Laufzeiten einen Großteil der Laufzeit ausmacht. Während SQL Ledger einen
+Großteil der Funktionalität in einzelne Module kapselt, um immer nur einen
+kleinen Teil laden zu müssen, ist die Funktionalität von Lx-Office soweit
 gewachsen, dass immer mehr Module auf den Rest des Programms zugreifen.
-Zusätzlich benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
-entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies führt dazu dass
-ein Lx-Office Aufruf der Kernmasken mittlerweile deutlich länger dauert als
-früher, und dass davon 90% für das Laden der Module verwendet wird.
+Zusätzlich benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
+entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies führt dazu dass
+ein Lx-Office Aufruf der Kernmasken mittlerweile deutlich länger dauert als
+früher, und dass davon 90% für das Laden der Module verwendet wird.
 
 Mit FastCGI werden nun die Module einmal geladen, und danach wird nur die
-eigentliche Programmlogik ausgeführt.
+eigentliche Programmlogik ausgeführt.
 
 =head2 Kombinationen aus Webservern und Plugin.
 
@@ -41,11 +41,11 @@ Folgende Kombinationen sind getestet:
  * Apache 2.2.11 (Ubuntu) und mod_fcgid:
 
 Als Perl Backend wird das Modul FCGI.pm verwendet. Vorsicht: FCGI 0.69 und
-höher ist extrem strict in der Behandlung von Unicode, und verweigert bestimmte
+höher ist extrem strict in der Behandlung von Unicode, und verweigert bestimmte
 Eingaben von Lx-Office. Solange diese Probleme nicht behoben sind, muss auf die
-Vorgängerversion FCGI 0.68 ausgewichen werden.
+Vorgängerversion FCGI 0.68 ausgewichen werden.
 
-Mit cpan lässt sie sich wie folgt installieren:
+Mit cpan lässt sie sich wie folgt installieren:
 
  force install M/MS/MSTROUT/FCGI-0.68.tar.gz
 
@@ -54,7 +54,7 @@ Mit cpan l
 Bevor Sie versuchen eine Lx-Office Installation unter FCGI laufen zu lassen,
 empfliehlt es sich die Installation ersteinmal unter CGI aufzusetzen. FCGI
 macht es nicht einfach Fehler zu debuggen die beim ersten aufsetzen auftreten
-können. Sollte die Installation schon funktionieren, lesen Sie weiter.
+können. Sollte die Installation schon funktionieren, lesen Sie weiter.
 
 Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann unter
 Debian/Ubuntu z.B. mit folgendem Befehl geschehen:
@@ -65,7 +65,7 @@ bzw.
 
   a2enmod fcgid
 
-Die Konfiguration für die Verwendung von Lx-Office mit FastCGI erfolgt
+Die Konfiguration für die Verwendung von Lx-Office mit FastCGI erfolgt
 durch Anpassung der vorhandenen Alias- und Directory-Direktiven. Dabei
 wird zwischen dem Installationspfad von Lx-Office im Dateisystem
 ("/path/to/lx-office-erp") und der URL unterschieden, unter der
@@ -89,20 +89,20 @@ Folgendes Template funktioniert mit mod_fastcgi:
     Deny from All
   </DirectoryMatch>
 
-...und für mod_fcgid muss die erste Zeile geändert werden in:
+...und für mod_fcgid muss die erste Zeile geändert werden in:
 
   AliasMatch ^/web/path/to/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
 
 
 Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle Zugriffe
 auf die einzelnen Scripte werden auf diesen umgeleitet. Dadurch, dass
-zur Laufzeit öfter mal Scripte neu geladen werden, gibt es hier kleine
-Performance-Einbußen. Trotzdem ist diese Variante einer globalen
+zur Laufzeit öfter mal Scripte neu geladen werden, gibt es hier kleine
+Performance-Einbußen. Trotzdem ist diese Variante einer globalen
 Benutzung von "AddHandler fastcgi-script .pl" vorzuziehen.
 
 
-Es ist möglich die gleiche Lx-Office Version parallel unter cgi und fastcgi zu
-betreiben. Dafür bleiben Directorydirektiven bleiben wie oben beschrieben, die
+Es ist möglich die gleiche Lx-Office Version parallel unter cgi und fastcgi zu
+betreiben. Dafür bleiben Directorydirektiven bleiben wie oben beschrieben, die
 URLs werden aber umgeleitet:
 
   # Zugriff ohne FastCGI
@@ -118,16 +118,16 @@ und unter C</web/opath/to/lx-office-erp-fcgi/> die FastCGI Version.
 Achtung:
 
 Die AddHandler Direktive vom Apache ist entgegen der Dokumentation
-anscheinend nicht lokal auf das Verzeichnis beschränkt sondern global im
+anscheinend nicht lokal auf das Verzeichnis beschränkt sondern global im
 vhost.
 
 =head2 Entwicklungsaspekte
 
-Wenn Änderungen in der Konfiguration von Lx-Office gemacht werden, muss der
+Wenn Änderungen in der Konfiguration von Lx-Office gemacht werden, muss der
 Server neu gestartet werden.
 
-Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu achten. Dadurch
-dass das Programm in einer Endlosschleife läuft, müssen folgende Aspekte
+Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu achten. Dadurch
+dass das Programm in einer Endlosschleife läuft, müssen folgende Aspekte
 geachtet werden:
 
 =head3 Programmende und Ausnahmen: C<warn>, C<die>, C<exit>, C<carp>, C<confess>
@@ -139,7 +139,7 @@ angezeigt werden. Die Lx-Office eigene C<$::form->error()> tut im Prinzip das
 Gleiche, mit ein paar Extraoptionen. C<warn> und C<exit> hingegen werden nicht
 abgefangen. C<warn> wird direkt nach STDERR, also in Server Log eine Nachricht
 schreiben (sofern in der Konfiguration nicht die Warnungen in das Lx-Office Log
-umgeleitet wurden), und C<exit> wird die Ausführung beenden.
+umgeleitet wurden), und C<exit> wird die Ausführung beenden.
 
 Prinzipiell ist es kein Beinbruch, wenn sich der Prozess beendet, fcgi wird ihn
 sofort neu starten. Allerdings sollte das die Ausnahme sein. Quintessenz: Bitte
@@ -148,13 +148,13 @@ kein C<exit> benutzen, alle anderen Exceptionmechanismen sind ok.
 =head3 Globale Variablen
 
 Um zu vermeiden, dass Informationen von einem Request in einen anderen gelangen,
-müssen alle globalen Variablen vor einem Request sauber initialisiert werden.
+müssen alle globalen Variablen vor einem Request sauber initialisiert werden.
 Das ist besonders wichtig im C<$::cgi> und C<$::auth> Objekt, weil diese nicht
-gelöscht werden pro Instanz, sondern persistent gehalten werden.
+gelöscht werden pro Instanz, sondern persistent gehalten werden.
 
 In C<SL::Dispatcher> gibt es einen sauber abgetrennten Block der alle
-kanonischen globalen Variablen listet und erklärt. Bitte keine anderen
-einführen ohne das sauber zu dokumentieren.
+kanonischen globalen Variablen listet und erklärt. Bitte keine anderen
+einführen ohne das sauber zu dokumentieren.
 
 Datenbankverbindungen wird noch ein Guide verfasst werden, wie man sichergeht,
 dass man die richtige erwischt.
@@ -174,7 +174,7 @@ Pfaden, unter 0,15 sonst.
 
 =head3 Encoding Awareness
 
-UTF-8 kodierte Installationen sind sehr anfällig gegen fehlerhfate Encodings
+UTF-8 kodierte Installationen sind sehr anfällig gegen fehlerhfate Encodings
 unter FCGI. latin9 Installationen behandeln falsch kodierte Zeichen eher
 unwissend, und geben sie einfach weiter. UTF-8 verweigert bei fehlerhaften
 Programmpfaden kurzerhand aus ausliefern. Es wird noch daran gearbeitet alles