Posts Tagged ‘cuenta’

Restringir y confirmar la creación de cuentas en MediaWiki

Friday, June 20th, 2008

La explicación se basará en una versión superior a la 1.5 y teniendo en cuenta que se ha instalado satisfactoriamente.

Restringir creación de cuentas

Tendremos que editar el archivo LocalSettings.php (el cual se debería encontrar en la carpeta donde instalamos MediaWiki) y agregar al final de él la siguiente línea


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

Ahora si tratamos de registrarnos, nos dirá que no hay un usuario con dicho nombre

Para terminar explicaré como habilitar la extensión para la confirmación de cuentas para esto haceremos

Confirmar creación de cuentas

  1. Iremos a la carpeta de extensiones (extensions) y por medio de svn bajaremos la extensión desde el repositorio de wikimedia

    
    cd extensions
    svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmAccount/
    
  2. Ahora deberemos correr un script (en /extensions/ConfirmAccount)
    para crear ciertas tablas en nuestra base de datos, para esto en
    función de la base de datos que estemos usando, es el que tendremos que
    correr:

    • PostgreSQL: ConfirmAccount.pg.sql
    • MySQL: ConfirmAccount.sql

    Si en la instalación hemos modificado el prefijo de las tablas,
    tendremos que indicarlo en el script. Para saber el prefijo y los datos
    sobre la base de datos (especificados durante la instalación) podemos
    revisar el archivo LocalSettings.php y encontraremos lo siguiente

    
    $wgDBtype           = "mysql";
    $wgDBserver         = "192.168.1.111";
    $wgDBname           = "wikidb";
    $wgDBuser           = "wikiuser";
    $wgDBpassword       = "123";
    
    # MySQL specific settings
    $wgDBprefix         = "miPrefijo";
    

    Por ejemplo, habría que reemplazar las ocurrencias /*$wgDBprefix*/ por el valor que tiene la variable wgDBprefix en nuestro LocalSettings.php, en mi caso es miPrefijo. Aquí dejo las partes puntuales que habría que modificar del script

    
    -- This stores all of our reviews,
    -- the corresponding tags are stored in the tag table
    CREATE TABLE /*$wgDBprefix*/account_requests (
      acr_id int unsigned NOT NULL auto_increment,
    
    
    -- This stores all of credential information
    -- When accounts are confirmed, the identity info goes here
    CREATE TABLE /*$wgDBprefix*/account_credentials (
      — Revision ID #
      acd_id int unsigned NOT NULL auto_increment,
    

    FInalizada la modificación de los script faltaría sólo correrlos para esto nos posicionaremos en la carpeta de la extensión (extensions/ConfirmAccount) y ejecutamos

    
     mysql -D wikidb -u wikiuser -h 192.168.1.111 < ConfirmAccount.sql
    
    

    Los valores de los parámetros D, u y h, se encuentran definidos en el archivo LocalSettings.php

  3. Ahora deberemos incluir la siguiente línea en LocalSettings.php
    
    include_once('extensions/ConfirmAccount/SpecialConfirmAccount.php');
    
  4. Debemos asegurarnos que este activado (true) la variable $wgEnableEmail en LocalSettings.php
  5. 
     ## For more information on customizing the URLs please see:
    ## http://www.mediawiki.org/wiki/Manual:Short_URL
    
    $wgEnableEmail      = true;
    
    $wgEnableUserEmail  = true;
    
    $wgEmergencyContact = “algo@mail.org”;
    $wgPasswordSender = “algo@mail.org”;
    

Aquí dejo como se modifica la página de registración y la nueva página para solicitar una cuenta al wiki

Página de registración modificada por la extensión

Página de solicitud de cuenta creada por la extensión

Uno de los datos que se deben llenar en la solicitud de la cuenta, es una bibliografía personal
que conste de 50 palabras. Según la seriedad de nuestro wiki esto puede
ser mínimo, justo o demasiado. Para alterar la cantidad de palabras hay
que editar la variable wgAccountRequestMinWords en el archivo SpecialConfirmAccount.php (en extensions/ConfirmAccount). En este caso lo modifiqué a 25 palabras.


# Minimum biography specs
$wgAccountRequestMinWords = 25;

Bibliografía