Dokuwiki als "Multisite"-Installation
DokuWiki ist für mich derzeit und schon länger die generische Antwort auf die Frage nach einem Wiki, nicht nur für Dokumentationszwecke, und auch für die Frage nach einem (simplen) CMS.
Ich installiere DokuWiki dabei (wie die meisten Webapplikationen) nicht als Debian-Paket, sondern direkt vom Erzeuger; zum einen, weil ich gerne eine aktuelle Version habe, zum anderen, weil ich dann (wie bei anderen Webseiten) frei entscheiden kann, wo die Dateien liegen sollen - und das ist in der Regel nicht dort, wo Debian sie ablegen würde, insbesondere, wenn es mehr als einen Nutzer mit Webseiten geben soll - und nicht zuletzt, weil das trivial funktioniert. Das führt dazu, dass ich Updates von Hand durchführen muss, und das kann dann schon etwas nervig werden, wenn es mehrere Hosts und mehrere Wikis betrifft.
Daher überlege ich schon länger, wie ich - zumindest bei Installationen auf demselben Host - den Aufwand (und, natürlich, auch den Platzverbrauch) minimieren kann. Die offenkundige Lösung ist eine “Farm”- oder “Multisite”-Installation, bei der der Code nur einmal vorhanden ist, aber jedes Wiki seine eigenen Konfiguration und natürlich seinen eigenen Speicherplatz für Inhalte hat. DokuWiki unterstützt das prinzipiell, aber die nächste Frage ist ja immer, wie gut das auch tatsächlich funktioniert: stabil, flexibel und vor allem ohne krude Hacks.
Nachdem ich mich diese Woche damit beschäftigt habe, kann ich sagen: es funktioniert gut. Die Flexibilität bleibt erhalten, Hacks braucht man nicht, weil die aktuellen DokuWiki-Versionen eine “Multisite”-Installation unterstützen, und stabil wirkt es bisher auch.
Der offensichtliche Vorteil liegt darin, dass man für beliebig viele Wikis nur einmal den Code für das Wiki selbst - und den für Plugins und Templates - installieren, updaten und pflegen muss. Der offensichtliche Nachteil liegt darin, dass alle Plugins und Templates im “Master”-Wiki installiert werden müssen und in den einzelnen Wikis nicht nachinstalliert werden können, und dass sich alle Wikis in Unterverzeichnissen unter einem “Stammverzeichnis” befinden müssen, deren Namen identisch mit der URL des Wikis sind.
Die Vorgehensweise zur Einrichtung ist recht einfach:
Man legt das “Master”- (oder “Farm”-) Wiki ganz normal an. Dieses Wiki kann man entweder als eigenständige Wiki-Instanz benutzen, oder man nutzt es nur zur Installation der Plugins und Templates, die den einzelnen “nachrangigen” Wiki-Installationen (“Slaves”, “Animals”) zur Verfügung stehen sollen. Auch das “Master”-Wiki muss aufrufbar sein, zumindest lokal.
Dieses Wiki konfiguriert man hinreichend sicher und installiert dort alle Plugins und Templates, die in irgendeinem der “nachrangigen” Wikis benötigt werden, denn nur diese stehen dort zur Verfügung. Die Installation eigener Plugins und Templates ist nicht möglich.
Man legt ein “Multisite-Stammverzeichnis” an, unter dem für jedes “nachrangige” Wiki ein eigenes Unterverzeichnis angelegt wird. Dieses Verzeichnis muss dem Hostnamen in der URL des Wikis (der “Domain”) entsprechen, also bspw. “wiki.domain.example” oder “blablubb.schwupp.example” heißen. Will man ein Wiki unter mehreren Namen aufrufen können, wird das nur als Redirect auf einen “Hauptnamen” (oder mittels Rewrite auf Ebene des Webservers) möglich sein.
Man aktiviert den “Multisite”-Modus im “Master”-Wiki.
Für jedes “nachrangige” Wiki wird das entsprechend benannte Unterverzeichnis im “Stammverzeichnis” angelegt und ein Template einkopiert.
In der Webserver-Konfiguration legt man den vhost so an, dass dessen DocumentRoot auf das Verzeichnis des “Master”-Wikis (!) zeigt (nicht auf das Verzeichnis des “nachrangigen” Wikis). Die DocumentRoot-Einträge sind also für jedes “nachrangige” Wiki identisch!
Webserver neustarten, URL des nachrangigen Wikis aufrufen, mit Standardpasswort einloggen, dieses ändern und das Wiki konfigurieren. Ungewollte Plugins kann man dort deaktivieren.
Weitere Wikis legt man durch Wiederholung der Schritte 5-7 an. Das Template für die neuen Wikis kann man nach den eigenen Bedürfnissen modifizieren; auch ist es durch entsprechende Konfiguration möglich, bspw. Benutzerdaten pp. zwischen mehreren Wiki-Instanzen zu teilen.
Updates - von DokuWiki wie von Plugins und Templates - erfolgen immer nur im “Master”-Wiki.
Die entsprechende Dokumentation findet sich im DokuWiki-Wiki unter DokuWiki Farms; dort sind auch weitere Hinweise - u.a. zur Möglichkeit einer Konfiguration via .htaccess
und andere, ältere Lösungsmöglichkeiten - zu finden. Meines Wissens stellt Debian in aktuellen Versionen in seinem DokuWiki-Paket auch entsprechende Tools zum “automatischen” Anlegen und Löschen von “Multisite”-Wikis über die Kommandozeile zur Verfügung.
Hinweis:
Eine (un-)regelmäßig aktualisierte Anleitung zu diesem Thema findet sich in meinem Wiki unter “Multisite”-Installation von DokuWiki.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt