Skip to content

MediaWiki: Ein MediaWiki in eine Subdomäne installieren (mit ShortURLs)

Jan Brueghel der Ältere & Hendrick von Balen: Eine Bacchanalie

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:

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

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Gravatar, Twitter, Pavatar, Identica, Favatar Autoren-Bilder werden unterstützt.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Markdown-Formatierung erlaubt
Formular-Optionen