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
-
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/
-
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
- Ahora deberemos incluir la siguiente línea en LocalSettings.php
include_once('extensions/ConfirmAccount/SpecialConfirmAccount.php');
- Debemos asegurarnos que este activado (true) la variable $wgEnableEmail en LocalSettings.php
## 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


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