MediaWiki: Ein MediaWiki in eine Subdomäne installieren (mit ShortURLs)
Um es kurz zu machen: Eine direkte Anleitung, wie man ein MediaWiki mit ShortURLs in eine subdomain installiert (und das auch noch mit Pfaden, von denen das MediaWiki-Manual nicht abrät), habe ich nirgendwo gefunden. Meine Lösung ist das Ergebnis folgender Artikel und Werkzeuge:
- MediaWiki Manual:Short URL (Genereller Artikel zum Thema "Short URLs" - keine wirkliche Hilfe für unser Vorhaben)
- How to install MediaWiki on a subdomain (beschreibt leider das Format "mywiki.example.com/Page_Title", von dem das MediaWiki-Manual abrät)
- Redwerks MediaWiki ShortURL Builder (Referenz-Werkzeug zur Erstellung von MediaWiki-ShortURLs - leider nicht für Subdomains)
Höchste Zeit, hier Abhilfe zu schaffen:
Das Vorgeplänkel
Gehen wir mal davon aus, wir besitzen eine Domäne "example.com", in der wir unterhalb der subdomain "mywiki.example.com" ein MediaWiki betreiben möchten. Dazu installieren wir zunächst die MediaWiki-Software, z. B. in das Unterverzeichnis "/mediawiki" unseres Webspaces (der volle Pfad im Webspace dürfte danach so was wie "/web/mediawiki" sein).
Anschließend kann unser MediaWiki über "example.com/mediawiki" aufgerufen werden.
Einrichten der Subdomain
Möchten wir unser MediaWiki über die subdomain "mywiki.example.com" erreichen, müssen wir diese Subdomain zunächst registrieren und auf auf den Ordner "/web/mediawiki" unseres Webspaces zeigen lassen (der genaue Pfad kann je nach Webhoster variieren - ich gehe der Einfachheit halber davon aus, dass unser Webspace unter "/web/" zu finden ist). Dazu wenden wir uns vertrauensvoll an unseren Webhoster oder richten die Subdomain über das Kunden-Interface selbst ein.
Hat alles geklappt, können wir "mywiki.example.com" aufrufen, werden nach "example.com/mediawiki" umgeleitet und finden uns in unserem MediaWiki wieder.
Welches URL-Format soll's denn sein?
Bevor wir weitermachen, ein paar Anmerkungen zum URL-Format: Auf den ersten Blick könnte man auf den Gedanken kommen, als endgültiges URL-Format so was wie "mywiki.example.com/Page_Title" zu verwenden. Hätten wir z. B. einen Artikel über den Göttervater Zeus, würde die URL zum Artikel "mywiki.example.com/Zeus" lauten. Sieht schön kurz und handlich aus, allerdings rät das MediaWiki-Manual von so einem Format ab:
Warning: This method may create an unstable URL structure and leave some page names unusable on your wiki. See Manual:Wiki in site root directory. Please see the article Cool URIs don't change and take a few minutes to devise a stable URL structure for your web site before hopping willy-nilly into rewrites into the URL root.
Außerdem bezieht sich der Artikel auf das Einrichten mit Hilfe des Webservers lighthttpd.
Kommt für uns also nicht in Frage, wir wollen MediaWiki-Manual-konform gehen und verwenden als URL-Format "mywiki.example.com/wiki/Page_Title". Damit dürften dann alle Parteien einverstanden sein.
Nur ein einziger Artikel zum Thema "MediaWiki in Subdomain installieren?"
Der so ziemlich einzige Artikel, den ich zu dem Thema gefunden habe, ist dieser hier: How to install MediaWiki on a subdomain. Man findet zwar noch was bei StackExchange, aber auch dieser Eintrag verweist auf den genannten Artikel.
Der Artikel bezieht sich allerdings - wenn ich das richtig sehe - auf das Format "mywiki.example.com/Page_Title", von dem das MediaWiki-Manual ja abrät und ist somit auch nur ein Baustein auf unserem Weg zur Lösung.
Fertige Konfiguration
Ich erspare mir die Beschreibung der einzelnen Schritte, wie ich letztendlich zum Ziel gekommen bin, und poste hier mal lediglich die zu tätigenden Konfigurations-Einträge.
(Die Einträge sind z. T. bereits in den Dateien vorhanden und müssen lediglich angepasst werden. Fehlende Einträge sind von Hand hinzuzufügen - ich gehe an dieser Stelle von einem konfigurieren SSL-Zertifikat aus, andernfalls ist "https://" durch "http://" zu ersetzen.)
In der "/web/mediawiki/LocalSettings.php":
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs please see:
## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://mywiki.example.com";
In der "/web/mediawiki/.htaccess":
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/mediawiki/index.php [L]
RewriteRule ^/?$ %{DOCUMENT_ROOT}/mediawiki/index.php [L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?mediawiki/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/mediawiki/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?mediawiki/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/mediawiki/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
Rufen wir anschließend "mywiki.example.com" auf, landen wir auf der MediaWiki-Hauptseite "https://mywiki.example.com/wiki/Hauptseite".
Troubleshooting
Zwischendurch hatte ich mal das Verhalten, dass beim Aufrufen des MediaWikis keine css-styles geladen wurden und das Suchen nach Artikeln immer nur auf die Hauptseite umleitete.
Das Ganze funktionierte erst richtig, nachdem ich in der "LocalSettings.php":
$wgScriptPath = "";
setzte (standardmäßig "/mediawiki").
Viel Erfolg!
Bildnachweis:: Jan Brueghel der Ältere (1568-1625): & Hendrick von Balen (1575-1632): Eine Bacchanalie (ca. 1608-1616)
Trackbacks
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt