X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s05.html;h=76b1e0f57d2944e5666c1f6c8e2b76cf736db86d;hb=1857ca9df82773ae3fd16383d89dc54f5149a9e3;hp=e7afbea09f7cee6fa6d02f2d46769c7562b9bb39;hpb=9ba3a010bca395410803067324c1924cabf956b4;p=kivitendo-erp.git diff --git a/doc/html/ch02s05.html b/doc/html/ch02s05.html index e7afbea09..76b1e0f57 100644 --- a/doc/html/ch02s05.html +++ b/doc/html/ch02s05.html @@ -1,105 +1,103 @@
- -Anmerkung | |
---|---|
Für einen deutlichen Performanceschub sorgt die Ausführung - mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt - Konfiguration für FastCGI/FCGI beschrieben. |
Der Zugriff auf das Programmverzeichnis muss in der Apache + +
Anmerkung | |
---|---|
Für einen deutlichen Performanceschub sorgt die Ausführung + mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt + Konfiguration für FastCGI/FCGI beschrieben. |
Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei httpd.conf
eingestellt
- werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
+ werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
anderen Datei hinzu, die beim Starten des Webservers eingelesen
wird:
AddHandler cgi-script .pl -Alias /lx-erp/ /var/www/lx-erp/ +Alias /kivitendo-erp/ /var/www/kiviteno-erp/ -<Directory /var/www/lx-erp> - Options ExecCGI - Includes FollowSymlinks +<Directory /var/www/kivitendo-erp> + Options ExecCGI Includes FollowSymlinks </Directory> -<Directory /var/www/lx-erp/users> +<Directory /var/www/kivitendo-erp/users> Order Deny,Allow Deny from All </Directory>
Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher - das Lx-Office-Archiv entpacket haben.
Anmerkung | |
---|---|
Vor den einzelnen Optionen muss bei einigen Distributionen ein
- Plus ‘ |
Auf einigen Webservern werden manchmal die Grafiken und - Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft - geholfen, die folgende Option in die Konfiguration aufzunehmen:
EnableSendfile Off
Direkt aus Wikipedia + das kivitendo-Archiv entpacket haben.
Anmerkung | |
---|---|
Vor den einzelnen Optionen muss bei einigen Distributionen ein
+ Plus â |
Auf einigen Webservern werden manchmal die Grafiken und + Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft + geholfen, die folgende Option in die Konfiguration aufzunehmen:
EnableSendfile Off
Direkt aus Wikipedia kopiert:
- [ FastCGI ist ein Standard für die Einbindung + [ 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. ] -
Perl Programme (wie kivitendo 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 + ü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 + müssen, ist die Funktionalität von kivitendo 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 kivitendo 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.
Folgende Kombinationen sind getestet:
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 + wird nur die eigentliche Programmlogik ausgeführt.
Folgende Kombinationen sind getestet:
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. Im Folgenden wird auf mod_fastcgi nicht mehr explizit eingegangen.
Als Perl Backend wird das Modul FCGI.pm
- verwendet.
Warnung | |
---|---|
FCGI 0.69 und höher ist extrem strict in der Behandlung von - Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es - Probleme mit Umlauten in Ihrere Installation gibt, muss auf die - Vorgängerversion FCGI 0.68 ausgewichen werden. Mit CPAN lässt sie sich die Vorgängerversion wie folgt - installieren: force install M/MS/MSTROUT/FCGI-0.68.tar.gz |
Bevor Sie versuchen, eine Lx-Office Installation unter FCGI + verwendet.
Warnung | |
---|---|
FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern + bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder + aber Version 0.72 und neuer eingesetzt werden. Mit CPAN lässt sie sich die Vorgängerversion wie folgt + installieren: force install M/MS/MSTROUT/FCGI-0.68.tar.gz |
Bevor Sie versuchen, eine kivitendo 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 + debuggen die beim ersten aufsetzen auftreten 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:
a2enmod fcgid
Die Konfiguration für die Verwendung von Lx-Office mit FastCGI + unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:
a2enmod fcgid
Die Konfiguration für die Verwendung von kivitendo 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 Lx-Office im Webbrowser erreichbar ist
- ("/url/for/lx-office-erp
").
Folgender Konfigurationsschnipsel funktioniert mit - mod_fastcgi:
AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi -Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/ + dem Installationspfad von kivitendo im Dateisystem + ("/path/to/kivitendo-erp
") und der URL + unterschieden, unter der kivitendo im Webbrowser erreichbar ist + ("/url/for/kivitendo-erp
").Folgender Konfigurationsschnipsel funktioniert mit + mod_fastcgi:
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi +Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ -<Directory /path/to/lx-office-erp> +<Directory /path/to/kivitendo-erp> AllowOverride All Options ExecCGI Includes FollowSymlinks Order Allow,Deny Allow from All </Directory> -<DirectoryMatch /path/to/lx-office-erp/users> +<DirectoryMatch /path/to/kivitendo-erp/users> Order Deny,Allow Deny from All -</DirectoryMatch>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für - die maximale Größe eines Requests. Diese sollte wie folgt +</DirectoryMatch>
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 ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl -Alias /url/for/lx-office-erp/ /path/to/lx-office-erp/ +AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl +Alias /url/for/kivitendo-erp/ /path/to/kivitendo-erp/ FcgidMaxRequestLen 10485760 -<Directory /path/to/lx-office-erp> +<Directory /path/to/kivitendo-erp> AllowOverride All Options ExecCGI Includes FollowSymlinks Order Allow,Deny Allow from All </Directory> -<DirectoryMatch /path/to/lx-office-erp/users> +<DirectoryMatch /path/to/kivitendo-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.
Es ist möglich, die gleiche Lx-Office Version parallel unter - CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven - wie oben beschrieben, die URLs werden aber umgeleitet:
# Zugriff über CGI -Alias /url/for/lx-office-erp /path/to/lx-office-erp + Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden, + gibt es hier kleine Performance-EinbuÃen.Es ist möglich, die gleiche kivitendo Version parallel unter + CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven + wie oben beschrieben, die URLs werden aber umgeleitet:
# Zugriff über CGI +Alias /url/for/kivitendo-erp /path/to/kivitendo-erp # Zugriff mit mod_fcgid: -AliasMatch ^/url/for/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl -Alias /url/for/lx-office-erp-fcgid/ /path/to/lx-office-erp/Dann ist unter
/url/for/lx-office-erp/
+AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl +Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/
Dann ist unter /url/for/kivitendo-erp/
die normale Version erreichbar, und unter
- /url/for/lx-office-erp-fcgid/
die
- FastCGI-Version.
/url/for/kivitendo-erp-fcgid/
die
+ FastCGI-Version.