IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Mediawiki

De SergiTurWiki
Share/Save/Bookmark
Dreceres ràpides: navegació, cerca
Aplicacions web LOE/Sessió mediawiki
Alert.png Aquesta wiki forma part dels materials d'un curs
Curs: Aplicacions web LOE
Fitxers: https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux/moodle/sessio7/Apache/videotutorials_instal_lacio_Moodle_i_Mediawiki/
Repositori SVN: https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/DissenyXarxaLocalLinux/moodle/sessio7/Apache/videotutorials_instal_lacio_Moodle_i_Mediawiki/
Usuari: anonymous
Paraula de pas: sense paraula de pas
Autors: Sergi Tur Badenas

Contingut

Instal·lació

Consulteu Instal·lació mediawiki

Instal·lació manual

Consulteu:

Instal·lació_mediawiki#Instal.C2.B7laci.C3.B3_manual

Des dels repositoris d'Ubuntu

Consulteu

Instal·lació_mediawiki#Instal.C2.B7laci.C3.B3_des_dels_repositoris

Actualitzacions

Consulteu Actualització/Upgrade_mediawiki_amb_Debian/Ubuntu

Instal·lació amb bitnami

En primer lloc anem a descarregar el mòdul de Mediawiki complert per Linux. El tenim a Mediawiki amb bitnami.

Això instal·larà també LAMP.

En el meu cas, al tenir més aplicacions de bitnami.org instal·lades instal·lo un únic mòdul:

$ chmod +x bitnami-mediawiki-1.16.2-0-module-linux-installer.bin 
$ sudo ./bitnami-mediawiki-1.16.2-0-module-linux-installer.bin

I ja tenim MediaWiki instal·lada si accedim a http://localhost:

MediaWiki amb bitnami.org

Configuració

Fitxer de configuració LocalSettings.php

Paràmetres de configuració

TODO

Permetre només modificacions als usuaris registrats

Al fitxer LocalSettings.php cal posar:

$wgGroupPermissions['*']['edit'] = false;

Permisos

TODO

RevisionDelete

Des de la versió 1.14 de mediawiki existeix la pàgina:

Especial:Esborra_versió

A la qual només hi pot accedir qui tingui permisos.

Exemples de permisos:

Només els usuaris sysop poden esborrar revisions:

$wgGroupPermissions['sysop']['deleterevision']  = true;

Recursos:

Exemples de configuració

Activar File uploads (carrega de fitxers)

Normalment al fitxer LocalSettings.php cal posar:

$wgEnableUploads = true; # Enable uploads
IMPORTANT: El nom de la carpeta on es guarden les imatges a mediawiki ha anat canviant. Hi ha dos opcions habituals:
/var/lib/mediawiki/images
/var/lib/mediawiki/uploads

En tot cas sigui quina sigui la vostra opció cal fer-ho quadrar amb els paràmetres de configuració:

$wgUploadPath       = "$wgScriptPath/images";
$wgUploadDirectory  = "$IP/images";

I també cal que la carpeta (a l'exemple /var/lib/mediawiki/images) tingui permisos d'escriptura per a l'usuari que executa el servidor web. Si es tracta d'un Apache i un sistema de la família Debian/Ubuntu:

$ sudo chown www-data:www-data /var/lib/mediawiki/images
$ sudo chmod 700 /var/lib/mediawiki/images

A més cal tenir configurades totes les aplicacions que estan per sobre de Mediawiki (PHP, Apache...) per tal de que permetin la càrrega de fitxers.

NOTA: Cal tenir en compte a més que potser s'apliquen límits a les mides màximes de fitxers a pujar.

Recursos:

Fer una wiki completament privada

A LocalSettings.php cal afegir:

$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgWhitelistRead = array ("Special:Userlogin");
$wgGroupPermissions['*']['createaccount'] = false;

Aquesta informació la he obtingut gràcies a Ivan Picazo.

Similars:


Manual

Consulteu també Aplicacions_web_LOE/Sessió_mediawiki#Manual.

Com redireccionar pàgines

#REDIRECT name of the target page

Consulteu:

http://meta.wikimedia.org/wiki/Help:Redirect

Dreceres de teclat. Shortcuts

Amb Firefox (ja sigui Linux o Windows), les dreçeres de teclat de mediawiki es fan amb Shit+Alt Key+ Dreçera.

Possiblement la més interessant és la que ens permet salvar la pàgina:

Shift+Alt Key+s

Pode consultar totes les dreceres a:

http://meta.wikimedia.org/wiki/Help:Keyboard_shortcuts

Com esborrar definitivament una pàgina/article?

Segons el manual de mediawiki per esborrar una versió d'un document de forma definitiva cal:

  • Els administradors poden eliminar pàgines de forma definitiva. Una pàgina eliminada per l'administrador de la wiki deixa de ser visible per a la resta d'usuaris. Els administradors però, si poden veure aquestes pàgines i fins i tot restaurar-les.
  • Hi ha una extensió de mediawiki anomenada Oversight que permet amagar les versions de un document que no interessen.
  • Des de la versió 1.14 de mediawiki es pot activar el paràmetre RevisionDelete que permet als usuaris amb privilegis amagar certes versions d'un document de l'historial d'una pàgina. Podeu veure aquí una captura de pantalla del que fa. De fet aquest paràmetre substitueix a la extensió esmentada en l'apartat anterior.
  • Hi ha un script de manteniment maintenance/deleteOldRevisions.php que permet fer eliminacions massives de pàgines i de versions antigues de pàgines. Cal anar en compte al utilitzar-lo.

La pàgina especial:

Especial:Esborra_versió

Permet als usuaris amb permisos esborrar versions.

Existeix una pàgina especial de mediawiki:

Especial:Restaura

que permet a un administrador restaurar una pàgina esborrada. La pàgina especial:

Especial:Registre/delete

Des del mateix registre es pot restaurar o consultar una pàgina esborrada.

Conté un registre o log de les pàgines esborrades. També existeix una pàgina especial:

Especial:Contribucions_esborrades

que permet consultar les contribucions esborrades per un usuari concret. La següent captura de pantalla és un exemple que mostra les pàgines esborrades per l'usuari Sergi:

PaginesEsborradesMediawiki.png

Recursos:

Com activar les formules

Si teniu instal·lat mediawiki des dels repositoris feu:

$ sudo apt-get install mediawiki-math

{{important| Si teniu la wiki instal·lada a mà no executeu l'última ordre sobretot si l'heu instal·lat a mà als mateixos directoris que ho faria la instal·lació des de repositoris.0} Us pot sobrescriure fitxers/configuracions...}

Es necessari el fitxer /usr/bin/texvc:

$ dpkg -L mediawiki-math
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mediawiki-math
/usr/share/doc/mediawiki-math/README
/usr/share/doc/mediawiki-math/copyright
/usr/share/doc/mediawiki-math/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/texvc.1.gz
/usr/bin
/usr/bin/texvc

Sempre el podeu obtenir a mà i instal·lar-lo a mà sense instal·lar el paquet o el podeu compilar:

$ cd /var/lib/mediawiki/math
$ make


Cal afegir a LocalSettings.php:

#Enable math support
$wgUseTeX= true;
$wgTexvc="/usr/bin/texvc";
NOTA: Indicar el path de wgTexvc és per què sinó el busca a la carpeta math!

Pàgines especials

Pàgines noves i canvies recents

http://acacha.dyndns.org/mediawiki/index.php/Especial:P%C3%A0gines_noves

Té un rss:

http://acacha.dyndns.org/mediawiki/index.php?title=Especial:P%C3%A0gines_noves&feed=rss

Es pot modificar el text de Canvis Recents a:

MediaWiki:Recentchangestext

Espai de noms mediawiki

Mediawiki:Sitenotice. Posar una notícia que aparegui a totes les pàgines

Cal editar la pàgina especial:

MediaWiki:Sitenotice

Per exemple la URL:

http://www.mediawiki.org/wiki/MediaWiki:Sitenotice

Editar els menús de l'esquerra. MediaWiki:Sidebar

Cal modificar la pàgina especial

MediaWiki:Sidebar

Vegeu també:

Extensions

Les extensions són el mecanisme que permet augmentar la funcionalitat d'una mediawiki. Consulteu:

http://www.mediawiki.org/wiki/Category:Extensions

Instal·lar una extensió

Les extensions s'afegeixen a la carpeta extensions. Per exemple, si la mediawiki està instal·lada a /usr/share/mediawiki:

/usr/share/mediawiki/extensions

Per exemple per instal·lar la extensió:

http://www.mediawiki.org/wiki/Extension:Add_to_Any_Share/Save/Bookmark_Button

Executem:

$ cd /usr/share/mediawiki/extensions
$ sudo wget http://www.addtoany.com/ext/mediawiki/add-to-any-share-save.zip
$ sudo unzip add-to-any-share-save

Al fitxer LocalSetings.php cal afegir la següent línia:

$ sudo joe /usr/share/mediawiki/LocalSettings.php
require_once("$IP/extensions/add-to-any-share-save/add-to-any-share-save.php");

Ja tenim instal·lada la extensió (la podeu veure a la part superior d'aquesta pàgina).

Editor HTML WYSIWYG. fckeditor

Instal·lació:

Té dos parts:

Instal·lar la extensió de mediawiki:

$ cd /var/lib/mediawiki/extensions
$ sudo svn checkout http://svn.fckeditor.net/MediaWiki/trunk FCKeditor

Instal·lar el editor en si mateix:

$ cd /var/lib/mediawiki/extensions/FCKeditor
$ sudo rm -rf fckeditor
$ sudo svn checkout http://svn.fckeditor.net/FCKeditor/trunk fckeditor

Ara cal configurar mediawiki per tal que utilitzi la extensió:

$ cd /var/lib/mediawiki/
$ sudo joe LocalSettings.php

Afegiu la línia:

 require_once("$IP/extensions/FCKeditor/FCKeditor.php");

Recursos:

Simple Security

Protegeix algunes pàgines de lectura:

Flickr

http://www.mediawiki.org/wiki/Extension:Flickr

<flickr>362100651|thumb|t|left|Buckingham Palace</flickr>

<flickr>362100651|thumb|t|left|Buckingham Palace</flickr>

ImportFreeImages

Permet importat imatges lliures des de flickr:

$ cd /usr/share/mediawiki/extensions
$ sudo apt-get install subversion
$ svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ImportFreeImages/

Obtenir phpFlickr

$ wget http://downloads.sourceforge.net/project/phpflickr/phpFlickr/2.2.0/phpFlickr-2.2.0.zip?use_mirror=puzzle
$ unzip phpFlickr-2.2.0.zip 

Cal obtenir una clau de flickr i posar-la al fitxerImportFreeImages.php.

$wgIFphpFlickr = '/usr/share/mediawiki/extensions/phpFlickr-2.2.0/phpFlickr.php'; // Path to your phpFlickr file

Afegiu a LocalSettings.php:

require_once('extensions/ImportFreeImages/ImportFreeImages.php');

Per utilitzar-lo podeu anar a:

http://acacha.org/mediawiki/index.php/Especial:ImportFreeImages

Recursos:

PDF Export

$ sudo apt-get install htmldoc

Seguiu les instruccions de:

http://www.mediawiki.org/wiki/Extension:Pdf_Export/Source_Code

I afegiu la línia:

require_once("extensions/PdfExport/PdfExport.php");

a LocalSettings.

Recursos:

Semantic mediawiki

$ cd /usr/share/mediawiki/extensions/
$ sudo wget http://sourceforge.net/projects/semediawiki/files/semediawiki/semediawiki-1.4.3/semediawiki-1.4.3.tar.gz/download

La última versió es pot obtenir a:

http://sourceforge.net/projects/semediawiki/files/

Descomprimim:

$ tar xvzf semediawiki-1.4.3.tar.gz 

Activem el plugin:

$ sudo joe /var/lib/mediawiki/LocalSettings.php

Afegim les línies:

include_once("$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php");
enableSemantics('elvostredomini.org');

On elvostredomini.org s'ha d'adequar al vostre cas. Només serveis per identificar el domini, no cal preocupar-se si teniu més d'un nom, escolliu un.

Aneu a:

http://acacha.org/mediawiki/index.php/Especial:SMWAdmin

I feu clic als tres botons.

OpenID

Per tal de funcionar requereix de certes llibreries i cal tenir instal·lat pear:

$ sudo apt-get install php5-pear

també cal instal·lar una llibreria anomenada php-openid. A Debian/unbut hi ha un paquet:

$ sudo apt-get install php-openid

El que fa es afegir la llibreria a l'include de PHP:

/usr/share/php5 

O a OpenSuse cal instal·lar a mà

$ sudo zypper install php5-pear
$ sudo zypper install php5-mcrypt
$ sudo zypper install mcrypt
$ cd
$ sudo wget http://openidenabled.com/files/php-openid/packages/php-openid-2.1.3.zip
$ sudo cp -r php-openid-2.1.3/Auth /usr/share/php5


$ cd /usr/share/mediawiki/extensions
$ sudo wget http://upload.wikimedia.org/ext-dist/OpenID-trunk-r55060.tar.gz
$ tar xvzf OpenID-trunk-r55060.tar.gz

Ara cal executar l'actualització de mediawiki amb:

$ sudo php5 /usr/share/mediawiki/maintenance/update.php --conf /var/lib/mediawiki/LocalSettings.php

Abans cal indicar el superusuari d'accés a la base de dades. Consulteu Actualització/Upgrade_mediawiki_amb_Debian/Ubuntu

Si us surt l'error:

des de la funció «SpecialOpenID::getUser». L'error de retorn de MySQL ha estat «1146: Table 'wikidb.mediawiki_user_openid' doesn't exist (localhost)».
Obtingut de «http://acacha.org/mediawiki/index.php/Especial:OpenIDLogin»

Cal crear la taula amb :

$ mysql -h yourdbhost -u youradminuser -p yourwikidb < openid_table.sql

On el fitxer openid_table.sql el trobareu a la carpeta OpenID que acabeu de crear, en el meu cas:

/usr/share/mediawiki/extensions/OpenID/openid_table.sql

Ara afegiu a LocalSettings.php:

$ sudo joe /var/lib/mediawiki/LocalSettings.php

la línia:

require_once("$IP/extensions/OpenID/OpenID.php");
 

Si us apareix l'error:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 45 bytes) in /usr/share/mediawiki/languages/messages/MessagesEs.php on line 1252

Editeu el fitxer:

$ sudo joe /etc/php5/apache2/php.ini

Busqueu el memory limi i l'augmenteu:

memory_limit = 42M      ; Maximum amount of memory a script may consume (16MB)

I torneu a iniciar apache

La última versió del plugin s'obté de:

http://www.mediawiki.org/wiki/Extension:OpenID

Vegeu també:

OpenID
Resolució de problemes
Warning: require_once(Auth/OpenID/Consumer.php): failed to open stream: No such file or directory in /usr/share
/mediawiki/extensions/OpenID/SpecialOpenID.body.php on line 28 Fatal error: require_once(): Failed opening 
required 'Auth/OpenID/Consumer.php' (include_path='/var/lib/mediawiki:/var/lib/mediawiki/includes:/var/lib
/mediawiki/languages:.:/usr/share/php5:/usr/share/php5/PEAR') in /usr/share/mediawiki/extensions/OpenID
/SpecialOpenID.body.php on line 28 

Recursos:

Sintax Highlight

$ wget http://www.lastengine.com/wp-content/uploads/2009/04/syntax-highlighter-code-colorizer.zip
$ unzip syntax-highlighter-code-colorizer.zip 
$ cd ..
$ sudo joe LocalSettings.php

Afegiu:

#Sintax Highlight
require_once("extensions/syntax-highlighter-code-colorizer/syntax-highlighter-mediawiki.php");

Podeu afegir un boto amb:

  var buttonSintaxHighlight = {
        "imageFile": "upload/f/f4/Button_SintaxHighlight.png",  //image to be shown on the button (may be a full URL too), 22x22 pixels
        "speedTip": "Sintax Highlight",    //text shown in a tooltip when hovering the mouse over the button
        "tagOpen": "<pre class=\"brush:php\">",
        "tagClose": "</pre>",
        "sampleText": "Codi font"
  };
  mwCustomEditButtons.push(buttonSintaxHighlight);

a la web

MediaWiki:Common.js

Consulteu:

Mediawiki#Afegir_botons.28icones.29_a_la_p.C3.A0gina_d.27edici.C3.B3

Exemple php:

Poseu:

<pre class="brush:php">

 echo "Hola mon!";

</pre>

El resultat serà:


 echo "Hola mon!";

Exemple XML:


<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     03/01/2010 17:26:32                                                        

     project    
     description
                   
     sergi                                                                
     ====================================================================== -->
<project name="project" default="default">
    <description>
            description
    </description>

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="default" depends="depends" description="description">
        
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: depends                      
         - - - - - - - - - - - - - - - - - -->
    <target name="depends">
    </target>

</project>



Instal·lar una extensió que utilitza Pear

Geshi

Geshi és una extensió de mediawiki que permet acolorir codi font.

Per instal·lar geshi cal instal·lar primer Pear:

$ sudo apt-get install php-pear

Després afegir en canal necessari per instal·lar geshi:

$ sudo pear channel-discover mediawiki.googlecode.com/svn

Actualitzem Pear:

$ sudo pear upgrade pear

I ara instal·lem geshi:

$ sudo pear install mediawiki/geshi

També cal instal·lar la dependència stubmanager

$ sudo pear install mediawiki/stubmanager

I editar el fitxer /etc/mediawiki/LocalSettings.php:

$ sudo joe /etc/mediawiki/LocalSettings.php

I afegir les línies:

#Source Code Highlight Plugin (Geshi). Afegit per Sergi Tur el 29/03/2009
require_once 'MediaWiki/StubManager/StubManager.php';
require 'MediaWiki/geshi/geshi.php';

Per utilitzar geshi:

<php source=SOURCE>
 
 <?php
 require_once( './includes/WebStart.php' );
 global $wgArticlePath;
 
 require_once( 'includes/WebRequest.php' );
 $wgRequest = new WebRequest();
 
 $page = $wgRequest->getVal( 'wpDropdown' );
 
 $url = str_replace( "$1", urlencode( $page ), $wgArticlePath );
 
 header( "Location: {$url}" );
 <?php>
</php>

El resultat el podeu veure a Prova.

Un altre forma d'especificar un exemple de codi font:

<source lang="html4strict" line start="100" highlight="5">
HTML module goes here...
</source>

Recursos:

Instal·lar una extensió per a RSS

Per instal·lar la extensió RSS, es necessita la llibreria magpierss.

Aneu a la carpeta d'extensions de la mediawiki:

$ cd /usr/share/mediawiki/extensions

I descarregueu la llibreria:

$ sudo wget http://downloads.sourceforge.net/magpierss/magpierss-0.72.tar.gz?use_mirror=fastbull

I la descomprimiu:

$ tar xvzf magpierss-0.72.tar.gz
$ sudo mv magpierss-0.72 magpierss

Ara copieu el codi de:

http://www.mediawiki.org/wiki/Extension:RSS#Source

A un fitxer anomenat /var/lib/mediawiki/extensions/RSS/rss.php:

$ cd /usr/share/mediawiki/extension
$ sudo mkdir RSS
$ sudo joe rss.php

Al fitxer LocalSettings cal afegir la línia:

$ sudo joe /etc/mediawiki/LocalSettings.php
...
require_once("/var/lib/mediawiki/extensions/RSS/rss.php");

Podeu veure un exemple de la llibreria a:

http://acacha.dyndns.org/mediawiki/index.php/ProvaRSS

Ara per millorar el rendiment només us cal afegir una carpeta per al cache, aneu a l'arrel de la vostra wiki, per exemple:

$ cd /var/lib/acacha_mediawiki
$ sudo mkdir ./cache
$ cd ./cache/
$ sudo chown www-data:www-data -R .
$ sudo chmod g+w .

ParserFunctions extension

http://www.mediawiki.org/wiki/Extension:ParserFunctions

Podeu baixar la última versió a:

http://www.mediawiki.org/wiki/Special:ExtensionDistributor/ParserFunctions

Els passos són:

Anar a la carpeta extensions:

$ cd /var/lib/mediawiki
$ wget http://upload.wikimedia.org/ext-dist/ParserFunctions-trunk-r66651.tar.gz
$ tar -xzf ParserFunctions-trunk-r66651.tar.gz 

Afegiu a LocalSettings.php:

require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );


Recursos:

Recaptcha

$ cd /usr/share/mediawiki/extensions
$ sudo wget http://recaptcha.googlecode.com/files/recaptcha-mediawiki-1.7.zip
$ sudo unzip recaptcha-mediawiki-1.7.zip 
$ sudo mv recaptcha-mediawiki-1.7.zip  recaptcha
$ sudo joe /var/lib/mediawiki/LocalSettings.php

I afegiu les línies:

require_once( "$IP/extensions/recaptcha/ReCaptcha.php" );
// Sign up for these at http://recaptcha.net/api/getkey
$recaptcha_public_key = ;
$recaptcha_private_key = ;

Amb les claus que corresponen de la vostra compte de recaptcha.

Al fitxer ConfirmEdit.php de la extensió es pot controlar quan s'utilitzarà el captcha. Jo he trobat innecessari la opció que obliga a posar un captcha cada cop que hi ha una edició amb enllaços externs (està per evitar SPAM):

$ sudo joe ConfirmEdit.php

Canvieu a false la línia:

$wgCaptchaTriggers['addurl']        = false;  // Check on edits that add URLs

Recursos:

Add To any

$ cd path/to/extensions_folder
$ wget http://www.addtoany.com/ext/mediawiki/add-to-any-share-save.zip
$ unzip add-to-any-share-save.zip

Ara a LocalSettings.php afegiu:

#Afegit per X el Y
require_once("$IP/extensions/add-to-any-share-save/add-to-any-share-save.php");

Recursos:

Google Calendar

Widgets

Una prova:

Personalització d'una wiki

Personalitzar l'estil d'una wiki

Personalització de javascript i de CSS, per system & per user

Podeu modificar les wikis:

User:Your username/skinname.js
User:Your username/skinname.css

Per modificar el javascript o el CSS d'un usuari concret. O

MediaWiki:Common.js
MediaWiki:Common.css 

Per modificar-ho per a tota la wiki.

Afegir botons(icones) a la pàgina d'edició

A partir de certes versions de mediawiki (no sé exactament quina però segur que a la versió 1.19.0) ja s'aplica s'ha canviat la forma de modificar aquests botons. Vegeu:

http://www.mediawiki.org/wiki/Extension:WikiEditor

Documentació obsoleta (versions anteriors)

Cal editar la pàgina:

MediaWiki:Common.js

NOTA: cal canviar les URL per les del vostre servidor!!!

I afegir:

var button = {
       "imageFile": "images/5/56/Button redirect.png",  //image to be shown on the button (may be a full URL too), 22x22 pixels
       "speedTip": "Redirecció",    //text shown in a tooltip when hovering the mouse over the button
       "tagOpen": "#REDIRECT [[",
       "tagClose": "]]",
       "sampleText": "Pàgina on redireccionar"
};
mwCustomEditButtons.push(button);

Prèviament s'ha carregat la imatge:

Button redirect.png

Després s'ha localitzat on està exactament aquesta imatge amb.

$ sudo updatedb
$ locate 

Consulteu:

Mediawiki#Sintax_Highlight

Recursos:

Mediawiki_edit_toolbar

Consulteu la pàgina:

MediaWiki:Common.js

Cal afegir a la pàgina wiki MediaWiki:Common.js de la vostra wiki quelcom similar a:

IMPORTANT: Cal canviar les URL per les del vostre servidor!!! Ta mbé tingueu en compte que potser la vostra carpeta imatges és diu images en comptes de upload. També cal que mireu si esteu utilitzant la carpeta upload o la images. També vigileu que al copiar i pegar es copii correctament el codi del boto taula, ja que al ser la línia molt llarga us pot copiar malament el codi
 /**
 Afegit per Sergi Tur el 02/04/2009
 Extret de: http://en.wikipedia.org/w/index.php/MediaWiki:Common.js/edit.js
 
 */

 /* Es carregarà per a tots els usuaris, i per a qualsevol pàgina, el codi JavaScript que hi haja després d'aquesta línia. */
 var button = {
         "imageFile": "upload/c/c8/Button_redirect.png",  //image to be shown on the button (may be a full URL too), 22x22 pixels
         "speedTip": "Redirecció",    //text shown in a tooltip when hovering the mouse over the button
         "tagOpen": "#REDIRECT [[",
         "tagClose": "]]",
         "sampleText": "Pàgina on redireccionar"
 };
 mwCustomEditButtons.push(button);
 
  
  /** Extra toolbar options ******************************************************
  *  
  *  Description: Adds extra buttons to the editing toolbar.
  *  
  *  To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]].
  *  
  *  Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]
  */
 
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/c/c9/Button_strike.png",
         "speedTip": "Strike",
         "tagOpen": "<s>",
         "tagClose": "</s>",
         "sampleText": "Strike-through text"
     });
  
     mwCustomEditButtons.push({
          "imageFile": "http://acacha.dyndns.org/mediawiki/upload/1/13/Button_enter.png",
         "speedTip": "Line break",
         "tagOpen": "<br />",
         "tagClose": "",
         "sampleText": ""
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/8/80/Button_upper_letter.png",
         "speedTip": "Superscript",
         "tagOpen": "<sup>",
         "tagClose": "</sup>",
         "sampleText": "Superscript text"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/7/70/Button_lower_letter.png",
         "speedTip": "Subscript",
         "tagOpen": "<sub>",
         "tagClose": "</sub>",
         "sampleText": "Subscript text"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/5/58/Button_small.png",
         "speedTip": "Small",
         "tagOpen": "<small>",
         "tagClose": "</small>",
         "sampleText": "Small Text"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/3/34/Button_hide_comment.png",
         "speedTip": "Insert hidden Comment",
         "tagOpen": "<!-- ",
         "tagClose": " -->",
         "sampleText": "Comment"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/1/12/Button_gallery.png",
         "speedTip": "Insert a picture gallery",
         "tagOpen": "\n<gallery>\n",
          "tagClose": "\n</gallery>",
         "sampleText": "Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/f/fd/Button_blockquote.png",
         "speedTip": "Insert block of quoted text",
         "tagOpen": "<blockquote>\n",
         "tagClose": "\n</blockquote>",
         "sampleText": "Block quote"
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/6/60/Button_insert_table.png",
         "speedTip": "Insert a table",
         "tagOpen": '{| class="wikitable" border="1"\n|',
         "tagClose": "\n|}",
         "sampleText": "-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2,  
 cell 2\n| row 2, cell 3" 
     });
  
     mwCustomEditButtons.push({
         "imageFile": "http://acacha.dyndns.org/mediawiki/upload/7/79/Button_reflink.png",
         "speedTip": "Insert a reference",
         "tagOpen": "<ref>",
         "tagClose": "</ref>",
         "sampleText": "Insert footnote text here"
     });
 

Per veure com hem afegit a aquesta wiki els botons típics extres que pots trobar a la wikipedia a la Edit Toolbar (la barra que surt a la edició...).

Script per baixar-se tots els fitxers de cop

Creeu una carpeta a la vostra HOME:

$ cd
$ mkdir wikipedia_icons

Creeu un fitxer amb les URL:

$ sudo joe urls

Afegiu:

http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png
http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png
http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png
http://upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png
http://upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png
http://upload.wikimedia.org/wikipedia/en/5/58/Button_small.png
http://upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png
http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png
http://upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png
http://upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png
http://upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png

Descarregueu les imatges amb wget

$ wget -N -i urls

Feu un import images:

$ cd /usr/share/mediawiki/maintenance
$ sudo php5 importImages.php --conf /var/lib/mediawiki/LocalSettings.php --user=Usuari ~/wikipedia_icons

Consulteu:

Altres

Múltiples_instal·laciones_en_una_mateixa_màquina

Consulteu Múltiples_instal·laciones_en_una_mateixa_màquina

Automatitzar la replicació d'una wiki. Còpia remota

NOTA: Cal tenir en compte el tema dels charsets. Les noves versions de wiki creen les bases de dades amb charset binary, per restaurar una base de dades que originalment era latin1(ISO-8859-1) cal utilitzar les ordres mysqldump i mysql indicant --default-charset

Consulteu Automatitzar la replicació d'una wiki. Còpia remota

Consulteu Mediawiki. Còpia de seguretat

Enllaços entre wikis

Consulteu Enllaços entre wikis per saber més sobre els interwiki links.

API

Totes les wikis disposen d'una API. Si pot accedir utilitzant l'script api.php que normalment es troba a /usr/share/mediawiki/api.php. Un exemple d'accés per URL:

http://acacha.org/mediawiki/api.php

La pàgina us mostrarà l'ajuda.

Moltes de les peticions HTTP (HTTP REQUESTS) que es poden fer amb l'API només poden ser POST. Podeu enviar peticions POST amb wget:

$ wget --post-data='POSEU_AQUI_ELS_PARAMETRES' -O - 'http://localhost/~wiki/mediawiki/api.php'

Per exemple per fer un login:

$ wget --post-data='action=login&lgname=user&lgpassword=password' -O - 'http://localhost/~wiki/mediawiki/api.php'

Per exemple:

$ wget --post-data='action=login&lgname=user&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php'
--2010-11-11 17:19:34--  http://www.iesebre.com/manteniment/api.php
Resolent www.iesebre.com... 192.168.0.9
S'està connectant a www.iesebre.com|192.168.0.9|:80... conectat.
HTTP: Petició enviada, esperant resposta... 200 OK
Longitud: 750 [text/html]
S'està desant a: «STDOUT»

El format de sortida és un HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>MediaWiki API Result</title>
</head>
<body>

You are looking at the HTML representation of the XML format.
HTML is good for debugging, but probably is not suitable for your application.
See <a href='http://www.mediawiki.org/wiki/API'>complete documentation</a>, or <a href='/manteniment/api.php'>API help</a> for more information.
 <span style="color:blue;"><?xml version="1.0"?></span>
 <span style="color:blue;"><api></span>
   <span style="color:blue;"><login result="NotExists" /></span>
 <span style="color:blue;"></api></span>
 
</body>
</html>


100%[=======================================================================================================================================>] 750         --.-K/s   en  
0s      

2010-11-11 17:19:34 (56,0 MB/s) - s'ha desat «-» [750/750]

Us pot ser més útil un format de text (o també suport XML o PHP [1]):

$ wget --no-verbose --post-data='action=login&format=txt&lgname=sergi&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php'
Array
(
    [login] => Array
        (
            [result] => Success
            [lguserid] => 2
            [lgusername] => Sergi
            [lgtoken] => 2119597d524e5ecb1d09244d1eb749f6
            [cookieprefix] => wikidb_manteniment_mediawiki_
            [sessionid] => 9a29e2756e9cb23c79345efcfd97f4ed
        )
)
2010-11-11 17:26:21 URL:http://www.iesebre.com/manteniment/api.php [324/324] -> "-" [1]


Exemple per crear una pàgina wiki

Primer cal fer el login:

$ wget -q --keep-session-cookies --save-cookies="cookies.txt" --load-cookies="cookies.txt" \
--post-data='action=login&format=txt&lgname=sergi&lgpassword=password' -O - 'http://www.iesebre.com/manteniment/api.php'
Array
(
    [login] => Array
        (
            [result] => Success
            [lguserid] => 2
            [lgusername] => Sergi
            [lgtoken] => 2119597d524e5ecb1d09244d1eb749f6
            [cookieprefix] => wikidb_manteniment_mediawiki_
            [sessionid] => b502e243916703adea6a2793199f974c
        )

)

Ara cal obtenir el edittoken (serà el mateix per a totes les pàgines en una mateixa sessió):

$ wget -q --keep-session-cookies --load-cookies=cookies.txt --save-cookies=cookies.txt \ 
--post-data='action=query&prop=info|revisions&intoken=edit&titles=Prova&format=txt' -O \ 
- 'http://www.iesebre.com/manteniment/api.php'
Array
(
    [query] => Array
        (
            [pages] => Array
                (
                    [21] => Array
                        (
                            [pageid] => 21
                            [ns] => 0
                            [title] => Prova
                            [touched] => 2010-11-11T17:54:09Z
                            [lastrevid] => 7743
                            [counter] => 36
                            [length] => 5
                            [starttimestamp] => 2010-11-11T17:54:18Z
                            [edittoken] => 34ef558a61f87b36fad24088bca9e7e9+\
                            [revisions] => Array
                                (
                                    [0] => Array
                                        (
                                            [revid] => 7743
                                            [user] => Sergi
                                            [timestamp] => 2010-11-11T17:50:58Z
                                            [comment] => autoconverted
                                        )

                                )

                        )

                )

       )

)


Ara anem a canviar la pàgina Prova i posarem el text 'test1

$ wget -q --keep-session-cookies --load-cookies=cookies.txt --save-cookies=cookies.txt \ 
--post-data='action=edit&title=Prova&summary=autoconverted&format=txt&text=test1&recreate=1&notminor=1&bot=1&token=34ef558a61f87b36fad24088bca9e7e9%2B%5C' -O \ 
- 'http://www.iesebre.com/manteniment/api.php'
Array
(
   [edit] => Array
       (
           [result] => Success
           [pageid] => 21
           [title] => Prova
           [oldrevid] => 3034
           [newrevid] => 7743
       )

)
IMPORTANT: El token és l'edittoken. El valor era 34ef558a61f87b36fad24088bca9e7e9+\ però els 2 últims caràcters s'han de codificar (url encode) i per això posem 34ef558a61f87b36fad24088bca9e7e9%2B%5C

Restringir l'accés a l'API

Depurar

Cal activar la variable:

$wgDebugLogFile = "/tmp/wiki.log"

Resolució de problemes

No s'ha pogut crear el directori «mwstore://local-backend/local-public/a/aa».

Amb les últimes versions de mediawiki (p.ex. versió 1.19.1 --acacha (discussió) 06:25, 18 ago 2012 (CEST)) al pujar un fitxer us pot donar l'error:

No s'ha pogut crear el directori «mwstore://local-backend/local-public/a/aa».

És una qüestió de permisos:

$ sudo chmod -R 755 images
$ sudo chown -R www-data images
$ sudo chgrp -R www-data images 

Recursos:

Error al fitxer /var/log/apache2/error.log. Segmentation fault '/usr/bin/convert'

$ sudo tail -f /var/log/apache2/error.log
/var/lib/acacha_mediawiki/bin/ulimit4.sh: line 4: 17024 Segmentation fault      '/usr/bin/convert' -background white -size 120 '/var/lib
/acacha_mediawiki/upload/e/e1/60895792.gif' -coalesce -thumbnail '120x75!' -depth 8 '/var/lib/acacha_mediawiki/upload/thumb/e/e1/60895792.gif/120px-
60895792.gif' 2>&1
...

La sol·lució pujar la quantitat de memòria:

//Maximum amount of virtual memory available to shell processes under linux, in KB.
$wgMaxShellMemory = 102400;

o posar-la il·limitada:

$wgMaxShellMemory   = unlimited;
$wgMaxShellFileSize = unlimited;

No apareix la taula de continguts (TOC: Table of Contents)

La taula de continguts (TOC: Table Of Contents) s'afegeix automàticament quan teniu més de 3 apartats (capçaleres o headers).

Podeu mostrar la TOC en qualsevol lloc posant:

 __TOC__

O simplement poseu:

 __FORCETOC__

A qualsevol lloc del document per tard de mostrar sempre la TOC, encara que no tingueu suficients apartats.

Podeu forçar que no aparegui la taula de continguts amb:

 __NOTOC__

A qualsevol lloc del document.

Recuperar el password de WikisysOp (o qualsevol usuari)

$ php WIKIMEDIA-DIR/maintenance/changePassword.php --user=WikiSysop --password=new-pass

Per exemple, si la nostra instal·lació de mediawiki està a:

/var/lib/acacha_mediawiki

Fem:

$ cd /var/lib/acacha_mediawiki
$ sudo php5 maintenance/changePassword.php --conf /var/lib/acacha_mediawiki/LocalSettings.php --user=ntorrubi --password=1234

Un altre exemple, aquest cas com canviar la paraula de pas del wikisysop:

$ sudo php5 changePassword.php --conf /var/lib/mediawiki/LocalSettings.php --user=WikiSysop --password=1234

Recordeu que cal establir la paraula de pas d'accés a la base de dades establint les variables:

$wgDBadminuser 

i

$wgDBadminpassword

Al fitxer LocalSettings.php

Recursos:

Pàgina en blanc

Segurament la millor opció és posar al fitxer LocalSettings.php (a les primeres línies):

error_reporting( E_ALL );
ini_set( 'display_errors', 1 );

Proveu d'augmentar la memòria de PHP al fitxer php.ini:

$ sudo joe /etc/php5/apache2/php.ini
...
ini_set( 'memory_limit', '64M' );
...

També port ser qüestió de permisos del fitxer LocalSettings.php

$ sudo chmod 600 LocalSettings.php
$ sudo chown www-data:www-data LocalSettings.php

Sempre és una bona idea consultar el log de Apache a veure si up pot donar alguna informació més.

$ sudo tail -f /var/log/apache2/error.log 
...
[Sun Apr 10 08:02:14 2011] [error] [client 192.168.111.2] PHP Fatal error:  require_once(): Failed opening required '/usr/share/mediawikimaninfo 
/LocalSettings.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/mediawikimaninfo/includes/WebStart.php on line 116
[Sun Apr 10 08:02:14 2011] [error] [client 192.168.111.2] PHP Warning:  require_once(/usr/share/mediawikimaninfo/LocalSettings.php): failed to open  
stream: Permission denied in /usr/share/mediawikimaninfo/includes/WebStart.php on line 116

Finalment us recomano que tingueu en compte que no sigui un problema de una extensió mal configurada. Per exemple:

Warning: require_once(/var/lib/mediawiki/extensions/RSS/rss.php) [function.require-once]: failed to open stream: No such file or 
directory in /var/lib/mediawiki_manteniment/LocalSettings.php on line 163

Fatal error: require_once() [function.require]: Failed opening required '/var/lib/mediawiki/extensions/RSS/rss.php' 
(include_path='/var/lib/mediawiki_manteniment:/var/lib/mediawiki_manteniment/includes:/var/lib/mediawiki_manteniment/languages:.: 
/usr/share/php:/usr/share/pear') in /var/lib/mediawiki_manteniment/LocalSettings.php on line 163

Els RSS de Mediawiki no es mostren correctament. Una línia buida (blank line) a l'inici

Sembla ser que normalment és per l'existència d'una línia addicional en alguna extensió. Comproveu que no hi hagin línies buides al final dels fitxers.

Com saber la versió que tenim de mediawiki?

Es pot consultar la pàgina especial:

Especial:Versió

I també es pot consultar el principi del fitxer:

$ head /usr/share/mediawiki/CREDITS
MediaWiki 1.14 is a collaborative project released under the
GNU General Public License v2. We would like to recognize the
following names for their contribution to the product.
....

S'ha produït un error en la base de dades. Table x doen'st exists

Consulteu:

Problemes de permisos amb la carpeta images (upload)

$ ls -la /var/lib/mediawiki/images
$ cd /var/lib/mediawiki/images
$ sudo chown -R www-data:www-data images
$ sudo chmod 700 images

S'ha produït un error en crear la miniatura: convert: unable to open image ...

Al importar imatges o al fer un upgrade de la mediawiki, cal tornar a generar tornar a generar els thumbs de les imatges. Hi ha un script a la carpeta:

 /var/lib/mediawiki/maintenance

Anomenat:

rebuildImages.php

Per executar-lo, primer cal tenir suport per a executar scripts PHP des de la línia de comandes:

$ sudo apt-get install php5-cli

Recursos:

http://www.mediawiki.org/wiki/Manual:Rebuildall.php

AntiSpam. Desactivar alta comptes usuari

Afegiu al fitxer /etc/mediawiki/LocalSettings.php la línia:

#Disallow creating accounts
$wgGroupPermissions['*']['createaccount'] = false;
#Impedir l'edició d'usuaris anònims
$wgGroupPermissions['*']['edit'] = false;

Suport per a SVG

Per tal que funcionen les imatges svg cal instal·lar en el servidor:

$ sudo apt-get install imagemagick

Però sembla que és molt millor la eina rsvg:

$ sudo apt-get install librsvg2-bin

Afegir la extensió svg a

$wgFileExtensions[]

Afegir les següents línies a /etc/mediawiki/LocalSettings.php:

$wgAllowTitlesInSVG = true;
$wgSVGConverter = 'rsvg';

Recursos:

Permetre afegir a la wiki imatges externes

Afegiu a LocalSettings.php:

$wgAllowExternalImages = true;

http://tbn1.google.com/images?q=tbn:9E0RT2NgQB7HfM:http://swik.net/swikIcons/img-179-96x96.png

No es visualitzen les imatges amb el namespace Fitxer: o File:

Aquests namespaces només funcionen des de la versió . A pàgines especials Especial:Pàgines_especials podeu consultar la versió que teniu de mediawiki: Especial:Versió.

A mi l'error m'ha passat algun cop per culpa d'instal·lar sense voler el paquet mediawiki dels repositoris d'Ubuntu sobre una instal·lació manual. La instal·lació manual és una versió superior a 1.14 i la dels repositoris no.

Ho he solucionat actualitzant la versió.

Detected bug in an extension! Hook XXXX (p.ex. FCKeditor_MediaWiki::onCustomEditor) failed to return a value; should return true to continue hook processing or false to abort

TODO: Sembla ser que és un problema de tenir una versió de mediawiki que no sigui la última i tenir un PHP força nou (en el meu cas 
el PHP de la versió 10.10 d'Ubuntu)

Wikis de projectes amb mediawiki

Vegeu també

Recursos

Pàgines antigues sobre mediawiki en aquesta wiki:

OpenFPnet
IES Nicolau Copèrnic