X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch02s05.html;h=3a13d57f4d5d82e8448b06a2b1082bf443d67be3;hb=c979fc6c1783358ad77adb4003c6f3755e92547b;hp=2579ec0737ff98ed5f3baa9f41f6736047df0025;hpb=3ace9841bc99b188aa1a548c28a69abbd11a4068;p=kivitendo-erp.git diff --git a/doc/html/ch02s05.html b/doc/html/ch02s05.html index 2579ec073..3a13d57f4 100644 --- a/doc/html/ch02s05.html +++ b/doc/html/ch02s05.html @@ -1,23 +1,23 @@ - 2.5. Webserver-Konfiguration

2.5. Webserver-Konfiguration

2.5.1. Grundkonfiguration mittels CGI

[Anmerkung]Anmerkung

Für einen deutlichen Performanceschub sorgt die Ausführung + 2.5. Webserver-Konfiguration

2.5. Webserver-Konfiguration

2.5.1. Grundkonfiguration mittels CGI

[Anmerkung]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 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>
+<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]Anmerkung

Vor den einzelnen Optionen muss bei einigen Distributionen ein + das kivitendo-Archiv entpacket haben.

[Anmerkung]Anmerkung

Vor den einzelnen Optionen muss bei einigen Distributionen ein Plus ‘+’ gesetzt werden.

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

2.5.2. Konfiguration für FastCGI/FCGI

2.5.2.1. Was ist FastCGI?

Direkt aus Wikipedia @@ -27,78 +27,78 @@ Alias /lx-erp/ /var/www/lx-erp/ Webserver. FastCGI ist vergleichbar zum Common Gateway Interface (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu umgehen. ] -

2.5.2.2. Warum FastCGI?

Perl Programme (wie Lx-Office eines ist) werden nicht statisch +

2.5.2.2. Warum FastCGI?

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 einzelne Module kapselt, um immer nur einen kleinen Teil laden zu - müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass + 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 Lx-Office Aufruf der Kernmasken mittlerweile + 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.

2.5.2.3. Getestete Kombinationen aus Webservern und Plugin

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]Warnung

FCGI 0.69 und höher ist extrem strict in der Behandlung von - Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es + Unicode, und verweigert bestimmte Eingaben von kivitendo. 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

2.5.2.4. Konfiguration des Webservers

Bevor Sie versuchen, eine Lx-Office Installation unter FCGI + installieren:

force install M/MS/MSTROUT/FCGI-0.68.tar.gz

2.5.2.4. Konfiguration des Webservers

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 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 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 + 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/lx-office-erp                /path/to/lx-office-erp
+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 + /url/for/kivitendo-erp-fcgid/ die FastCGI-Version.

\ No newline at end of file