Mediawiki Server: Erstinstallation, Backup und Recovery

Aus Hergipedia
Zur Navigation springen Zur Suche springen

angepasste Anweisungen für OpenSuse-Server. Alle Befehle als root.

Erstinstallation (neue Wiki)

Dependencies

  • ein eingerichteter OpenSuse Rechner/VM. siehe hier

Dies installiert alle notwendigen Pakete (mysql, php, ...). Das mediawiki-repository kann jetzt wieder entfernt werden, da in Folge am besten gleich die neueste Version von Mediawiki installiert wird.

MySQL konfigurieren und starten (bei Erstbenutzung)

rcmysql start
mysql_secure_installation
# in obigem Dialog ein root password eingeben. In Folge wird in dieser
# Anleitung davon ausgegangen, dass das Passwort: mysql_rootpw eingegeben
# wurde.

Jetzt im yast/System/Systemdienste das Autostarthäkchen setzen.

Apache konfigurieren und starten

Am besten per yast/Netzwerkdienste/Http-Server. Die defaults sind ok (Htmlseiten werden im Ordner /srv/www/htdocs abgelegt. Hier gleich das Häkchen setzen, dass der Port für die Firewall geöffnet wird.

Ein Neustart des Webservers ist jederzeit mit rcapache2 restart möglich.

Mediawiki runterladen, installieren, konfigurieren

Im Ordner /srv/www/htdocs/mediawiki sollte eine (veraltete Mediawiki)-Installation stehen. Die kann dort als Referenz erst einmal bleiben. Wir downloaden und installieren jetzt die neueste Version von http://www.mediawiki.org/wiki/Download. Zum Zeitpunkt des Artikelschreibens ist dies die Version 1.14. Es wird an dieser in den Ordner wiki installiert. Dieser Ordner erscheint in der Webseite. Bitte in den folgenden Schritten anpassen, da eine nachträgliche Umbenennung zwar nicht unmöglich, aber etwas frickelig ist.

cd /srv/www/htdocs
wget http://download.wikimedia.org/mediawiki/1.14/mediawiki-1.14.0.tar.gz 
tar xf mediawiki-1.14.0.tar.gz
mv mediawiki-1.14.0/ wiki
chown -R root:www wiki/

Im Webbrowser jetzt die Adresse http://localhost/wiki aufrufen. Der freundlichen Aufforderung Please set up the wiki first. folgen, zB.:

...

# Anstatt "FritzMeier" und "wiki_pwmeier" bitte
# eigene Werte verwenden.
Admin username: FritzMeier
Password: wiki_pwmeier
Password confirm: wiki_pwmeier

...

# Anstelle von "wikidb", "wikiuser" kann man, anstelle von
# "mysql_wikiuserpw" sollte man andere Werte verwenden.

# Database name ist der Name der mysql Datenbank.
Database name: wikidb

# Name des Datenbankusers, der in MySQL automatisch angelegt und mit 
# den nötigen Rechten versehen wird
DB username: wikiuser
DB password: mysql_wikiuserpw
DB password confirm: mysql_wikiuserpw

... 

# Hier kommt der mysql root account von weiter oben rein
Superuser account: [x]
Superuser name: root
Superuser password: mysql_rootpw

Jetzt kann der Install Mediwiki Button geklickt werden. Dies legt in MySQL eine neue Datenbank namens wikidb an, erzeugt in mysql den User wikiuser mit den notwendigen Rechten für diese DB und - last not least - erstellt im Ordner /srv/www/htdocs/wiki/config die Datei LocalSettings.php . Diese muss verschoben werden:

mv /srv/www/htdocs/wiki/config/LocalSettings.php /srv/www/htdocs/wiki/config

php.ini anpassen

  • In /etc/php5/apache2/php.ini die Größe des maximalen Dateiuploads in MB festlegen durch Abändern des upload_max_filesize Eintrags.
upload_max_filesize = 100M

Das wars. Die Mediawiki ist jetzt fertig zum Bearbeiten unter http://localhost/wiki.

Zusätzliche Extensions für Hergipedia

Zum einwandfreien Betrieb der Hergipedia sind einige zusätzliche Mediawiki-Extensions nötig. Die Erweiterungen findet man unter http://www.mediawiki.org/wiki/Category:Extensions. Folgende Erweiterungen wurden auf der Hergipedia installiert:

  • Lockdown für die Verwaltung von Zugriffsrechten
  • Jmol für die Einbindung von 3D-Molekülmodellen
    • Jmol erfordert die Installation von StubManager
  • WikiFlasher zur Einbindung von Flash-Animationen
  • FlowPlayerExtension zur Einbindung von Flash-Videos via FlowPlayer
    • FlowPlayerExtension erfordert FlowPlayer 2.x; diese Version ist bereits veraltet

Backup

Nur zwei Dinge sind zu tun, um alle relevanten Daten zu sichern.

wikidb mysql Datenbank dumpen

Wobei wikidb der weiter oben gewählte Datenbankname ist. Das einzugebende Passwort ist lautet in diesem Tutorial mysql_rootpw, in einer konkreten Installation natürlich anders.

mysqldump wikidb -u root -p > wikidb.sqldump

Datei wikidb.sqldump zippen und sichern.

Mediawiki sichern (hauptsächlich wegen LocalSettings.php)

cd /srv/www/htdocs
tar czf wiki.tgz wiki/

Sichern.

Recovery (gesichertes Backup wieder einspielen)

die Schritte der Erstinstallation durchführen

je nachdem ob mysql und apache bereits laufen, nur die Punkte bei "Wikipedia runterladen, installieren, konfigurieren" abarbeiten. (Zwecks Anlegen des wikiusers und der wikidb in mysql durch das Config-script der Mediawiki).

den sqldump in mysql zurückspielen

mysql wikidb -u root -p < wikidb.sqldump

LocalSettings.php regenerieren

  • Variante 1: Anpassungen aus der gesicherten LocalSettings.php in die neue übertragen.
# meld ist ein grafisches Tool zum interaktiven Einarbeiten von diffs
meld LocalSettings.php LocalSettings.php.old
  • Variante 2: alte Mediawiki aus wiki.tgz regenerieren

Durch Abarbeiten der folgenden Befehle startend vom mv Befehl lässt sich auch das Stammverzeichnis einer Wikipedia verschieben(umbenennen).

(setzt voraus, dass der Ordner wiki/config nicht folgend der Installationsanweisung der Mediawiki nach Konfiguration gelöscht wurde :-[)

cd /srv/www/htdocs
tar czf wiki.tgz wiki/
cd wiki
mv LocalSettings.php LocalSettings.php.old
# jetzt Konfiguration wie im Punkt
# "Wikipedia runterladen, installieren, konfigurieren" beschrieben
# durchführen
firefox http://localhost/wiki
....
mv config/LocalSettings.php
# Anpassungen aus der gesicherten LocalSettings.php in die neue übertragen.
meld LocalSettings.php LocalSettings.php.old

Update der Wikimediainstallation

Um eine bestehende Mediawiki-Installation upzudaten, reicht es, den heruntergeladenen tarball im Verzeichnis mediawiki des Webservers zu entpacken (unter openSUSE: /srv/www/htdocs/mediawiki) und dabei die alte Installation zu überschreiben.

Es besteht nicht die Gefahr, "etwas Wichtiges zu überschreiben", da sämtliche selbst bearbeitete Dateien entweder im Rahmen der Installation neu erzeugt oder nach Art der AdminSettings.php durch Kopieren aus einer Templatdatei angelegt wurden.

Zwischen den minor revisions (z.B.: 1.4.x -> 1.5.y) kann es zu Umstellungen in der Datenbank kommen. In diesem Fall kommt es zu Fehlern beim Zugriff auf die Datenbank, insbesondere beim Erstellen neuer Seiten kommen nach Art:

 ... MySQL returned error "1146: Table 'wikidb.tag_summary' doesn't exist (localhost)"

Dann muss das Script maintenance/update.php aufgerufen werden, um die wikidb-Datenbank auf die neue Version upzudaten:

su
rcapache2 stop
cd /srv/www/htdocs/mediawiki
cp AdminSettings.sample AdminSettings.php
# hier den Datenbankuser/PW angeben, der als User bei Installation
# des Mediawiki-Systems verwendet wurde,
# (meist wikiuser oder wikiadmin oder root)
vi AdminSettings.php
php maintenance/update.php
rcapache2 start