Mediawiki

Aus Doku-Wiki
Wechseln zu: Navigation, Suche

Version

- Debian Lenny
- Mediawiki 1.11.xx

Mediawiki

Homepage Mediawiki

Installation

aptitude install  php5 php5-mysql php5-cgi php5-cli phpmyadmin

Konfiguration

Apache

  • Anlegen eines WebHosts und des DocumentRoots, der Logfiles und des cgi-bin

PhpMyAdmin

  • PhpMyAdmin ist nicht notwendig, erleichtert aber den umgang mit MySQL
  • Ich binde den PhpMyAdmin in ein bestehendes Web ein. Wer das nicht möchte legt einen neuen Webhost im Apache2 ein. das einbinden erfolgt dann so:
vi /etc/apache2/site-enable/00xMyWebHost
  • Am Ende wird dann die apache.conf von PhpMyAdmin eingebunden
  include /etc/phpmyadmin/apache.conf
</VirtualHost>
  • Aufgerufen wird der PhpMyAdmin dan so
http://www.example.org/phpmyadmin

Mediawiki

  • Download der aktuellen MediaWiki-Sourcen
  • Entpacken des MediaWiki
  • Kopieren der Dateien und Verzeichnise im htdocs
cp -a /[UNPACK]/mediawiki-1.xx/* /[HTDOCS]/

php.ini anpassen

vi /etc/php5/apache2/php.ini

  upload_max_filesize = 8M
  memory_limit = 32M

Rechte anpassen

cd /[path_to_wiki]/htdocs
chmod a+w

Datenbank und benutzer anlegen

  • Bevor das Setup des Mediawiki ausgeführt werden kann, muss eine Datenbank und ein Benutzer angelegt werden. Dies geht am einfachsten mit PhpMyAdmin
  • Rechte des Benutzers

MySQL-Rechte-Mediawiki.png

MediaWiki Setup ausführen

http://www.example.org/

Backup

  • Das Backup besteht aus drei Teilen
    • 1.) Dies MySQL Datenbank
    • 2.) Das htdocs-Verzeichnis (WEBROOT)
    • 3.) Die Mediawiki-Sourcen
      • Da sich die Datenbanktabellen bei neueren Versionen ändern können, empfehle ich den Restore eines Wiki´s immer auf Basis der selben MediaWiki-Version.

Backup MySQL-DB

 mysqldump \
         --databases [DB_NAME] \
         --all \
         --complete-insert \
         --add-drop-table \
         --host=localhost \
         --user=[DB_USER] \
         --password=[DB_PASSWORD] \
         > /[path_to_backup]/[BACKU_FIELE_NAME.sql]
  • Dies kann man mit dem MySQL-Root Benutzer durchführen. Wenn man das Backup automatisiert, sollte man hierfür aber einen Backup-Benutzer anlegen, da das Passwort des Benutzers im Klartext im Script stehen muss. Die Rechte des Backupusers sollten, wie oben gezeigt, eingestellt sein.

Backup htdocs (WEBROOT)

tar czvf mediaWikiWebFiles.tgz /[path_to_web]/htdocs

MediaWiki

  • Die MediaWiki Sourcen müssen natürlich nicht im regelmäßigen Backup enthalten sein. Hier reicht es, die Sourcen einmal so zu sichern, dass man jederzeit darauf zurückgreifen kann.

Restore

  • Wenn das MediaWiki komplett neu eingerichtet werden muss (z.B durch Ausfall des Servers) empfehle ich erst eine Neuinstallation des Wikis wie oben beschrieben, dadurch wird sichergestellt, dass das Wiki richtig installiert ist. Danach kann der Restore wie weiter beschrieben durchgeführt werden.

Restore Webverzeichnis

tar xzvf /[path_to_backup]/WikiWebRoot.tgz -C /[path_to_web]/

Restore MySQL-DB

  • Wenn nicht schon geschehen, wird zuerst die Datenbank mit Hilfe von PhpMyAdmin angelegt
  • Danach kann das Backupfile der Datenbank geladen werden
mysql -uroot -p'[PASSWORD]' DB_NAME < /[path_to_backup]/DB_BACKUP_FILE.sql

Upgrade MediaWiki

Download Madiawiki sourcen

Wiki 1.15

Entpacken

  • Entpacken direkt in das aktuelle Wiki-Verzeichnis
tar xvfz mediawiki-1.15.1.tar.gz -C /[path_to_your_wiki]/ --strip-components=1

AdminSettings.php

  • In diesem Script wird der MySQL-Benutzer mit Password eingetraen, der Root-Rechte in der Datenbank besitzt. Wenn es nicht vorhanden ist, muss es angelegt werden
vi AdminSettings.php

<?php
 $wgDBadminuser      = 'wikiadmin';
 $wgDBadminpassword  = 'adminpass';

/*
 * Whether to enable the profileinfo.php script.
 */
 $wgEnableProfileInfo = false;

Update starten

cd /[WIKIWEBROOT]/maintenance/

php update.php --aconf ../AdminSettings.php

Wiki 1.18

Entpacken

  • Entpacken direkt in das aktuelle Wiki-Verzeichnis
tar xvfz mediawiki-1.18.0.tar.gz -C /[path_to_your_wiki]/ --strip-components=1

Update starten

cd /[WIKIWEBROOT]/maintenance/
php update.php

Fehlerbehebung

Fatal error: Cannot redeclare wfprofilein() (previously declared in /var/www/virtual/fietz.net/kunden/htdocs/includes/profiler/Profiler.php:14) in /var/www/virtual/fietz.net/kunden/htdocs/includes/ProfilerStub.php on line 24

LÖSUNG: 
mv StartProfiler.php StartProfiler.php.old

Testen

  • Wenn kein Fehler aufgetreten ist, sollte man das Wiki im Browser testen. Überprüfen Sie die Ansicht und die Bearbeitung von Artikel.
  • Unter dem Menüpunkt "Spezialseiten" "Version" sieht man dann auch die aktuelle Version

Wiki-Syntax Hilfe

Folgende Anleitung ist eine gekürzte Version derjenigen von http://www.science-at-home.de. --Wikizh 07:30, 17. Dez. 2009 (UTC)

Wenn ihr Änderungen anbringt bitte immer im Zusammenfassungfeld eine kurze Beschreibung, was geändert wurde.

Grundlegende Befehle

Wiki-Syntax
Eingabe Ergebnis
Eingegebener Text wird angezeigt, wie er eingegeben wird. Eingegebener Text wird angezeigt, wie er eingegeben wird.
[[Hauptseite]] Hauptseite
[[Hauptseite]]nlink Hauptseitenlink
[[Hauptseite|Home]] Home
http://www.science-at-home.de http://www.science-at-home.de
[http://www.science-at-home.de Science@home.de] Science@home.de
#REDIRECT [[Hauptseite]] oder #weiterleitung[[Hauptseite]] Hauptseite

(automatische Weiterleitung)

''kursiv'' kursiv
'''fett''' fett
'''''kursiv und fett''''' kursiv und fett
Text <sub>tiefgestellt</sub> Text tiefgestellt
Text <sup>hochgestellt</sup> Text hochgestellt
<div align="center">zentriert</div>
zentriert
<div align="right">rechtsbündig</div>
rechtsbündig
Text <big>groß</big> Text groß
Text <small>klein</small> Text klein
<u>unterstrichen</u> unterstrichen
<s>durchgestrichen</s> durchgestrichen
<span style="color:red">roter Text</span> roter Text
Text <br>neue Zeile Text
neue Zeile
<nowiki>Keine "Wiki-[[Syntax]]"</nowiki> Keine "Wiki-[[Syntax]]"
<tt>Text in Schreibmaschinenstil</tt> Text in Schreibmaschinenstil

Hier einige weitere wiki-Befehle:

Überschriften

Beim Erstellen von Überschriften werden am Rand Bearbeiten-Links angezeigt, mit denen die Seite bearbeitet werden kann. Diese können jedoch mit __NOEDITSECTION__ ausgeblendet werden. Überschriften werden folgendermaßen erstellt:

Überschrift 1

Dies wurde durch == Überschrift 1 == erstellt.

Durch Hinzufügen von Gleichheitszeichen auf beiden Seiten der Überschrift kann die Ebene der Überschrift verändert werden und können Unterüberschriften erzeugt werden.

Überschrift 2

=== Überschrift 2 ===

Überschrift 3

==== Überschrift 3 ====

Überschrift 4

===== Überschrift 4 =====

Artikelüberschrift

Auch eine Artikelüberschrift kann im Text noch einmal eingebaut werden. Dies ist mit = Artikelüberschrift = möglich.

Aufzählungen

Aufzählungen können durch ein * am Zeilenanfang erstellt werden.

  • So sieht dies dann aus.
    • Unterpunkt der Aufzählung
      • weiterer Unterpunkt
        • und so weiter

Texte können auch eingerückt werden: : eingerückter Text ergibt:

eingerückter Text

Dies kann durch mehrfache :: beliebig weit eingerückt werden.

Nummerierung

Nummerierung kann durch ein # am Zeilenanfang erstellt werden.

  1. Beispiel
  2. Die Syntax ist analog wie bei Aufzählungen

Für eine fortlaufende Nummerierung dürfen keine Leerzeilen zwischen den Punkten stehen.

Artikel einer Kategorie zuordnen

Um einen Artikel einer Kategorie zuzuordnen, einfach [[Kategorie:(Hier der Kategoriename)]]" unter den Artikel setzen.


Tabellen

Einfache Tabelle 1

Die Tabelle wird erzeugt, indem man vor jeder Zeile ein Leerzeichen eingibt.


A B C
1 2 x
3 4 y


Wiki-Syntax:

'''A B C'''
1 2 x
3 4 y

Einfache Tabelle 2 (ohne Rahmen)

A B
1 2
3 4

Wiki-Syntax:

{|
!|A
!|B
|-
|1
|2
|-
|3
|4
|}

Einfache Tabelle 3 (mit Rahmen)

A B
1 2
3 4

Wiki-Syntax:

{| border="1"
!|A
!|B
|-
|1
|2
|-
|3
|4
|}

Die Rahmenstärke kann durch border="1" erhöht werden. Zum Beilspiel zu border="3".


Bilder

Ein Bild sagt bekanntlich mehr als 1000 Worte! Falls ein Bild den Informationsgehalt eines Artikels ergänzt, gibt es mehrere Möglichkeiten, Bilder in wiki.sah einzufügen:

Ein Bild hochladen

Falls ein Bild in unserer Bildergalerie noch nicht vorliegt, kann es hier hochgeladen werden. Achte bitte darauf, dass das Bild gegen die internationalen Urheberechtsbestimmungen nicht verstößt; dass es entweder von dir oder gemeinfrei (Public Domain) ist. Es sollte immer die Quelle angegeben werden, so dass es nachvollziehbar ist, woher das Bild stammt. Achte auch darauf, dass das Bild optimiert für das Internet ist, um unseren Traffic und WebSpace nicht unnötig zu belasten und die Ladegeschwindigkeit der Seiten in Grenzen zu halten.

Einbinden von Bildern

Datei:Tuernut.jpg
Bild auf 100 px

Ein hochgeladenes Bild kann folgendermaßen eingefügt werden:

z.B.:

  1. [[Bild:sonderprofil.jpg|framed|Sonderprofile]] (Fügt das Bild Sonderprofile in einem Rahmen mit Bildunterschrift ein.)
  2. [[Bild:Auschecken.jpg|thumb|250px|Auschecken]] (Fügt das Bild Auschecken mit einer automatisch erzeugten Voransicht von 250 Bildpunkten ein.)



Inhaltsverzeichnis

  • Inhaltsverzeichnisse können ausgeblendet werden. Dies ist mit __NOTOC__ möglich. Empfehlenswert ist dies u. a., wenn ein benutzerdefiniertes Inhaltsverzeichnis angelegt wird.
  • Desweiteren können Inhaltsverzeichnisse erzwungen werden, auch wenn sich weniger als 4 Überschriften auf der Seite befinden. Dies ist mit __TOC__ möglich. Damit wird das Inhaltsverzeichnis an der Stelle angezeigt, an der sich der Befehl befindet, somit kann auch manuell die Position des Inhaltsverzeichnisses angegeben werden.

Tipps und Hilfen

WikiSysop Passwort zurücksetzen

cd /var/www/luke/dokuWiki/maintenance
/usr/bin/php changePassword.php --user=WikiSysop --password=foo

Dateiupload mit PHP SafeMode On

To work around this, you have to create the subdirectories in images/
ahead of time, as your own account:
 thumb
 archive
 temp
For the numbered hash subdirectories, you can either create them all or
you can disable the subdivision and let all files go into one place.
(This is not supported on 1.3 unless you backport the change; it is
available in 1.4beta.) To skip turn it off, 
 
 set $wgHashedUploadDirectory= false 

in your LocalSettings.php.

Hilfe Seiten zum MediaWiki

Benutzerverwaltung

// Gäste haben keine Berechtigungen - nichts lesen, nicht registrieren - garnix!
// MGR: Berechtigung gilt nicht nur für Gäste, sondern für *alle* Gruppen, die nicht
// jetzt noch explizit überschrieben werden!
$wgGroupPermissions['*']['createaccount']   = false;
$wgGroupPermissions['*']['read']            = false;
$wgGroupPermissions['*']['edit']            = false;
$wgGroupPermissions['*']['createpage']      = false;
$wgGroupPermissions['*']['createtalk']      = false;

// Standard-Benutzer können nur lesen
$wgGroupPermissions['user']['createaccount']   = false;
$wgGroupPermissions['user']['read']            = true; 
$wgGroupPermissions['user']['edit']            = false;
$wgGroupPermissions['user']['createpage']      = false;
$wgGroupPermissions['user']['createtalk']      = false;
$wgGroupPermissions['autoconfirmed']['createaccount']   = false;
$wgGroupPermissions['autoconfirmed']['read']            = true;
$wgGroupPermissions['autoconfirmed']['edit']            = false;
$wgGroupPermissions['autoconfirmed']['createpage']      = false;
$wgGroupPermissions['autoconfirmed']['createtalk']      = false;
 
// Und Admins (Wikianisch Sysops) dürfen alles :-)
$wgGroupPermissions['sysop']['createaccount']   = true;
$wgGroupPermissions['sysop']['read']            = true; 
$wgGroupPermissions['sysop']['edit']            = true;
$wgGroupPermissions['sysop']['createpage']      = true;
$wgGroupPermissions['sysop']['createtalk']      = true;   

Org-Link: http://www.traum-projekt.com/forum/89-content-management-systeme-and-shop/125836-mediawiki-benutzerverwaltung.html

Erweiterungen

WYSIWYG-Editor

Für Mediawiki 1.22x
wget https://github.com/Mediawiki-wysiwyg/WYSIWYG-CKeditor/archive/CKeditor_v4.zip

Die Installation ist einfach, das richtige ZIP-File für sein MediaWiki herunter laden. Das Verzeichnis WYSIWYG in das Verzeichnis extensions kopieren

unzip WYSIWYG.zip
cp -a WYSIWYG /var/www/MyWeb/htdocs/extensions/

Danach werden an das Ende der LocalSettings.php folgende Zeilen eingefügt:

// WYSIWYG Editor
//---------------
require_once("extensions/WYSIWYG/WYSIWYG.php");
$wgGroupPermissions['*']['wysiwyg']=true;
//$wgGroupPermissions['registered_users']['wysiwyg']=true;

Mulit Upload