viernes, junio 03, 2011

MediaWiki - Configurando

Tomado de: Configurar Mediawiki


índice

Requisitos
1 Instalación
2 Configurando LocalSettings.php
3 Editando en nuestra Wiki

Requisitos

* Descargar MediaWiki.
* Servidor web, como por ejemplo Apache.
* PHP 5.0 ó superior (recomendado 5.1.x).
* Servidor de Bases de Datos MySQL 4.0 ó superior.
* Recomendable phpMyAdmin (MySQL) para gestionar cómodamente la base de datos.

1 Instalación


1.1 Apache

Instalamos la aplicación una vez mas con el gestor de paquetes:
# yum install apache
Una vez instalado ejecutamos:
# service httpd start
Si nos muestra un OK entonces ya tenemos el demonio de apache en ejecución.

1.2 phpMyAdmin

Una vez descargada la última versión de phpMyAdmin la instalamos en el directorio que queramos, para éste manual utilizaremos al ruta "/var/www/html", la creamos y luego:
# tar -xvf phpMyAdmin-2.11.4-all-languages.tar /var/www/html
Una vez descomprimido debemos decirle al Apache donde comienzan nuestras páginas, editamos httpd.conf que estará en /etc/httpd/conf y buscamos la línea que pone DocumentRoot la dejamos así:
DocumentRoot "/var/www/html"
Ahora escribimos en el navegador http://localhost/phpMyAdmin/index.php vemos si se nos carga la página correctamente, a la que deberemos especificar un usuario y una contraseña.

1.3 MySQL

Lo primero de todo, nos ponemos como superuser y luego instalamos la aplicación desde los repositorios de la distribución: 
# yum install mysql
Ahora debemos arrancar el servicio, tecleamos:
# service mysqld start
Si todo va bien el sistema nos mostrará un OK. Ahora debemos establecer la contraseña del usuario root, por defecto el usuario root no tiene una clave asignada, lo cual no es nada recomendable. Utilizamos el comando:
# mysqladmin -u root password 'loquesea'
Cambiar “loquesea” por la contraseña que deseémos establecer, pero es importante no olvidarse de teclear las comillas simples.
Comprobamos la nueva contraseña abriendo una sesión en mysql:
# mysql -u root -p
Ahora comprobamos que se haya instalado bien MySQL ojeando las bases de datos existentes de ejemplo:
mysql> show databases;
Y nos deberia aparecer algo como ésto:
+----------+

| Database |

+----------+

| mysql    |

| test     |

+----------+

2 rows in set (0.00 sec)

1.4 MediaWiki

Una vez descargada la última versión de MediaWiki:
# cp mediawiki-1.x.tar.gz /var/www/html
# cd /var/www/html
# tar zxvf mediawiki-1.x.tar.gz
# mv mediawiki-1.x wiki
Una vez descomprimido con tar, movemos el directorio para renombrarlo a nuestro gusto.
MediaWiki deber poder escribir en el subdirectorio config cuando se ejecute el script de instalación, accedemos a /var/www/html/wiki y escribimos:
# chmod 777 config
Ahora debemos crear una base de datos y un usuario en MySQL antes de instalar MediaWiki. Se puede hacer con phpMyAdmin pero ahora vamos a hacerlo en la consola, primero debemos acceder a la línea de comandos de MySQL:
# mysql -u root -p mysql
Accedemos con el password que ya habíamos definido anteriormente para root, una vez dentro:
mysql> create database wikidb;
mysql> grant create, select, insert, update, delete, alter, lock tables on wikidb.* to 'wikiuser'@'localhost' identified by 'password';
mysql> flush privileges;
mysql> \q
¡OJO! en 'password' hay que poner la clave que del usuario de la wiki que tendrá acceso a la base de datos, que posteriormente deberemos poner otra vez. Y escribiendo en el navegador http://localhost/wiki/ nos debería resolver la dirección y mostrarnos el script de instalación de WikiMedia.

1.4.1 Instalación Gráfica

Hacemos click en "set up the wiki" en la comprobación del entorno tiene que estar todo correcto Environment checked. You can install MediaWiki. , sino deberemos ir a ese paso y corregirlo. Lo siguiente será rellenar los campos Must not be blank y dejar los demás por defecto. Como anteriormente habiamos señalado, en el password de la base de datos debermos poner la clave introducida en el paso 1.4, ahore hacemos lo que nos pide el script.
# cd /var/www/html/wiki/config
# cp LocalSetting.php ../



2 Configurando LocalSettings.php


2.1 Permisos de usuario.

El sistema de permisos de MediaWiki se basa en el array $wgGroupPermissions situado en DefaultSettings.php que podremos ir añadiendo aLocalSettings.php para configurar nuestra wiki.
Existen varios grupos de usuarios por defecto:
'user' referente a cualquier usuario registrado.
'beaurocrat' grupo con privilegios para administrar los grupos por defecto.
'sysop' administrador del sistema.
'bot' autochequeo de la máquina.
'*' todos los usuarios, tanto registrados como sin registrar.
Ésta es la matriz de los permisos de grupo de DefaultSettings.php
$wgGroupPermissions = array();
 
// Implicit group for all visitors
        $wgGroupPermissions['*'    ]['createaccount']   = true;         // 1.5.0
        $wgGroupPermissions['*'    ]['read']            = true;         // 1.5.0
        $wgGroupPermissions['*'    ]['edit']            = true;         // 1.5.0
        $wgGroupPermissions['*'    ]['createpage']      = true;         // 1.6.0
        $wgGroupPermissions['*'    ]['createtalk']      = true;         // 1.6.0
 
// Implicit group for all logged-in accounts
        $wgGroupPermissions['user' ]['move']            = true;         // 1.5.0
        $wgGroupPermissions['user' ]['read']            = true;         // 1.5.0
        $wgGroupPermissions['user' ]['edit']            = true;         // 1.5.0
        $wgGroupPermissions['user' ]['createpage']      = true;         // 1.6.0
        $wgGroupPermissions['user' ]['createtalk']      = true;         // 1.6.0
        $wgGroupPermissions['user' ]['upload']          = true;         // 1.5.0
        $wgGroupPermissions['user' ]['reupload']        = true;         // 1.6.0
        $wgGroupPermissions['user' ]['reupload-shared'] = true;         // 1.6.0
        $wgGroupPermissions['user' ]['minoredit']       = true;         // 1.6.0
 
// Implicit group for accounts that pass $wgAutoConfirmAge
        $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;   // 1.6.0
 
// Implicit group for accounts with confirmed email addresses
// This has little use when email address confirmation is off
        $wgGroupPermissions['emailconfirmed']['emailconfirmed'] = true; // 1.7.0
 
// Users with bot privilege can have their edits hidden
// from various log pages by default
        $wgGroupPermissions['bot'  ]['bot']             = true;         // 1.5.0
        $wgGroupPermissions['bot'  ]['autoconfirmed']   = true;         // 1.6.0
        $wgGroupPermissions['bot'  ]['nominornewtalk']  = true;         // 1.9.0
 
// Most extra permission abilities go to this group
        $wgGroupPermissions['sysop']['block']           = true;         // 1.5.0
        $wgGroupPermissions['sysop']['createaccount']   = true;         // 1.5.0
        $wgGroupPermissions['sysop']['delete']          = true;         // 1.5.0
        $wgGroupPermissions['sysop']['deletedhistory']  = true;         // 1.6.0
        $wgGroupPermissions['sysop']['editinterface']   = true;         // 1.5.0
        $wgGroupPermissions['sysop']['import']          = true;         // 1.5.0
        $wgGroupPermissions['sysop']['importupload']    = true;         // 1.5.0
        $wgGroupPermissions['sysop']['move']            = true;         // 1.5.0
        $wgGroupPermissions['sysop']['patrol']          = true;         // 1.5.0
        $wgGroupPermissions['sysop']['autopatrol']      = true;         // 1.9.0
        $wgGroupPermissions['sysop']['protect']         = true;         // 1.5.0
        $wgGroupPermissions['sysop']['proxyunbannable'] = true;         // 1.7.0
        $wgGroupPermissions['sysop']['rollback']        = true;         // 1.5.0
        $wgGroupPermissions['sysop']['trackback']       = true;         // 1.7.0
        $wgGroupPermissions['sysop']['upload']          = true;         // 1.5.0
        $wgGroupPermissions['sysop']['reupload']        = true;         // 1.6.0
        $wgGroupPermissions['sysop']['reupload-shared'] = true;         // 1.6.0
        $wgGroupPermissions['sysop']['unwatchedpages']  = true;         // 1.6.0
        $wgGroupPermissions['sysop']['autoconfirmed']   = true;         // 1.6.0
        $wgGroupPermissions['sysop']['upload_by_url']   = true;         // 1.8.0
        $wgGroupPermissions['sysop']['ipblock-exempt']  = true;         // 1.9.0
 
// Permission to change users' group assignments
        $wgGroupPermissions['bureaucrat']['userrights'] = true;         // 1.5.0
 
// Experimental permissions, not ready for production use
// These were added in 1.6.0, but remain commented out in the source.
//    $wgGroupPermissions['sysop']['deleterevision'] = true;          // 1.6.0
//    $wgGroupPermissions['bureaucrat']['hiderevision'] = true;       // 1.6.0
 
// Used by the Special:Renameuser extension
// This setting was removed in 1.6.0 as the extension is not part of the default
// MediaWiki distribution.
        $wgGroupPermissions['bureaucrat']['renameuser'] = true;         // 1.5.0, removed in 1.6.0
 
/**
 * The developer group is deprecated, but can be activated if need be
 * to use the 'lockdb' and 'unlockdb' special pages. Those require
 * that a lock file be defined and creatable/removable by the web
 * server.
 */
// This setting was added in 1.5.0, but remains commented out in the source.
//    $wgGroupPermissions['developer']['siteadmin'] = true;           // 1.5.

2.2 Logo.

Para cambiar el logo de la portada que hay por defecto, tan solo debemos ir a LocalSettings.php y añadir ésta linea:
$wgLogo = "http://localhost/wiki/images/tulogo.png";
Estríctamente ha de ser de una URL, que puede ser como en éste caso de nuestro servidor o también de cualquir otra página, con tamaño 135x135 pixeles, que se pueden modificar en skins/monobook/main.css??? o en tu propia hoja de estilos, sino la imágen no se cargará.

2.3 Favicon (icono que muestra el navegador).

Para poner un iconito a nuestra página tan sólo debemos copiar un .ico en el directorio principal de la wiki y poner ésta línea:
$wgFavicon = "$wgScriptPath/favicon.ico";

2.4 Subir archivos.

Para subir ficheros debemos cambiar $wgEnableUploads = false; a true, por defecto el directorio de subida es /images que deberá tener los permisos correctamente configurados, escribimos chmod 755 images y WikiMedia podrá escribir en el directorio.

2.5 Tipos de datos.

Para que WikiMedia reconozca más tipos de ficheros a parte de imágenes, que las reconoce por defecto, deberemos poner
$wgFileExtensions = array('png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf');
y dentro de éste array incluiremos las extensiones de archivo que debamos.

2.6 Apariencia.

La apariencia por defecto de WikiMedia está definida por el tema MonoBook, que se encuentra en /skins, con ésto introducimos los skins y cómo modificar la apariencia de nuestra wiki. Se puede elegir entre varios skins que vienen por defecto haciendo click en "preferencias" una vez iniciado sesion y luego en "apariencia", para poder user los .css creados por usuarios hay que incluir en LocalSettings.php ésta línea$wgAllowUserCss = true;.

2.6.1 Skins

Los skins son hojas de estilo (Cascading Style Sheets, CSS) que definen la apariencia de la página,podemos cambiarla editando el archivo por defecto /wiki/skins/common/commonPrint.css ó creando la nuestra propia que se estructurará en skins/user.php y /skins/user/main.css, en ésta página(inglés) hay una extensa información de cómo hacer nuestra propia skin.
También se puede poner la ruta del CSS a utilizar, $wgStylePath para un URL y $wgStyleDirectory para un directorio en la instalación de nuesta wiki.
$wgStylePath = "http://www.ulpgc.es/estilo.css";
$wgStyleDirectory = "/skins/estilo.css";

2.7 Otras opciones

Nombre del sitio: equivalente a <title> de HTML:
$wgSitename = "Nombre del sitio web";
Derechos: simplemente muestra una advertencia de copyright en la pagina de edición del artículo.
$wgRightsText = "Universidad de Las Palmas de Gran Canaria";
$wgRightsIcon = "http://universidades.universia.es/logos-unis/ulpgc.gif";
Forzar mayúsculas: todos lo enlaces comienzan con la primera letra en mayúscula, al poner $wgCapitalLinks = false;, las primera letra se pude mostara en minúscula, PRECAUCIÓN todos los enlace tanto de páginas como de imágenes y categorías se vuelven sensibles a las mayúsculas(Case Sensitive), lo que puede hacer que algunos enlaces se rompan. Afecta a todos los espacios excepto a las páginas Especiales de la wiki.

3 Editando en nuestra Wiki

En ésta sección nos centraremos en cómo editar las páginas de la wiki.

3.1 Creando un artículo

Si queremos crear un nuevo artículo primero debemos poner el nombre del articulo en el buscador, y si no existe lo editamos, puede que hayan otras formas de crear artículos, lo que será cuestión de indagar. Otra forma es a la hora de editar un artículo ya existente escribimos[[artículo nuevo]] y de ésta forma estamos linkando a 'artículo nuevo' que al no existir sale en rojo, básicamente es el mismo método que el anterior. Otra forma es instalando la extensión "inputbox extension", lo que veremos más adelante cómo instalar una extensión.

3.2 Dando formato al artículo

WikiMedia tiene una sintaxis bastante simple y potente con la cual podremos hacer títulos, subtítulos, crear categorías, más artículos, incluir imágenes y muchas más cosas, también admite tags de HTML. La sintaxis consta de un palabra clave entre dobles corteches, que tambien admite atributos opcionales que están separados por | [[keyword | option]].

3.2.1 Títulos y secciones

Hay varias maneras de mostrar secciones editables independientes, están ordenadas de mayor a menor tamaño:
=titulo=
==titulo==
===titulo===
Además podremos mostrar una tabla de contenidos de las susodichas secciones, que sería aconsejable poner al principio del texto:
====tabla de contenidos====

3.2.2 Imágenes

Para añadir imágenes usamos [[Image:imagen.jpg]] que la cogerá de /images la cual deberemos de haber subido antes, hay muchas formas de darle formato que se detallan aquí.

3.2.3 Extensiones

Las extensiones son compilaciones de código PHP que añaden nuevas características al núcleo principal de MediaWiki. Son una de las principales ventajas de MediaWiki, herramientas muy potentes a tener en cuenta.
  1. Antes de empezar.
  2. Alguna extensiones requieren la instalación de un parche. Muchas de ellas uncluyen instrucciones diseñadas para su instalación usando comandos de unix. Se requiere SSH para introducir estos comandos listados en las páginas de ayuda de la extensión.
  3. Descargar e instalar ExtensionFunctions.php.
  4. Algunas extensiones, especialmente las más nuevas, requieren el archivo de ayuda ExtensionFunctions.php, el cual incluye una serie de funciones que permiten a las extensiones ser modularizadas aparte del código principal de MediaWiki. La mejor manera es descargar la versión actual de SVN. éste archivo es visible al público constantemente aquí. Una vez descargado copia ExtensionFunctions.php al subdirectorio /extensions de tu MediaWiki.
  5. Descargar la extensión.
  6. Las extensiones normalmente son distribuídas como paquetes modulares, generalmente van en su propio subdirectorio dentro de/extensions. Una buena lista de las extensiones documentadas en MediaWiki.org están disponibles en ésta matriz de extensiones, y una lista de las extensiones guardadas en el repositorio SVN de WikiMedia. Algunas extensiones tienen el código fuente disponible en ésta wiki, quizá quiera automatizar la copia de las extensiones.
  7. Instalar la extensión.
  8. Al final del fichero LocalSettings.php, añadimos la siguiente línea:
    require_once "$IP/extensions/tu_extension/tu_extension.php";
    
    ésta línea fuerza al intérprete de PHP a leer el archivo de la extensión, lo que lo hará accesible a MediaWiki. Algunas extensiones pueden requerir pasos adicionales, por lo que será aconsejanble leer la documentación de la extensión.
Sin la extensión Infobox nos podemos olvidar de poner plantillas.

Anotaciones de interés

Aparentemente la versión 1.12 no funcina correctamente, o al menos no se cual es el fallo
Esta sección es tan solo para remarcar algunos detalles significativos sobre la configuración y estructura de MediaWiki.
* Prácticamente el núcleo de la aplicación se encuentra en LocalSettings.php, puesto que es en este fichero donde podremos configurar la mayor parte de nuestra wiki.
ÉSTE MANUAL HA SIDO ESCRITO UTILIZANDO LINUX CentOS

No hay comentarios: