Technische Dokumentation der WikiFarm auf gof530.server4you.de
Das folgende ist nur für Tim und ChristophKoenig wichtig.
Update
["/UpdateAuf1.6"]
Verzeichnisstruktur
Folgende Verzeichnisse werden bei jedem Update automatisch neu erstellt, aber von MoinMoin nicht benutzt:
/usr/share/moin/config/ /usr/share/moin/data/ /usr/share/moin/underlay/ /usr/share/moin/server/
Hier liegen die statischen Seiten:
/usr/share/moin/htdocs/
Generell gilt: Alles, was allen Wiki Instanzen gemein ist, ist in farm/ und jedes Wiki hat seinen eigenen Ordner:
Die Farm
/usr/share/moin/farm/ /usr/share/moin/farm/farmconfig.py # Konfiguration für die Farm /usr/share/moin/farm/intermap.txt # UPDATABLE standard intermap.txt von moinmaster /usr/share/moin/farm/localintermap.txt # hier sind die Wikis der Farm eingetragen # farmconfig.py lädt beide intermaps /usr/share/moin/farm/samplewiki.py # Grobe Vorlage für neue Instanzen # Achtung, diese Datei ist möglicherweise veraltet. Beim Erstellen # der ersten neuen Instanz, mit wiwa.py vergleichen! /usr/share/moin/farm/<instanz>.py # Konfiguration für die jeweilige instanz. /usr/share/moin/farm/user/ # Gemeinsame Userprofile für die ganze Farm /usr/share/moin/farm/underlay/ # UPDATABLE Gemeinsames Underlay für die ganze Farm
Instanzen
/usr/share/moin/<instanz>/ /usr/share/moin/<instanz>/data/ # Hier sind Seiten, Cache etc. der Instanz drin.
Updaten
Vorher
Liegen in /usr/share/moin/htdocs/ noch Sachen drin, die eventuell beim updaten überschrieben werden könnten? Was ist mit
/usr/share/moin/htdocs/favicon.ico /usr/share/moin/htdocs/robots.txt /usr/share/moin/htdocs/wiwa.png
- Außerdem: Backup machen! (Wem sage ich das?)
Nachher
Wenn MoinMoin aktualisert wurde, müssen alle Deteien und Ordner, die oben als UPDATABLE markiert sind, aktualisiert werden, indem die neuen standards da reinkopiert werden.
Achtung, dieses Skript wurde noch nie getestet!
# afterupdate.sh # After updating MoinMoin on your system, execute this script to # get the updates over to the farm. # You need to be root to execute this script $MOIN = /usr/share/moin/ # update intermap.txt rm $MOIN/farm/intermap.txt cp $MOIN/data/intermap.txt $MOIN/farm/intermap.txt chown christoph:moin $MOIN/farm/intermap.txt # update underlay rm -rf $MOIN/farm/underlay/ cp --recursive $MOIN/underlay/ $MOIN/farm/underlay/ chown christoph:moin $MOIN/farm/underlay/ # add WikiLizenz to underlay cp --recursive $MOIN/backup/WikiLizenz/ $MOIN/farm/underlay/pages/ chown --recursive wwwrun:www $MOIN/farm/underlay/pages/WikiLizenz exit 0
/usr/share/moin/htdocs/ wird automatisch aktualisiert.
Eine Instanz Erstellen
Dies ist noch eher ein Witz als ein Script, aber naja. Wenn es dann irgendwann fertig ist, muss man nur noch:
createinstance.sh mit dem Paramter instanzname aufrufen.
Die Instanz mit diesem Namen in farmconfig.py eintragen.
Eine Zeile in localintermap.txt einfügen:
InStanz http://wiki.elearning.apaed.tu-darmstadt.de/<instanzname>/
- Offensichtlich muss noch etwas in einer Apache config geändert werden...
# createinstance.sh $INSTANCE # creates a new wiki instance within the farm. # You need to be root to execute this file. ## TODO Check if user is root. # export INSTANCE=... ## TODO Check that script was executed with a parameter. ## Make that parameter lowercase and call it $INSTANCE cd /usr/share/moin/ mkdir $INSTANCE cp --recursive data/ $INSTANCE/ chown --recursive christoph:moin $INSTANCE/ cp farm/samplewiki.py farm/$INSTANCE.py ## achtung! samplewiki stimmt überhaupt nicht mehr!. bei wiwa.py spicken! chown christoph:moin farm/$INSTANCE.py exit 0
