Diferencia entre revisiones de «Mediawiki»

De Taquiones
mSin resumen de edición
mSin resumen de edición
Línea 62: Línea 62:
** sandbox|Zona de pruebas
** sandbox|Zona de pruebas
</syntaxhighlight>
</syntaxhighlight>

__FORZAR_TDC__
== Ajustes de configuración ==

=== Acortando URL ===

* [http://www.mediawiki.org/wiki/Manual:Short_URL Acortando direcciones en mediawiki] (especialmente eliminando la expresión ''index.php'' del URL).]

Cuando se pretende que los URL del wiki sean lo más limpio posible tenemos que tocar en varios sitios en la configuración, dependiendo de si tenemos o no acceso como ''root'' a la instalación del wiki.

En mi caso he tomado la decisión de usar la forma estándar de URL que se emplea en la Wikipedia como
<nowiki>http://example.com/wiki/Page_title</nowiki>
porque me permite disponer de un espacio de nombres libres en la raíz del servidor
<nowiki>http://example.com/debian</nowiki>
<nowiki>http://example.com/webdav</nowiki>
<nowiki>http://example.com/cgi-bin/tool.pl</nowiki>
<nowiki>http://example.com/victor</nowiki>
para poder emplearlos con otras aplicaciones o páginas especiales.

Según la [http://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title documentación] los pasos a seguir son los siguientes:

# Asegurarse de que el directorio de Mediawiki no está directamente bajo el árbol de archivos del servidor web para no mezclar páginas del wiki y otros contenidos. En [[Antiguo/wiki/Debian.html|Debian]] se instala bajo <code>/var/lib/mediawiki</code> por lo que esta precaución ya está tomada. En mi caso, además, suelo añadir un enlace simbólico de dicho directorio a <code>/var/www/w</code> de manera que toda la instalación (como los temas) queda al alcance de una única ruta.
# Modificar la configuración del wiki en el archivo <code>LocalSettings.php</code> para que refleje las rutas de los programas (''/w/index.php'') y los artículos (''/wiki/Page_title'').
# Cambiar la configuración del servidor web para apuntar a estas nuevas rutas.
# Reiniciar el servidor web
# Probar el acceso a través de <nowiki>http://localhost/wiki</nowiki>

El archivo ''LocalSettings.php'' queda así:
$wgScriptPath = "/w";
$wgScript = "$wgScriptPath/index.php";
$wgArticlePath = "/wiki/$1";
mientras que la configuración de [[Apache]] queda de esta forma:
Alias /wiki /var/lib/mediawiki/index.php
<Directory /var/lib/mediawiki/>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>

=== Subpáginas ===

* [http://www.mediawiki.org/wiki/Manual:$wgNamespacesWithSubpages Cómo activar subpáginas en mediawiki]
* [http://www.mediawiki.org/wiki/Help:Subpages Qué son las subpáginas en mediawiki]

Además de tener un nombre más largo ya que la jerarquía de páginas se separa con una barra inclinada como en
<nowiki>http://astillas.net/wiki/SandoBox/Tipografia/varios</nowiki>
en cada página se añade automáticamente, al principio de la misma, enlaces hacia las páginas superiores de las que descienden.

Un detalle a tener en cuenta es que el nombre de la subpágina no admite las mismas mejoras estéticas que los nombres de página. Estos, en mediawiki, se normalizan automágicamente cambiando a mayúscula la primera letra de los mismos. En las subpáginas no sucede así por lo que <code>Hardware/impresoras</code> es diferente de <code>Hardware/Impresoras</code>.

=== Wikis múltiples ===
Dada la extensión del tema he abierto una página nueva para describir la configuración de [https://wiki.taquiones.net/antiguo/wiki/Wikis.html múltiples wikis] en un mismo servidor.

=== Derechos de acceso ===

* [http://www.mediawiki.org/wiki/Manual:Preventing_access Mediawiki: preventing access]

Existen varios parámetros que se pueden definir en la configuración local (<code>LocalSettings.php</code>) y que marcan las líneas generales de funcionamiento del wiki:
# Creación de usuarios sólo a administradores
$wgGroupPermissions['sysop']['createaccount'] = true;
# Permite la edición sólo a usuarios registrados
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = true;

=== Modificando la barra de navegación ===

* [http://www.mediawiki.org/wiki/Navigation_bar Manual:Interface/Sidebar]

Para ello es necesario editar la página [[MediaWiki:Sidebar]] y cambiar allí el orden o el contenido mostrado. Éste consiste en una lista de elementos un poco especiales porque aparece un destino y un texto a mostrar separados por una barra vertical (<code>|</code>). El destino puede ser una página del wiki o un URL completo.

Ejemplo:
* navigation
** mainpage|mainpage
** recentchanges-url|recentchanges
** randompage-url|randompage
** sandbox|Zona de pruebas

=== Enlaces entre wikis ===
Existe un tipo de enlace especial que permite crear direcciones de otros wikis sin necesidad de conocerlas al completo.

Por ejemplo se puede crear un enlace de éste tipo
<nowiki>[[:wp:Agujero Analógico|esto es obligatorio de leer]]</nowiki>
y el programa ''mediawiki'' lo convierte a
<nowiki>[http://es.wikipedia.org/wiki/Agujero_Analógico esto es obligatorio de leer]</nowiki>
en el producto final de la página.

El programa emplea una tabla de su base de datos llamada '''interwiki''' para conservar una correlacción entre prefijos (como ''wp'') y direcciones web (como <nowiki>http://es.wikipedia.org/wiki/</nowiki>). Alterarla implica tener acceso a bajo nivel al servidor de datos e insertar un registro en dicha tabla o cambiar el contenido de otra puesto que el entorno ''mediawiki'' suele incluir una larga lista de ellos.

La estructura de la tabla de enlaces entre wikis tiene una [http://www.mediawiki.org/wiki/Manual:Interwiki_table descripción] propia aunque existe una [http://www.mediawiki.org/wiki/Extension:InterWiki extensión] preparada para mantener más cómodamente este mapa de correspondencias.

Otra característica de estos enlaces es que para ellos no existe la comprobación habitual de página existente o nueva, por lo que siempre aparecen como enlaces externos (en color azul generalmente).

Si se tiene acceso directo al servidor MySQL se pueden insertar directamente valores en la tabla apropiada:
$ mysql ...
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 181
Server version: 5.0.51a-24+lenny5 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> insert into interwiki set iw_prefix='wp', iw_url='<nowiki>http://es.wikipedia.org/wiki/$1'</nowiki>;
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql>

* [http://www.mediawiki.org/wiki/Help:Links#Interwiki_links Enlaces entre wikis en mediawiki]__FORZAR_TDC__
[[Categoría:Programa]]
[[Categoría:Programa]]
[[Categoría:Mediawiki]]
[[Categoría:Mediawiki]]

Revisión del 07:47 23 abr 2024

Configuración

Aspectos

Imágenes

Las imágenes en el wiki precisan de:

  1. Un directorio con permisos de escritura
  2. Acceso al programa de conversión de imágenes
  3. Un modelo de almacenamiento definido antes de subir la primera imagen.
## Indicadores activos para emplear imágenes en el wiki (incluyendo subir mediante un URL)
$wgEnableUploads                = true;
$wgUseImageMagick               = true;
$wgImageMagickConvertCommand    = "/usr/bin/convert";
$wgAllowCopyUploads             = true;
$wgShowExceptionDetails         = true;
## 
## Parámetros de almacenamiento y acceso a las imágenes
$wgUploadDirectory      = "/var/lib/mediawiki/images";
$wgUploadPath           = "/w/images";
##
## Almacenar las imágenes linealmente y no dentro de un 
## árbol de subdirectorios
$wgHashedUploadDirectory        = false;
Logotipo y favicon

Una vez obtenida una imagen para utilizar como logotipo derivamos de ella un favicon y la subimos al directorio de imágenes y anotamos en la configuración cuál utilizar:

$wgLogo      = "{$wgUploadPath}/astillas-logo-120.jpg";
$wgFavicon   = "{$wgUploadPath}/favicon.ico";

Ajustes de configuración

Derechos de acceso

   Ref: Mediawiki: preventing access

Existen varios parámetros que se pueden definir en la configuración local (LocalSettings.php) y que marcan las líneas generales de funcionamiento del wiki:

# Creación de usuarios sólo a administradores
$wgGroupPermissions['sysop']['createaccount'] = true;

# Permite la edición sólo a usuarios registrados
$wgGroupPermissions['*']['edit']              = false;
$wgGroupPermissions['user']['edit']           = true;
Modificando la barra de navegación

   Ref: Manual:Interface/Sidebar

Para ello es necesario editar la página MediaWiki:Sidebar y cambiar allí el orden o el contenido mostrado. Éste consiste en una lista de elementos un poco especiales porque aparece un destino y un texto a mostrar separados por una barra vertical (|). El destino puede ser una página del wiki o un URL completo.

Ejemplo:

* navigation
** mainpage|mainpage
** recentchanges-url|recentchanges
** randompage-url|randompage
** sandbox|Zona de pruebas

Ajustes de configuración

Acortando URL

Cuando se pretende que los URL del wiki sean lo más limpio posible tenemos que tocar en varios sitios en la configuración, dependiendo de si tenemos o no acceso como root a la instalación del wiki.

En mi caso he tomado la decisión de usar la forma estándar de URL que se emplea en la Wikipedia como

http://example.com/wiki/Page_title

porque me permite disponer de un espacio de nombres libres en la raíz del servidor

http://example.com/debian
http://example.com/webdav
http://example.com/cgi-bin/tool.pl
http://example.com/victor

para poder emplearlos con otras aplicaciones o páginas especiales.

Según la documentación los pasos a seguir son los siguientes:

  1. Asegurarse de que el directorio de Mediawiki no está directamente bajo el árbol de archivos del servidor web para no mezclar páginas del wiki y otros contenidos. En Debian se instala bajo /var/lib/mediawiki por lo que esta precaución ya está tomada. En mi caso, además, suelo añadir un enlace simbólico de dicho directorio a /var/www/w de manera que toda la instalación (como los temas) queda al alcance de una única ruta.
  2. Modificar la configuración del wiki en el archivo LocalSettings.php para que refleje las rutas de los programas (/w/index.php) y los artículos (/wiki/Page_title).
  3. Cambiar la configuración del servidor web para apuntar a estas nuevas rutas.
  4. Reiniciar el servidor web
  5. Probar el acceso a través de http://localhost/wiki

El archivo LocalSettings.php queda así:

$wgScriptPath = "/w"; 
$wgScript = "$wgScriptPath/index.php";
$wgArticlePath = "/wiki/$1";

mientras que la configuración de Apache queda de esta forma:

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

<Directory /var/lib/mediawiki/>
        Options +FollowSymLinks
        AllowOverride All
        order allow,deny
        allow from all
</Directory>

Subpáginas

Además de tener un nombre más largo ya que la jerarquía de páginas se separa con una barra inclinada como en

http://astillas.net/wiki/SandoBox/Tipografia/varios

en cada página se añade automáticamente, al principio de la misma, enlaces hacia las páginas superiores de las que descienden.

Un detalle a tener en cuenta es que el nombre de la subpágina no admite las mismas mejoras estéticas que los nombres de página. Estos, en mediawiki, se normalizan automágicamente cambiando a mayúscula la primera letra de los mismos. En las subpáginas no sucede así por lo que Hardware/impresoras es diferente de Hardware/Impresoras.

Wikis múltiples

Dada la extensión del tema he abierto una página nueva para describir la configuración de múltiples wikis en un mismo servidor.

Derechos de acceso

Existen varios parámetros que se pueden definir en la configuración local (LocalSettings.php) y que marcan las líneas generales de funcionamiento del wiki:

# Creación de usuarios sólo a administradores
$wgGroupPermissions['sysop']['createaccount'] = true;

# Permite la edición sólo a usuarios registrados
$wgGroupPermissions['*']['edit']              = false;
$wgGroupPermissions['user']['edit']           = true;

Modificando la barra de navegación

Para ello es necesario editar la página MediaWiki:Sidebar y cambiar allí el orden o el contenido mostrado. Éste consiste en una lista de elementos un poco especiales porque aparece un destino y un texto a mostrar separados por una barra vertical (|). El destino puede ser una página del wiki o un URL completo.

Ejemplo:

* navigation
** mainpage|mainpage
** recentchanges-url|recentchanges
** randompage-url|randompage
** sandbox|Zona de pruebas

Enlaces entre wikis

Existe un tipo de enlace especial que permite crear direcciones de otros wikis sin necesidad de conocerlas al completo.

Por ejemplo se puede crear un enlace de éste tipo

[[:wp:Agujero Analógico|esto es obligatorio de leer]]

y el programa mediawiki lo convierte a

[http://es.wikipedia.org/wiki/Agujero_Analógico esto es obligatorio de leer]

en el producto final de la página.

El programa emplea una tabla de su base de datos llamada interwiki para conservar una correlacción entre prefijos (como wp) y direcciones web (como http://es.wikipedia.org/wiki/). Alterarla implica tener acceso a bajo nivel al servidor de datos e insertar un registro en dicha tabla o cambiar el contenido de otra puesto que el entorno mediawiki suele incluir una larga lista de ellos.

La estructura de la tabla de enlaces entre wikis tiene una descripción propia aunque existe una extensión preparada para mantener más cómodamente este mapa de correspondencias.

Otra característica de estos enlaces es que para ellos no existe la comprobación habitual de página existente o nueva, por lo que siempre aparecen como enlaces externos (en color azul generalmente).

Si se tiene acceso directo al servidor MySQL se pueden insertar directamente valores en la tabla apropiada:

$ mysql ...

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 181
Server version: 5.0.51a-24+lenny5 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> insert into interwiki set iw_prefix='wp', iw_url='http://es.wikipedia.org/wiki/$1';
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql>