Unterschiede zwischen den Revisionen 22 und 23
Revision 22 vom 2014-07-31 06:11:26
Größe: 5692
Autor: anonym
Kommentar:
Revision 23 vom 2023-06-30 14:58:43
Größe: 0
Autor: phil
Kommentar: veraltet
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
<<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 python-moinmoin
}}}
== 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]] und diese [[http://moinmoin.wikiwikiweb.de/MoinBenchmarks|Benchmarks]] an.

== fastcgi ==
An Stelle des klassischen cgi benutzen wir [[http://de.wikipedia.org/wiki/FastCGI|fastcgi]]. Moinmoin bietet glücklicherweise schon einen angepassten Server.

{{{
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.
Zum Schluss musst du als root noch den Apache2 mit fastcgi bestücken:

{{{
apt-get install libapache2-mod-fastcgi
a2enmod fastcgi
apache2ctl graceful
}}}
Das war's jetzt sollte dein moin etwas schneller zu Potte kommen. :)

= Zugangsbeschränkung mit htaccess =
Aktuelle !MoinMoin Versionen bieten die Möglichkeit von [[http://moinmaster.wikiwikiweb.de/HelpOnAccessControlLists|Access Control Lists]], deren Verwendung gut in der wikiinternen Doku beschrieben wird. Ein weitere Möglichkeit ist die Kontrolle durch den Webserver, in diesem Fall Apache. Die hier beschriebene !MoinMoin Installation ist bisher für jedeN !BenutzerIn auf dem lokalen Rechner erreichbar. Um dies etwas einzuschränken, bietet sich die htaccess Methode an. Dazu trägst du am Ende der Datei ''/etc/apache2/conf.d/$WIKINAME'' folgende Zeilen ein:

{{{
<Location /$WIKINAME >
                AuthUserFile /home/$USER/$WIKINAME/.htpasswd
                AuthGroupFile /dev/null
                AuthName "$YOURUSER"
                AuthType Basic
                <Limit GET>
                require valid-user
                </Limit>
</Location>
}}}
Anschließend generierst du mit dem Programm ''htpasswd'' die .htpasswd Datei:

{{{
htpasswd -c /home/$USER/$WIKINAME/.htpasswd $YOURUSER
}}}
Dabei wirst du zweimal nach dem Kennwort gefragt. Von jetzt an sollte nur noch YOURUSER mit dem passenden Kennwort Zugriff auf das Wiki haben.

----
= moin per wget kriegen =
 * wenns mal schnell und nicht interaktiv gehen muss, dann hilft folgende Zeile: {{{ wget -r -l0 -np --no-check-certificate --http-user="username" --http-password="passwort" --convert-links https://adresse.zum/wiki}}}

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