This page (revision-7) was last changed on 17-Jun-2012 22:32 by ThomasBayen 

This page was created on 09-May-2012 19:41 by ThomasBayen

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
7 17-Jun-2012 22:32 11 KB ThomasBayen to previous Mehrere Wikis als mehrsprachige Wikifarm
6 17-Jun-2012 22:25 11 KB ThomasBayen to previous | to last Mehrere Wikis als mehrsprachige Wikifarm
5 17-Jun-2012 22:17 11 KB ThomasBayen to previous | to last Mehrere Wikis als mehrsprachige Wikifarm
4 10-May-2012 10:39 7 KB Peter Hormanns to previous | to last JAMWiki als Alternative
3 10-May-2012 10:38 7 KB Peter Hormanns to previous | to last JAMWiki als Alternative
2 10-May-2012 10:34 7 KB Peter Hormanns to previous | to last JAMWiki als Alternative
1 09-May-2012 19:41 6 KB ThomasBayen to last Aufsetzen eines eigenen Mediawiki

Page References

Incoming links Outgoing links

Version management

Difference between version and

= MediaWiki =

[Mediawiki|http://www.mediawiki.org/wiki/MediaWiki] ist eine sehr erfolgreiche Wiki-Software, die unter anderem von [Wikipedia|http://de.wikipedia.org] benutzt wird. Ihre starke Verbreitung resultiert hauptsächlich daraus, das viele Menschen heutzutage über Wikipedia Ihren ersten Kontakt zu einem Wiki haben. Insbesondere haben es andere Wiki-Engines natürlich schwer, wenn sie dann noch eine andere Syntax als den "Wikipedia-Standard" benutzen (wie z.B. das JPSWiki hier in der LUG Krefeld, das wir jedoch mit einem eigenen Plugin etwas gezähmt haben).


== Installation auf einem Debian-System ==

Ich habe einen dedizierten Server im Internet, auf dem ich neben anderen Dingen, die dort bereits liefen, ein Mediawiki für mein FreiBier-Projekt aufsetzen wollte.

'''Meine Umgebung:''' Ich bevorzuge Debian-Pakete, weil diese sich normalerweise besser aktualisieren lassen als eine händische Installation. Da auf dem Server bereits andere Applikationen laufen, die eine PostgreSQL Datenbank voraussetzen, wollte ich die Option wählen, Mediawiki auf Postgres zugreifen zu lassen. Außerdem wollte ich mir die Option offenhalten, eventuell später weitere Wikis unter anderem Namen laufen zu lassen.

Auf dem Server habe ich folgendes installiert:

 aptitude install postgresql-contrib
 aptitude install mediawiki php5-pgsql
 aptitude install mediawiki-extensions

Durch die Angabe der beiden postgres-Pakete habe ich dafür gesorgt, das Mediawiki automatisch den Postgres-Server benutz hat. Das ging eigentlich danach komplett von alleine. :-) Das Extensions-Paket ist nicht dringend nötig, ich wollte es allerdings so haben - wer will, kann sich auch die einzelnen Erweiterungen Paket für PAket installieren, die für Debian vorliegen.

Da ich vorher den Apache Webserver bereits installiert hatte, wurde bei mir ''apache-mpm-worker'' deinstalliert (und durch ''apache-mpm-prefork'' ersetzt). Hierbei handelt es sich um eine andere Variante des Apache Binaries, die ihre Threads anders organisiert. Das liegt am phpmod-Modul, das nicht threadsafe ist und sollte im praktischen Betrieb keinen grossen Unterschied machen, wenn man nicht wirklich grosse Mengen an Web-Anfragen bedienen möchte.

Um zu sehen, wie ich am besten vorgehe, habe ich mir http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_GNU/Linux durchgelesen.

Danach war dann noch http://www.mediawiki.org/wiki/Manual:Short_URL wichtig. Ich habe das Problem der "Short URLs" von Anfang an richtig lösen wollen, um nicht später wieder alles umbauen zu müssen. "Short URL" bedeutet, das man auf eine Wikiseite "Blablabla" mit der URL http://www.meinserver.net/wiki/Blablabla zugreifen kann. Da intern ein PHP-Skript mit Parametern aufgerufen wird, das unter einem ganz anderen Pfad liegt, muss das extra eingerichtet werden. Dieses URL-Schema hat aber den Vorteil, das die URLs für einen außenstehenden Anwender gut und logisch aussehen. Sollte man später aus irgendeinem Grunde die Domain oder die Wiki-Software wechseln, so können die einfachen URLs leicht auf das neue System gemappt werden.


In /etc/mediawiki/apache.conf habe ich nun eingefügt:

 Alias /wiki /var/lib/mediawiki/index.php

Hierdurch wird die vorne angegebene URL auf den hinten angegebenen Dateipfad gemappt.

Hat man das gemacht, kann auch schon auf die URL http://www.meinserver.org/wiki zugegriffen werden. Die eigentliche Konfiguration geschieht dort per Weboberfläche und erzeugt eine Datei namens ~LocalSettings.php. Diese kopiere ich wie in der [Anleitung|http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_Debian_GNU/Linux] beschrieben nach /etc/mediawiki/

Damit funktioniert das Wiki erstmal, hat aber keine hübschen Short URLs. Um das umzusetzen, bin ich nach http://www.mediawiki.org/wiki/Manual:Short_URL vorgegangen:

Im www-Verzeichnis dieses Hosts wird ein Symlink "w" eingerichtet:

cd /var/www
ln -s /var/lib/mediawiki/ w

Dann habe ich folgende Einstellungen in ~LocalSettings.php gemacht.

$wgScriptPath       = "/w";  
$wgScriptExtension  = ".php";
## -TB-
$wgArticlePath      = "/wiki/$1";
$wgUsePathInfo      = true;


== Wiki mit eigenem Benutzer und virtuellem Host ==

Da ich später vielleicht verschiedene Wikis haben möchte (und da die vorhandenen Dateien einen eigenen Benutzer haben sollten), habe ich einen neuen Benutzer "freibier" angelegt. In dessen Home-Verzeichnis habe ich nun ein Unterverzeichnis "public_html" angelegt und dort sowohl eine Datei '''index.php''' als auch einen Symlink '''w''' (nach ''/usr/share/mediawiki'') angelegt.

'''index.php''' enthält einen HTTP-Redirect wie in http://www.mywebsolution.de/tipps/13/show_PHP-redirect.html erklärt (In [SelfHTML|http://de.selfhtml.org/html/kopfdaten/meta.htm] steht, warum ein HTTP-Redirect besser ist als ein HTML-Redirect und das das nur als CGI möglich ist - also in diesem Falle als PHP-Skript).

Ein virtueller Server wird im Apache durch eine Datei ''/etc/apache2/sites-available/www_frei-bier_org'' konfiguriert, die bei mir so aussieht:

<pre>
 <VirtualHost *:80>
       ServerName www.frei-bier.org
       ServerAdmin webmaster@localhost

       DocumentRoot /home/freibier/public_html/
       <Directory />
               Options FollowSymLinks
               AllowOverride None
       </Directory>
       <Directory /home/freibier/public_html/>
               Options Indexes FollowSymLinks MultiViews ExecCGI
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>
       
       ErrorLog ${APACHE_LOG_DIR}/error.log
       LogLevel warn
       CustomLog ${APACHE_LOG_DIR}/access.log combined

 </VirtualHost>
</pre>

Dieser virtuelle Server wird dann mittels

 a2ensite www_frei-bier_org

und einem folgenden Apache-reload (wie angegeben) aktiviert.


== Mehrere Wikis auf einem Server ==

Das habe ich bis jetzt noch nicht gemacht, aber im Grunde geht es darum, dem Wiki beim Starten eine jeweils andere ~LocalSettings.php unterzuschieben. Dort stehen dann entsprechend Einstellungen für ein anderes Upload-Verzeichnis und andere Datenbank-Zugangsdaten. Hierzu liest man am besten:

* http://www.mediawiki.org/wiki/Manual:Wiki_family
* http://www.steverumberg.com/wiki/index.php/WikiHelp

Es ist übrigens auch möglich, das Upload-Verzeichnis zwischen mehreren Wikis zu teilen.


== Welche Daten machen das Wiki aus? ==

Um meine Datensicherung zu planen stellt sich nun die Frage: Was macht diese Wiki-Installation denn nun aus? Hier ist zu nennen:

* Die Apache-Konfiguration, ohne die das Wiki nicht zu erreichen ist (das könnte man von Hand wiederherstellen)
* Die Datei ~LocalSettings.php, die alle Grundeinstellungen des Wiki enthält (auch das könnte man von Hand wieder herstellen)
* Das Images-Verzeichnis (in der Standard-Installation ''/var/lib/mediawiki/images''), das alle Uploads (also insbesondere Bilder) enthält.
* Die Datenbank (das ist der wichtigste Teil)

== Alternative ==

Wer (wie ich, PeterHormanns) so komplexe PHP-Anwendungen nicht mag, aber seinen Nutzern ein MediaWiki-kompatibles Wiki anbieten möchte,möchte sollte sich [JAMWiki|http://jamwiki.org/] ansehen.

[JAMWiki|http://jamwiki.org/] ist ein in Java programmierter Clone des MediaWiki unter LGPL.

Lines of Code
||~MediaWiki| 850.000 Zeilen| PHP
||JAMWiki| 35.000 Zeilen| Java
||JSPWiki| 85.000 Zeilen| Java
Zahlen lt. [Ohloh|http://www.ohloh.net/p/compare?project_0=JSPWiki&project_1=Jamwiki&project_2=MediaWiki] (abgerufen am 10.5.2012)


\\
[{Tag Wiki}]