Administratoren (fortgeschritten) Eine WikiFarm sind zwei Wikis, die auf einem Webserver installiert sind und einige Komponenten gemeinsam nutzen. Der Begriff ist abgeleitet von 'Server Farm'.
Diese Seite gibt Aufschluss über die Hintergründe rund um WikiFarms und beschreibt, wie man eine 'normale' PmWiki-Konfiguration in eine WikiFarm überführt, indem man weitere PmWikis hinzufügt. Es gibt mehrere Wege eine WikiFarm zu konfigurieren; diese Seite beschreibt lediglich einen Weg, um für Administratoren, die zum ersten Mal eine Farm installieren, es so einfach wie möglich zu halten.
Wozu braucht man eine Farm
Die primäre Motivation für eine WikiFarm ist es, den administrativen Aufwand zu reduzieren, den man hat, wenn man mehrere Wikis parallel betreibt. In einer Farm werden die meisten Programmdateien von allen Wikis der Farm gemeinsam genutzt, aber an einer einzigen Stelle gespeichert. Der Administrator ist somit in der Lage z.B. ein Update des PmWiki durchzuführen, indem er lediglich einmal die zentral gespeicherten Programmdateien erneuert.
Für den Nutzer der verschiedenen Wikis ist jedes Wiki der Farm absolut unabhängig von den anderen und erscheint als eine seperate Webseite. Jedes Wiki in einer Farm:
- hat seine eigene URL und die URL kann einer anderen Domain zugeordnet sein
- kann sein eigenes Layout haben, indem es unterschiedliche Skins benutzt
- kann seine eignen Add-ons und Anpassungen haben, siehe Cookbook
- kann seine eigenen administrativen Regelungen für die jeweilige Konfiguration haben
Wann sollte man keine Farm benutzen
Weil die Wikis einer Farm unabhängig voneinander sind, ist es schwierig (aber nicht unmöglich) Funktionalitäten anzubieten, die den Zugriff zu den Inhalten von mehreren Wikis benötigen. Z.B. kann die PmWiki-Suchfunktion nur innerhalb eines Wikis suchen. Benutzt man eine Farm um ein Überthema in Teile zu untergliedern, ist dies grundsätzlich eine schlechte Idee. Um eine Unterteilung zu erreichen sollte man eher WikiGroups benutzen.
Ich kann mich nicht entscheiden, ob ich eine Farm nutzen soll
Die gute Nachricht ist: man braucht sich nicht vorab zu entscheiden. In der Praxis wird empfohlen erst eine normale Installation eines PmWiki durchzuführen und diese eine gewisse Zeit zu benutzen. Man legt Seiten an und bearbeitet sie. Man lernt Rezepte aus dem Kochbuch (Cookbook) hinzu zu fügen. Man sollte unbedingt auch die Funktionen von WikiGroups installieren und testen, denn u.U. sind diese bereits ausreichend.
Wenn man dann feststellt, dass man ein weiteres Wiki benötigt, hat man zwei Möglichkeiten:
- Man führt eine komplette Neuinstallation eines PmWiki in einem neuen Verzeichnis durch. Das ergibt zwei völlig unabhängige Wikis, die absolut eigenständig sind. Dies ist keine Wiki-Farm.
- Man erstellt eine Wiki-Farm, indem man das existierende Wiki als 'Home-Wiki' nutzt und die meisten Programmdateien gemeinsam nutzt.
Die Alternative 1 sollte in folgenden Fällen gewählt werden:
- da es sich bei dieser Konfiguration um keine Wiki-Farm handelt, braucht man auch kein zusätzliches KnowHow um die zweite Seite zu administrieren.
- Wenn man vor hat, eines der Wikis auf einen anderen Server zu kopieren, kann man dies sehr einfach tun, indem man das Wiki-Verzeichnis auf den zweiten Server kopiert. Dort wird es (richtige PHP-Version vorausgesetzt) problemlos funktionieren.
- Man kann in jedem PmWiki eine andere Version des PmWiki benutzen, z.B. um diese zu testen.
- Installationsfehler wirken sich nicht auf die jeweils andere Instanz aus.
Wenn man sich für Alternative 2, eine Wiki-Farm, entscheidet, geht man wie folgt vor .....
Vorbereitung
Bevor man eine Farm erstellt, ist sicher zu stellen dass:
- man eine laufende Installation eines PmWiki hat, die das 'Home-Wiki' werden kann
- alle Wikis der Farm später auf dem gleichen Webserver laufen
- jedes Wiki eine eigene URL bekommen kann, wie z.B.:
Erstellen des 'Home-Wiki'
Sie haben eine laufende PmWiki-Installation? Gut, weil diese nun das 'Home-Wiki' der Farm wird.
Im Verzeichnis, das das existierende Wiki enthält, erstellt man eine Datei local/farmconfig.php. Diese Datei wird die Farm-Anpassungen enthalten. Z.B. kann man in farmconfig.php ein Admin-Passwort festlegen, welches dann in allen Wikis der Farm gültig ist.
Wenn die URL für das existierende 'Home-Wiki' http://www.example.com/pmwiki/ ist, dann sieht die einfachste farmconfig.php wie folgt aus:
<?php if (!defined('PmWiki')) exit(); $FarmPubDirUrl = 'http://www.example.com/pmwiki/pub';
Dies lädt dann die Variable $FarmPubDirUrl
mit dem Speicherort des 'Home-Wiki' und somit auch des /pub-Directorys. Das /pub-Verzeichnis enthält alle Skin-Definitionen und GUI-Edit-Buttons, die von den Wikis der Wiki-Farm gemeinsam genutzt werden sollen.
So verblüffend dies klingt, sind dies schon alle Änderungen, die benötigt werden, um das existierende 'Home-Wiki' in eine Wiki-Farm zu verwandeln.
Weitere Wikis innerhalb der Farm erstellen
1. Erzeugen eines neuen Verzeichnisses, das das neue Wiki enthalten wird. Es muss vom Webserver erreichbar sein, so wie das des 'Home-Wiki'.
2. Erzeugen einer Datei index.php in diesem Verzeichnis, die die folgende Anweisung enthält:
<?php include('path/to/pmwiki.php');
Damit benutzt das neue PmWiki die Dateien und Programme aus dem 'Home-Wiki'. Die Angabe path/to/pmwiki.php
ist der Pfad, in dem die Datei pmwiki.php des 'Home-Wiki' gespeichert ist. Man kann sowohl eine absoulte Pfandangabe (/home/username/pmwiki/pmwiki.php
) als auch eine relative Pfadangaben (../pmwiki/pmwiki.php
) benutzen. Benutze keine URL - es darf also kein 'http://
' in der Pfadangabe enthalten sein. Für Windows-Web-Server ist der komplette Dateipfad zu benutzen C:/Apache Group/Apache2/www/mynewwiki/
.
3. Wenn man nun das neue Wiki mit dem Webbrowser aufruft, also eine URL, die mit 'http://
' beginnt, wird automatisch das Wiki-Directory wiki.d/ erzeugt, in dem die Wiki-Seiten gespeichert werden. Wenn eine Fehlermeldung erscheint, befolgen Sie die Angaben der Fehlermeldung. Wenn Sie die Option "slightly more secure installation" wählen, müssen Sie beide genannten Kommandos ausführen.
Ihre Wiki-Farm ist nun installiert und enthält 2 Wikis. Um weitere Wikis hinzuzufügen, müssen Sie einfach die letzten 3 Schritte wiederholen.
Einstellungen
Jede Wiki-Farm erbt die Einstellungen aus farmconfig.php. Alle Einstellungen, die in der Wiki-Farm Gültigkeit haben, müssen also in farmconfig.php gespeichert sein.
Um Einstellungen für jeweils ein Wiki vorzunehmen ist ein Verzeichnis local/ zu erstellen, in dem alle lokalen Einstellungen des jeweiligen Wiki gespeichert werden. Die Farm-Einstellungen werden vor den lokalen Einstellungen gelesen, so dass die lokalen Einstellungen die farmweit geltenden überschreiben.
Die PmWiki-Variable $FarmD
zeigt auf das Verzeichnis, in dem die pmwiki.php des 'Home-Wiki' gespeichert ist. Sie wird als Prefix benötigt, um auf gemeinsam genutzte Komponenten des jeweiligen Wikis zuzugreifen. Zum Beispiel:
$FarmD
/scripts/ zeigt auf das gemeinsame Verzeichnis scripts/$FarmD
/pub/ zeigt auf das gemeinsame Verzeichnis pub/ directory$FarmD
/cookbook/ zeigt auf das gemeinsame Verzeichnis cookbook/ directory
Hinweis
- Die Terminologie, die in Wiki-Farms benutzt wird, ist nicht durchgängig. Siehe auch WikiFarmTerminology?
- Es ist wichtig zu wissen, dass nicht alle Rezepte aus dem Kochbuch für Wiki-Farms geschrieben und getestet wurden. Beachten Sie die Informationen wie das jeweilige Rezept auf die Wiki-Farm anzuwenden ist.
- Es gibt viel, viel mehr Funktionalitäten, die man mit einer Wiki-Farm nutzen kann. Einige sind beschrieben in WikiFarmsAdvanced?, das auch Schritt-für-Schritt-Anleitungen enthält, um Wiki-Farms zu installieren.
<< Internationalisierungen | DocumentationIndex | InterMap anpassen >>