Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5fa26f9a

Von Moritz Bunkus vor etwa 12 Jahren hinzugefügt

  • ID 5fa26f9a276487b08665bcefe36986bb66b9a3d7
  • Vorgänger 692e001f
  • Nachfolger 6d8b737a

Dokumentation: Lx-Office in kivitendo umbenennen

Unterschiede anzeigen:

doc/html/ch02s05.html
1 1
<html><head>
2 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
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="kivitendo: 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="d0e490"></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 4
          mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt
5 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 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
Alias /lx-erp/ /var/www/lx-erp/
10
Alias /kivitendo-erp/ /var/www/kiviteno-erp/
11 11

  
12
&lt;Directory /var/www/lx-erp&gt;
12
&lt;Directory /var/www/kivitendo-erp&gt;
13 13
 Options ExecCGI Includes FollowSymlinks
14 14
&lt;/Directory&gt;
15 15

  
16
&lt;Directory /var/www/lx-erp/users&gt;
16
&lt;Directory /var/www/kivitendo-erp/users&gt;
17 17
 Order Deny,Allow
18 18
 Deny from All
19 19
&lt;/Directory&gt;</pre><p>Ersetzen Sie dabei die Pfade durch diejenigen, in die Sie vorher
20
        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
20
        das kivitendo-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
21 21
          Plus ‘<code class="literal">+</code>’ gesetzt werden.</p></td></tr></table></div><p>Auf einigen Webservern werden manchmal die Grafiken und
22 22
        Style-Sheets nicht ausgeliefert. In solchen Fällen hat es oft
23 23
        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>
......
27 27
          Webserver. FastCGI ist vergleichbar zum Common Gateway Interface
28 28
          (CGI), wurde jedoch entwickelt, um dessen Performance-Probleme zu
29 29
          umgehen. </span>]
30
               </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
30
               </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 kivitendo eines ist) werden nicht statisch
31 31
          kompiliert. Stattdessen werden die Quelldateien bei jedem Start
32 32
          übersetzt, was bei kurzen Laufzeiten einen Großteil der Laufzeit
33 33
          ausmacht. Während SQL Ledger einen Großteil der Funktionalität in
34 34
          einzelne Module kapselt, um immer nur einen kleinen Teil laden zu
35
          müssen, ist die Funktionalität von Lx-Office soweit gewachsen, dass
35
          müssen, ist die Funktionalität von kivitendo soweit gewachsen, dass
36 36
          immer mehr Module auf den Rest des Programms zugreifen. Zusätzlich
37 37
          benutzen wir umfangreiche Bibliotheken um Funktionaltät nicht selber
38 38
          entwickeln zu müssen, die zusätzliche Ladezeit kosten. All dies
39
          führt dazu dass ein Lx-Office Aufruf der Kernmasken mittlerweile
39
          führt dazu dass ein kivitendo Aufruf der Kernmasken mittlerweile
40 40
          deutlich länger dauert als früher, und dass davon 90% für das Laden
41 41
          der Module verwendet wird.</p><p>Mit FastCGI werden nun die Module einmal geladen, und danach
42 42
          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 43
          Zeit nicht mehr weiter entwickelt wird. Im Folgenden wird auf
44 44
          mod_fastcgi nicht mehr explizit eingegangen.</p><p>Als Perl Backend wird das Modul <code class="filename">FCGI.pm</code>
45 45
          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
            Unicode, und verweigert bestimmte Eingaben von Lx-Office. Falls es
46
            Unicode, und verweigert bestimmte Eingaben von kivitendo. Falls es
47 47
            Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
48 48
            Vorgängerversion FCGI 0.68 ausgewichen werden.</p><p>Mit CPAN lässt sie sich die Vorgängerversion wie folgt
49
            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
49
            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 kivitendo Installation unter FCGI
50 50
          laufen zu lassen, empfliehlt es sich die Installation ersteinmal
51 51
          unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu
52 52
          debuggen die beim ersten aufsetzen auftreten können. Sollte die
53 53
          Installation schon funktionieren, lesen Sie weiter.</p><p>Zuerst muss das FastCGI-Modul aktiviert werden. Dies kann
54
          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
54
          unter Debian/Ubuntu z.B. mit folgendem Befehl geschehen:</p><pre class="programlisting">a2enmod fcgid</pre><p>Die Konfiguration für die Verwendung von kivitendo mit FastCGI
55 55
          erfolgt durch Anpassung der vorhandenen <code class="function">Alias</code>-
56 56
          und <code class="function">Directory</code>-Direktiven. Dabei wird zwischen
57
          dem Installationspfad von Lx-Office im Dateisystem
58
          ("<code class="filename">/path/to/lx-office-erp</code>") und der URL
59
          unterschieden, unter der Lx-Office im Webbrowser erreichbar ist
60
          ("<code class="filename">/url/for/lx-office-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
61
          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fcgi
62
Alias       /url/for/lx-office-erp/          /path/to/lx-office-erp/
57
          dem Installationspfad von kivitendo im Dateisystem
58
          ("<code class="filename">/path/to/kivitendo-erp</code>") und der URL
59
          unterschieden, unter der kivitendo im Webbrowser erreichbar ist
60
          ("<code class="filename">/url/for/kivitendo-erp</code>").</p><p>Folgender Konfigurationsschnipsel funktioniert mit
61
          mod_fastcgi:</p><pre class="programlisting">AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fcgi
62
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
63 63

  
64
&lt;Directory /path/to/lx-office-erp&gt;
64
&lt;Directory /path/to/kivitendo-erp&gt;
65 65
  AllowOverride All
66 66
  Options ExecCGI Includes FollowSymlinks
67 67
  Order Allow,Deny
68 68
  Allow from All
69 69
&lt;/Directory&gt;
70 70

  
71
&lt;DirectoryMatch /path/to/lx-office-erp/users&gt;
71
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
72 72
  Order Deny,Allow
73 73
  Deny from All
74 74
&lt;/DirectoryMatch&gt;</pre><p>Seit mod_fcgid-Version 2.6.3 gelten sehr kleine Grenzen für
75 75
          die maximale Größe eines Requests. Diese sollte wie folgt
76 76
          hochgesetzt werden:</p><pre class="programlisting">FcgidMaxRequestLen 10485760</pre><p>Das ganze sollte dann so aussehen:</p><pre class="programlisting">AddHandler fcgid-script .fpl
77
AliasMatch ^/url/for/lx-office-erp/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
78
Alias       /url/for/lx-office-erp/          /path/to/lx-office-erp/
77
AliasMatch ^/url/for/kivitendo-erp/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
78
Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
79 79
FcgidMaxRequestLen 10485760
80 80

  
81
&lt;Directory /path/to/lx-office-erp&gt;
81
&lt;Directory /path/to/kivitendo-erp&gt;
82 82
  AllowOverride All
83 83
  Options ExecCGI Includes FollowSymlinks
84 84
  Order Allow,Deny
85 85
  Allow from All
86 86
&lt;/Directory&gt;
87 87

  
88
&lt;DirectoryMatch /path/to/lx-office-erp/users&gt;
88
&lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
89 89
  Order Deny,Allow
90 90
  Deny from All
91 91
&lt;/DirectoryMatch&gt;</pre><p>Hierdurch wird nur ein zentraler Dispatcher gestartet. Alle
92 92
          Zugriffe auf die einzelnen Scripte werden auf diesen umgeleitet.
93 93
          Dadurch, dass zur Laufzeit öfter mal Scripte neu geladen werden,
94
          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche Lx-Office Version parallel unter
94
          gibt es hier kleine Performance-Einbußen.</p><p>Es ist möglich, die gleiche kivitendo Version parallel unter
95 95
          CGI und FastCGI zu betreiben. Dafür bleiben die Directorydirektiven
96 96
          wie oben beschrieben, die URLs werden aber umgeleitet:</p><pre class="programlisting"># Zugriff über CGI
97
Alias       /url/for/lx-office-erp                /path/to/lx-office-erp
97
Alias       /url/for/kivitendo-erp                /path/to/kivitendo-erp
98 98

  
99 99
# Zugriff mit mod_fcgid:
100
AliasMatch ^/url/for/lx-office-erp-fcgid/[^/]+\.pl /path/to/lx-office-erp/dispatcher.fpl
101
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>
100
AliasMatch ^/url/for/kivitendo-erp-fcgid/[^/]+\.pl /path/to/kivitendo-erp/dispatcher.fpl
101
Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</pre><p>Dann ist unter <code class="filename">/url/for/kivitendo-erp/</code>
102 102
          die normale Version erreichbar, und unter
103
          <code class="constant">/url/for/lx-office-erp-fcgid/</code> die
103
          <code class="constant">/url/for/kivitendo-erp-fcgid/</code> die
104 104
          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