Hmmsdsdvv: Unterschied zwischen den Versionen

Aus AutarkWiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „__NOTOC__ __NOEDITSECTION__ Auf dieser Seite finden sich Hinweise zur Administration eines Wiki. ==Uploads== In der Standardkonfiguration sind Datei-Uploads n…“)
(kein Unterschied)

Version vom 13. April 2021, 18:32 Uhr


Auf dieser Seite finden sich Hinweise zur Administration eines Wiki.

Uploads

In der Standardkonfiguration sind Datei-Uploads normalerweise nicht erlaubt. Will man Uploads zulassen, so muss man in der Datei LocalSettings.php in der Zeile

#wgEnableUploads = true

das #-Zeichen am Anfang entfernen.

## To enable image uploads, make sure the 'images' directory
## is writable, then uncomment this:
$wgEnableUploads		= true;
$wgUseImageResize		= true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

In der letzten Zeile ist ImageMagick, das Tool zum Konvertieren von Bildern aktiviert. Das Installationstool hat erkannt, dass ImageMagick installiert ist. Unter Linux ist das Programm normalerweise vorhanden oder leicht nachinstallierbar. Unter WindXP muss man wohl damit leben, dass es nicht zur Verfügung steht.


Benutzerrechte

Generell ist es so, dass man im Wikiverzeichnis im Ordner includes eine Datei DefaultSetting.php findest, die man nicht direkt ändern sollst, die aber alle möglichen Einstellungen zeigt. Veränderungen nimmst du dann in der Datei LocalSettings.php vor. In der DefaultSettings.php findet man ab Zeile 714 die entsprechenden Einstellungen zum Sichern des Wiki.

Praktisch ergänzt man die LocalSettings.php um die Zeilen:

$wgGroupPermissions['*'    ]['createaccount']   = true;
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = false;

Dann sollte das Ziel erreicht sein.

Man kann dem anonymen Nutzer auch das Leserecht nehmen. Dazu muss nur in der mittleren Zeile statt true ein false stehen. Ohne weitere Änderungen ist das Wiki dann aber nutzlos, weil man keine Seite mehr aufrufen kann, auch nicht die Anmeldeseite. Um dieses Problem zu lösen kann man einzelne Seiten von dieser Beschränkung ausnehmen:

$wgWhitelistRead = array( "Main Page", "Hauptseite", "Special:Userlogin", "-", "MediaWiki:Monobook.css" );

Dann kann man anonym die Startseite und die Anmeldeseite aufrufen. Wenn man dann auch noch die Zeile mit createaccount auf false setzt, dann können nur noch eingerichtete Benutzer auf das Wiki zugreifen.

Hinweis: Mit der Schreibweise der Seitennamen muss man manchmal etwas experimentieren. In einigen Wiki-Versionen musste ich statt Special:Userlogin die Schreibweise Spezial:Userlogin eintragen. Bei Seitennamen mit Leerzeichen wird in der URL statt des Leerzeichens ein Unterstrich angezeigt, hier muss aber die Version mit Leerzeichen eingetragen werden.


Navigation

Über die Spezialseite http://www.debacher.de/wiki/MediaWiki:Sidebar lässt sich die Navigationsleiste editieren und an die eigenen Bedürfnisse anpassen.


Nettere URL

Eine URL wie http://www.debacher.de/wiki/Wiki-Administration ist aus mehreren Gründen schöner, als http://www.debacher.de/uwiki/index.php?title=Wiki-Administration

  • Die kurze Version ist deutlich einprägsamer
  • Die kurze Version ist für Suchmaschinen besser zu erreichen

Um die URL in der kürzeren Version darstellen zu können muss man eine kleine Änderung in der Datei LocalSettings.php vornehmen und eine kleine Änderung in der Konfigurationsdatei des Apache.

Die Beschreibung geht davon aus, dass das Wiki im Verzeichnis

/srv/www/htdoc/uwiki

installiert ist.

In der LocalSettings.php erfolgt dann eine kleine Änderung:

$wgScriptPath       = "/uwiki";
$wgScript           = "$wgScriptPath/index.php";
$wgRedirectScript   = "$wgScriptPath/redirect.php";
 
## If using PHP as a CGI module, use the ugly URLs
#$wgArticlePath      = "$wgScript/$1";
# $wgArticlePath      = "$wgScript?title=$1";
$wgArticlePath    = "/wiki/$1";

die hier drittletzte Zeile wird durch Voranstellen des #-Zeichens deaktiviert und die letzte Zeile ergänzt. Dadurch erzeugt Mediawiki interne Links, die nicht mehr auf das wirkliche Verzeichnis /uwiki sondern das virtuelle Verzeichnis /wiki zeigen.

Nun muss noch der Apache das Gegenstück dieser Umsetzung liefern. Dazu kommt in die Apache-Konfirgurationsdatei (eventuell auch die Datei für einen virtuellen Host) folgende zusätzlichen Zeilen:

#These must come last, and in this order!
Alias /wiki /srv/www/htdocs/uwiki/index.php
Alias /index.php /srv/www/htdocs/uwiki/index.php

Falls man keinen Zugriff auf die Konfigurationsdatei hat kann man auch mit der .htaccess arbeiten.

# first, enable the processing - Unless your ISP has it enabled
# already.  That might cause weird errors.
RewriteEngine on
 
# do the rewrite
RewriteRule ^wiki/?(.*)$ /uwiki/index.php?title=$1 [L,QSA]

Man muss dabei aufpassen, dass es das virtuelle Verzeichnis nicht schon real gibt. Ich hatte mir zusätzlich noch ein kleines Problem eingebaut, indem ich den ersten Text zum Thema Wiki einfach Wiki genannt hatte, ich habe ihn inzwischen in MediaWiki umbenannt.


Flash-Dateien

Ich wollte gern die Möglichkeit haben in Wiki-Seiten Flash-Filme einzubinden, die ich mit Captivate erstellt habe. Dazu waren mehrere Änderungen notwendig, die ich unter http://meta.wikimedia.org/wiki/Flash gefunden habe.

Zuerst habe ich die php-Datei geladen und unter extension/flash.php abgelegt. Ich musste aber ein paar Erweiterungen vornehmen, da ich sonst Warnungen über nicht initialisierte Variable bekam. Hier der Auszug ab Zeile 37:

function parseInput( $input ) {
   $this->tmp='';
   $this->codeEmbed='';
   $this->codeObject='';
   for($pos=0; $pos<strlen($input); $pos++) { // go through all arguments

Ich habe einfach die drei mittleren Zeilen mit den Initialisierungen ergänzt.

Dann habe ich die LocalSettings.php an Ende um folgende Zeilen ergänzt:

$wgTrustedMediaFormats= array(
  MEDIATYPE_BITMAP, //all bitmap formats
  MEDIATYPE_AUDIO,  //all audio formats
  MEDIATYPE_VIDEO,  //all plain video formats
  "image/svg",  //svg (only needed if inline rendering of svg is not supported)
  "application/pdf",  //PDF files
  "application/x-shockwafe-flash", //flash/shockwave movie
);
include('extensions/flash.php');
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'swf' );
$wgVerifyMimeType= false;

Ein Teil der Zeilen dient dazu den Flash Upload zu erlauben und ein weiterer Teil dazu die Erweiterung einzubinden.

Und wenn man dann in einer Seite eine Zeile wie:

<flash>file=Html-teil1.swf|width=600|height=450|bgcolor=#FDE742|scale=exactfit|quality=high|menu=false|loop=0</flash>

eingibt, dann läuft das Video ab.


LinkedImages

Mich hat schon immer genervt, dass man im Wiki bei Bildern immer automatisch einen Link auf die Vollversion des Bildes bekommt. Ich habe dort nicht immer sinnvolle Informationen zusätzlich abgelegt.

Nachdem nun der Einsatz der Flash-Extension geklappt hat tauchte der Wunsch auf für Flash-Videos ein Icon nutzen zu können, welches auf das Video verlinkt ist und nicht auf auf eine Beschreibung des Icons.

Eine passende Extension habe ich unter http://meta.wikimedia.org/wiki/LinkedImage gefunden. Leider lief diese Extension bei mir nicht, da mein Webserver noch mit PHP4 und nicht mit PHP5 läuft. Die alte PHP-Version kennt aber private und public noch nicht, weshalb das Listing nur Fehler produzierte.

Zum Glück hat es gelangt jedes Vorkommen von den beiden Schlüsselwörtern zu entfernen. Bei mir läuft jetzt auch diese Extension.


EmbedVideo

Gelegentlich taucht der Wunsch auf, auch Videos in die Seite einzubinden, die z.B. bei YouTube liegen. Ich habe dafür die Extension EmbedVideo benutzt, die unter http://www.mediawiki.org/wiki/Extension:EmbedVideo zu finden ist.

Zur Installation wird wie immer die Datei EmbedVideo.php im Verzeichnis extensions abgelegt und dann mittels

require_once('extensions/EmbedVideo.php');

in der Datei LocalSettings.php aktiviert.

Soll nun konkret ein YouTube-Video eingebunden werden, so muss man nur dessen Kennung wissen. In den Quelltext der Seite schreibt man dann

{{#ev:youtube|QH6z9_3XIeY}}

Wobei QH6z9_3XIeY die Kennung des betreffenden Videos ist.

Man kann beim Aufruf auch eine Breitenangabe mitgeben:

 {{#ev:youtube|QH6z9_3XIeY|400}}