* Apache 2.2.11 (Ubuntu) und mod_fcgid.
* Apache 2.2.11 (Ubuntu) und mod_fastcgi.
+Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer Zeit
+nicht mehr weiter entwickelt wird.
+
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
Eingaben von Lx-Office. Solange diese Probleme nicht behoben sind, muss auf die
("/path/to/lx-office-erp") und der URL unterschieden, unter der
Lx-Office im Webbrowser erreichbar ist ("/web/path/to/lx-office-erp").
-Folgendes Template funktioniert mit mod_fcgid:
+Folgendes Template funktioniert mit mod_fastcgi:
AliasMatch ^/web/path/to/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
Alias /web/path/to/lx-office-erp/ /path/to/lx-office-erp/
<Directory /path/to/lx-office-erp>
AllowOverride All
- AddHandler fastcgi-script .fpl
Options ExecCGI Includes FollowSymlinks
Order Allow,Deny
Allow from All
Deny from All
</DirectoryMatch>
-...und für mod_fastcgi muss die erste Zeile geändert werden in:
+Für mod_fcgid muss ein AddHandler ergänzt werden und die erste Zeile geändert werden:
+ AddHandler fcgid-script .fpl
AliasMatch ^/web/path/to/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
+Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für die
+maximale Größe eines Requests. Diese sollte wie folgt hochgesetzt werden:
+
+ FcgidMaxRequestLen 10485760
+
+Das ganze sollte dann so aussehen:
+
+ AddHandler fcgid-script .fpl
+ AliasMatch ^/web/path/to/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
+ Alias /web/path/to/lx-office-erp/ /path/to/lx-office-erp/
+ FcgidMaxRequestLen 10485760
+
+ <Directory /path/to/lx-office-erp>
+ AllowOverride All
+ Options ExecCGI Includes FollowSymlinks
+ Order Allow,Deny
+ Allow from All
+ </Directory>
+
+ <DirectoryMatch /path/to/lx-office-erp/users>
+ Order Deny,Allow
+ Deny from All
+ </DirectoryMatch>
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
-Benutzung von "AddHandler fastcgi-script .pl" vorzuziehen.
+Performance-Einbußen.
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:
+betreiben. Dafür bleiben die Directorydirektiven wie oben beschrieben, die URLs
+werden aber umgeleitet:
- # Zugriff ohne FastCGI
+ # Zugriff über cgi
Alias /web/path/to/lx-office-erp /path/to/lx-office-erp
- # Zugriff mit FastCGI:
- AliasMatch ^/web/path/to/lx-office-erp-fcgi/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
- Alias /web/path/to/lx-office-erp-fcgi/ /path/to/lx-office-erp/
+ # Zugriff mit mod_fcgid:
+ AliasMatch ^/web/path/to/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
+ Alias /web/path/to/lx-office-erp-fcgid/ /path/to/lx-office-erp/
-Dann ist unter C</web/path/to/lx-office-erp/> die normale Version erreichbar,
-und unter C</web/opath/to/lx-office-erp-fcgi/> die FastCGI Version.
+ # Zugriff mit mod_fastcgi:
+ AliasMatch ^/web/path/to/lx-office-erp-fastcgi/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
+ Alias /web/path/to/lx-office-erp-fastcgi/ /path/to/lx-office-erp/
-Achtung:
-
-Die AddHandler Direktive vom Apache ist entgegen der Dokumentation
-anscheinend nicht lokal auf das Verzeichnis beschränkt sondern global im
-vhost.
+Dann ist unter C</web/path/to/lx-office-erp/> die normale Version erreichbar,
+und unter C</web/path/to/lx-office-erp-fcgid/> bzw.
+C</web/path/to/lx-office-erp-fastcgi/> die FastCGI Version.
=head2 Entwicklungsaspekte
Wenn Änderungen in der Konfiguration von Lx-Office gemacht werden, muss der
-Server neu gestartet werden.
+Webserver 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
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,
+Datenbankverbindungen wird noch ein Guide verfasst werden, wie man sicher geht,
dass man die richtige erwischt.
=head2 Performance und Statistiken
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
+Programmpfaden kurzerhand das Ausliefern. Es wird noch daran gearbeitet, alle
Fehler da zu beseitigen.