Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 06cb6b12

Von Moritz Bunkus vor mehr als 12 Jahren hinzugefügt

  • ID 06cb6b127be7185927c6a3b32d16295d55e162ea
  • Vorgänger 062940d9
  • Nachfolger b948bb61

HTML-Version der Dokumentation in UTF-8 encodieren

Unterschiede anzeigen:

doc/html/ch02s05.html
1 1
<html><head>
2
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
   <title>2.5. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e511"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>F?r einen deutlichen Performanceschub sorgt die Ausf?hrung
4
          mittels FastCGI/FCGI. Die Einrichtung wird ausf?hrlich im Abschnitt
5
          <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.2. Konfiguration f?r FastCGI/FCGI">Konfiguration f?r FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <title>2.5. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s04.html" title="2.4. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s06.html" title="2.6. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.5. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.5. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.5.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e511"></a>2.5.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
4
          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
5
          <a class="xref" href="ch02s05.html#Apache-Konfiguration.FCGI" title="2.5.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache
6 6
        Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt
7
        werden. F?gen Sie den folgenden Abschnitt dieser Datei oder einer
7
        werden. Fügen Sie den folgenden Abschnitt dieser Datei oder einer
8 8
        anderen Datei hinzu, die beim Starten des Webservers eingelesen
9 9
        wird:</p><pre class="programlisting">AddHandler cgi-script .pl
10 10
Alias /lx-erp/ /var/www/lx-erp/
......
19 19
 Deny from All
20 20
&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
21 21
        das Lx-Office-Archiv entpacket haben.</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="../../../../system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Vor den einzelnen Optionen muss bei einigen Distributionen ein
22
          Plus &#8216;<code class="literal">+</code>&#8217; gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
23
        Style-Sheets nicht ausgeliefert. In solchen F?llen hat es oft
24
        geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration f?r FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration f?r FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
22
          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
23
        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
24
        geholfen, die folgende Option in die Konfiguration aufzunehmen:</p><pre class="programlisting">EnableSendfile Off</pre></div><div class="sect2" title="2.5.2. Konfiguration für FastCGI/FCGI"><div class="titlepage"><div><div><h3 class="title"><a name="Apache-Konfiguration.FCGI"></a>2.5.2. Konfiguration für FastCGI/FCGI</h3></div></div></div><div class="sect3" title="2.5.2.1. Was ist FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WasIstEs"></a>2.5.2.1. Was ist FastCGI?</h4></div></div></div><p>Direkt aus <a class="ulink" href="http://de.wikipedia.org/wiki/FastCGI" target="_top">Wikipedia</a>
25 25
          kopiert:</p><p>
26
                  [<span class="citation"> FastCGI ist ein Standard f?r die Einbindung
26
                  [<span class="citation"> FastCGI ist ein Standard für die Einbindung
27 27
          externer Software zur Generierung dynamischer Webseiten in einem
28 28
          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
29 29
          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
30 30
          umgehen. </span>]
31 31
               </p></div><div class="sect3" title="2.5.2.2. Warum FastCGI?"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Warum"></a>2.5.2.2. Warum FastCGI?</h4></div></div></div><p>Perl Programme (wie Lx-Office eines ist) werden nicht statisch
32 32
          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
33
          ?bersetzt, was bei kurzen Laufzeiten einen Gro?teil der Laufzeit
34
          ausmacht. W?hrend SQL Ledger einen Gro?teil der Funktionalit?t in
33
          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
34
          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
35 35
          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
36
          m?ssen, ist die Funktionalit?t von Lx-Office soweit gewachsen, dass
37
          immer mehr Module auf den Rest des Programms zugreifen. Zus?tzlich
38
          benutzen wir umfangreiche Bibliotheken um Funktionalt?t nicht selber
39
          entwickeln zu m?ssen, die zus?tzliche Ladezeit kosten. All dies
40
          f?hrt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
41
          deutlich l?nger dauert als fr?her, und dass davon 90% f?r das Laden
36
          müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass
37
          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
38
          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
39
          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
40
          führt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
41
          deutlich länger dauert als früher, und dass davon 90% für das Laden
42 42
          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
43
          wird nur die eigentliche Programmlogik ausgef?hrt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
43
          wird nur die eigentliche Programmlogik ausgeführt.</p></div><div class="sect3" title="2.5.2.3. Getestete Kombinationen aus Webservern und Plugin"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.WebserverUndPlugin"></a>2.5.2.3. Getestete Kombinationen aus Webservern und Plugin</h4></div></div></div><p>Folgende Kombinationen sind getestet:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fcgid.</p></li><li class="listitem"><p>Apache 2.2.11 (Ubuntu) und mod_fastcgi.</p></li></ul></div><p>Dabei wird mod_fcgid empfohlen, weil mod_fastcgi seit geraumer
44 44
          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
45 45
          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
46
          verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI 0.69 und h?her ist extrem strict in der Behandlung von
46
          verwendet.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="../../../../system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>FCGI 0.69 und höher ist extrem strict in der Behandlung von
47 47
            Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
48 48
            Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
49
            Vorg?ngerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN l?sst sie sich die Vorg?ngerversion wie folgt
49
            Vorgängerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
50 50
            installieren:</p><pre class="programlisting">force install M/MS/MSTROUT/FCGI-0.68.tar.gz</pre></td></tr></table></div></div><div class="sect3" title="2.5.2.4. Konfiguration des Webservers"><div class="titlepage"><div><div><h4 class="title"><a name="Apache-Konfiguration.FCGI.Konfiguration"></a>2.5.2.4. Konfiguration des Webservers</h4></div></div></div><p>Bevor Sie versuchen, eine Lx-Office Installation unter FCGI
51 51
          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
52 52
          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
53
          debuggen die beim ersten aufsetzen auftreten k?nnen. Sollte die
53
          debuggen die beim ersten aufsetzen auftreten können. Sollte die
54 54
          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
55
          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration f?r die Verwendung von Lx-Office mit FastCGI
55
          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von Lx-Office mit FastCGI
56 56
          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
57 57
          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
58 58
          dem Installationspfad von Lx-Office im Dateisystem
......
72 72
&lt;DirectoryMatch /path/to/lx-office-erp/users&gt;
73 73
  Order Deny,Allow
74 74
  Deny from All
75
&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen f?r
76
          die maximale Gr??e eines Requests. Diese sollte wie folgt
75
&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
76
          die maximale Größe eines Requests. Diese sollte wie folgt
77 77
          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
78 78
AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
79 79
Alias       /url/for/lx-office-erp/          /path/to/lx-office-erp/
......
91 91
  Deny from All
92 92
&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
93 93
          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
94
          Dadurch, dass zur Laufzeit ?fter mal Scripte neu geladen werden,
95
          gibt es hier kleine Performance-Einbu?en.</p><p>Es ist m?glich, die gleiche Lx-Office Version parallel unter
96
          CGI und FastCGI zu betreiben. Daf?r bleiben die Directorydirektiven
97
          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff ?ber CGI
94
          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
95
          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche Lx-Office Version parallel unter
96
          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
97
          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
98 98
Alias       /url/for/lx-office-erp                /path/to/lx-office-erp
99 99

  
100 100
# Zugriff mit mod_fcgid:
......
102 102
Alias       /url/for/lx-office-erp-fcgid/          /path/to/lx-office-erp/</pre><p>Dann ist unter <code class="filename">/url/for/lx-office-erp/</code>
103 103
          die normale Version erreichbar, und unter
104 104
          <code class="constant">/url/for/lx-office-erp-fcgid/</code> die
105
          FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Der Task-Server</td></tr></table></div></body></html>
105
          FastCGI-Version.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s06.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Anpassung der PostgreSQL-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.6. Der Task-Server</td></tr></table></div></body></html>

Auch abrufbar als: Unified diff