Eine Wikifarm sind zwei oder mehr Wikis, die auf einem Webserver installiert sind und einige Komponenten gemeinsam nutzen. Der Begriff ist abgeleitet von der englischen Phrase 'Server Farm'.
Diese Seite gibt Aufschluss über die Hintergründe rund um Wikifarmen 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 es für Administratoren, die zum ersten Mal eine Farm installieren, so einfach wie möglich zu halten.
Diese Seite wird drei Wege, Inhalte zu organisieren, diskutieren:
Wenn man Inhalte auf unabhängig voneinander installierte Wikis verteilt (z. B. mit ihrem eigenen URL), ist es schwierig (aber nicht unmöglich), Dienstleistungen anzubieten, die Zugriff auf mehr als ein Wiki benötigen. die PmWiki-Suchfunktion zum Beispiel kann nur in einem Wiki suchen. Eine Farm zu benutzen als einen Weg, verwandte Inhalte zu unterteilen ist generell eine schlechte Idee. Ein viel besserer Weg, den Inhalt zu unterteilen, ist der Gebrauch von Wikigruppen. Siehe auch Motivation für Wiki-Gruppen.
Wenn der Inhalt im Großen und Ganzen unabhängig ist und es kaum oder keine Notwendigkeit gibt, Daten der Sites miteinander zu teilen, ist es sinnvoll, die Wikis in zwei unabhängig installierte Sites aufzuteilen.
Sowie Sie entschieden haben, dass Sie ein getrenntes Wiki (mit seinem eigenen URL) brauchen, haben Sie zwei grundlegende Möglichkeiten:
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 Upgrade auf eine neue Version von PmWiki für jedes der Wikis durchzuführen, indem er lediglich einmal die zentral gespeicherten Programmdateien erneuert.
Aus der Sicht eines Nutzers der verschiedenen Wikis gibt es keinen Unterschied zwischen getrennten, alles selbst enthaltenden Installationen von PmWiki und getrennten Wikis in einer Wikifarm, jedes Wiki der Farm ist absolut unabhängig von den anderen und erscheint als eine separate Website. Jedes Wiki in einer Farm:
Die gute Nachricht ist: Sie brauchen sich nicht vorab zu entscheiden. In der Praxis wird empfohlen, erst eine "normale" oder einzelne Installation von PmWiki durchzuführen und diese eine gewisse Zeit zu benutzen. Legen Sie Seiten an und bearbeiten Sie sie. Lernen Sie Rezepte aus dem Kochbuch (Cookbook) hinzuzufügen. Sie sollten unbedingt auch die Funktionen von Wikigruppen installieren und testen, denn u. U. sind diese bereits ausreichend.
Wenn Sie entschieden haben, eine Wikifarm zu erzeugen, dann lesen Sie weiter ...
Bevor Sie eine Farm erstellen, stellen Sie sicher, dass:
Sie haben doch zu diesem Zeitpunkt eine laufende PmWiki-Installation, oder? Das ist gut, weil dieses Wiki sich anschickt, das 'Home-Wiki' der Farm zu werden.
Erstellen Sie im Verzeichnis, das das existierende Wiki enthält, eine Datei local/farmconfig.php. Diese Datei wird die lokalen Anpassungen enthalten, die für die ganze Farm zutreffen sollen. Z. B. kann man in farmconfig.php ein Admin-Passwort festlegen, welches dann in allen Wikis der Farm gültig ist.
Wenn der URL für das existierende 'Home-Wiki' http://www.beispiel.de/pmwiki/ ist, dann sieht die einfachste farmconfig.php wie folgt aus:
<?php if (!defined('PmWiki')) exit(); $FarmPubDirUrl = 'http://www.beispiel.de/pmwiki/pub';
Dies lädt dann die Variable $FarmPubDirUrl
mit dem Speicherort des pub/-Verzeichnisses des 'Home-Wikis'. Alle Wikis in der Farm teilen sich dieses pub/-Verzeichnis. 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, dies sind schon alle Änderungen, die benötigt werden, um das existierende 'Home-Wiki' in eine Wiki-Farm zu verwandeln.
<?php include_once('path/to/pmwiki.php');
path/to/pmwiki.php
ist der Pfad, in dem die Datei pmwiki.php des 'Home-Wiki' gespeichert ist. Sie können sowohl eine absolute Pfandangabe (/home/username/pmwiki/pmwiki.php
) als auch eine relative Pfadangaben (../pmwiki/pmwiki.php
) benutzen. Benutzen Sie keinen 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/
.
http://
' beginnt. PmWiki wird versuchen, automatisch ein beschreibbares wiki.d/-Verzeichnis zu erzeugen, 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.
Jede Wiki-Farm erbt die Einstellungen aus farmconfig.php. Alle Anpassungen, die in der Wiki-Farm übergreifend Gültigkeit haben sollen, müssen also in farmconfig.php gespeichert sein.
Erstellen Sie ein local/-Verzeichnis innerhalb des Dateienverzeichnisses von jedem Wiki, in dem alle lokalen Anpassungen enthalten sein werden, die nur auf das jeweiligen Wiki wirken sollen. Die Farm-Einstellungen werden vor den lokalen Einstellungen gelesen, so dass die lokalen Einstellungen die farmweit geltenden überschreiben. Erzeugen Sie wenigstens eine config.php-Datei mit einem neuen Wiki-Titel:
<?php if (!defined('PmWiki')) exit(); ## Title Ihres Wiki in der Farm $WikiTitle = 'Neues Wiki';
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
Jedes Skript, das Sie in farmconfig.php einfügen, muss mit einer Zeile wie der folgenden eingefügt werden:
include_once("$FarmD
/cookbook/scriptfile.php");
$FarmD
.
Wie kommt es, dass ich meine Autorisierung behalte, wenn ich in ein anderes Wiki innerhalb der Farm wechsle?
PmWiki nutzt PHP-Sessions um Autentifikations- und Autorisierungsinformationen zu behalten und per Standard richtet PHP die Dinge so ein, dass alle Interaktionen mit dem gleichen Server als Teil der gleichen Sitzung (Session) angesehen werden.
Ein einfacher Weg, das zu bereinigen, ist sicherzustellen, dass jedes Wiki einen eigenen Cookienamen für seine Sessionidentitität benutzt. Nahe des Anfangs einer local/config.php-Datei eines Wikis, bevor "authuser" oder irgend ein anderes Rezept aufgerufen wird, fügen Sie eine Zeile wie die folgende ein:
session_name('XYZSESSID');
Sie können irgend einen alphanumerischen Namen für XYSESSID einsetzen, für ein Wiki "cs559-1" würden Sie vielleicht dies wählen:
session_name('CS559SESSID');
Das wird die Sitzungen unabhängig voneinander halten.
Kategorie: WikiFarms
Übersetzung von PmWiki.WikiFarms, Originalseite auf PmWikiDe.WikiFarms — Backlinks
Zuletzt geändert: | PmWikiDe.WikiFarms | am 16.05.2016 |
PmWiki.WikiFarms | am 03.06.2015 |