Unterschiede zwischen den Revisionen 8 und 9
Revision 8 vom 2006-05-11 20:36:48
Größe: 4154
Autor: anonym
Kommentar: moin fastcgi
Revision 9 vom 2006-05-11 20:37:54
Größe: 4158
Autor: anonym
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 99: Zeile 99:
= Performancesteigerung = == Performancesteigerung ==
Zeile 101: Zeile 101:
== fastcgi == === fastcgi ===

TableOfContents


Was ist das hier

Diese Anleitung beschreibt die Einrichtung von [http://moinmoin.wikiwikiweb.de/ MoinMoin] 1.3.4 unter Debian/GNU Linux. Dabei kommt [http://httpd.apache.org/ Apache 1.3 bzw. 2] mit dem Modul [http://httpd.apache.org/docs/mod/mod_cgi.html mod_cgi] zum Einsatz.

Ziel

[http://moinmoin.wikiwikiweb.de/ MoinMoin] auf einem PC ohne Internetzugang nutzen.

Begriffe und Variablen

$USER

Benutzer mit dem du am System angemeldet bist

$WIKINAME

Name deines Wikis

$NAME_[1|2|3|]

ein beliebiger Wert

Installation

Pakete installieren

Folgende Pakete muessen installiert werden (zusätzlich zum Webserver):

apt-get install moinmoin-common python2.3-moinmoin python

Daten kopieren

Lege nun ein neus Verzeichnis fuer das Wiki an, kopiere die Daten dort hinein und aendere die Rechte:

mkdir /home/$USER/$WIKINAME

cp -r /usr/share/moin/data /usr/share/moin/underlay /usr/share/moin/server/moin.cgi /home/$USER/$WIKINAME

chown -R  www-data: /home/$USER/$WIKINAME

Webserver Apache 1.3 einrichten

Sollte das Modul [http://httpd.apache.org/docs/mod/mod_cgi.html mod_cgi] noch nicht aktiv sein, muss es aktiviert werden:

dpkg-reconfigure apache

Bearbeite nun die Datei /etc/apache/httpd.conf:

<IfModule mod_alias.c>
    ...
    Alias /wiki/ /usr/share/moin/htdocs/
    ...
</IfModule>


<IfModule mod_alias.c>
    ...
    ScriptAlias /$WIKINAME /home/$USER/$WIKINAME/moin.cgi
    ...
</IfModule>

Jetzt muss Apache neu gestartet werden:

/etc/init.d/apache restart

Webserver Apache 2 einrichten

In die Datei /etc/apache2/conf.d/$WIKINAME folgende Zeilen eintragen:

  Alias /wiki/ /usr/share/moin/htdocs/
  ScriptAlias /$WIKINAME /home/$USER/$WIKINAME/moin.cgi

Den Apache2 freundlich neustarten:

apache2ctl graceful

MoinMoin einrichten

Bearbeite die Datei /etc/moin/farmconfig.py:

wikis = [
    ("$WIKINAME",  r"^localhost/$WIKINAME.*$"),
]

Erstelle eine Konfigurationsdatei fuer dein Wiki:

cp /etc/moin/moinmaster.py /etc/moin/$WIKINAME.py

und bearbeite diese:

# basic options (you normally need to change these)
    sitename = u'$NAME_1' # [Unicode]
    interwikiname = '$NAME_2'
    data_dir = '/home/$USER/$WIKINAME/data/'
    data_underlay_dir = '/home/$USER/$WIKINAME/underlay/'
    page_front_page = '$NAME_3'

BR Fertig. Nun ist dein Wiki unter Verbatim(http://localhost/$WIKINAME/) zu erreichen.

Performancesteigerung

Das Standard moin.cgi fühlt sich recht langsam an aber es gibt Wege zu einem schnelleren Moin. Schau dir diesen [http://moinmoin.wikiwikiweb.de/PerformanceProposals MoinMoin Performance Überblick] an.

fastcgi

cp /usr/share/moin/server/moin.fcg /home/$USER/$WIKINAME/
chown www-data moin.fcg
  • In der moin.fcg musst du evtl. noch die Variable sys.path anpassen, wenn deine MoinMoin Configs nicht in /etc/moin/ liegen.

In /etc/apache2/conf.d/$WIKINAME ersetzt du die ScriptAlias Zeile durch folgendes:

<IfModule !mod_fastcgi.c>
  ScriptAlias /$WIKINAME "/home/$USER/$WIKINAME/moin.cgi"
</IfModule>
<IfModule mod_fastcgi.c>
   AddHandler fastcgi-script .fcgi .fcg
   FastCgiServer /mnt/data/cbxwiki/moin.fcg -idle-timeout 60 -processes 1
   ScriptAlias /$WIKINAME/ "/home/$USER/$WIKINAME/moin.fcg/"
</IfModule>
  • Dadurch läuft dein Wiki normal weiter, falls dein Webserver mal kein fastcgi anbietet.
  • Beim FastCgiServer kannst du die Parameter auch weglassen. Hier wurden nur ein Prozess gewählt, weil der Server (ein NSLU2) nicht gerade üppig mit RAM bestückt ist.

  • Ich bin mir nicht ganz sicher ob die "/" unbedingt notwendig sind.

Zum Schluss musst du als root noch den Apache2 mit fastcgi bestücken:

apt-get install libapache2-mod-fastcgi
a2enmod fastcgi
/etc/init.d/apache2 force-reload
  • TODO: apache2ctl graceful reicht wohl nicht immer?

Das war's jetz sollte dein moin etwas schneller zu Potte kommen. :)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.