Diferencia entre revisiones de «CONFIGURACION WIKI»

De Wiki
Saltar a: navegación, buscar
(Restringir acceso a páginas de mediawiki por grupos)
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 46: Línea 46:
 
=====Restringir acceso a páginas de mediawiki por grupos=====
 
=====Restringir acceso a páginas de mediawiki por grupos=====
  
Vamos a utilizar la extension CategoryPermissions para establecer permisos a los artículos de las categorías. De esta manera podemos restringir el acceso a una página de mediawiki ependiendo de si el usuario pertnece a un grupo o no. Como siempre la última versión de como hacerlo esta en mi wiki.
+
Vamos a utilizar la extension CategoryPermissions [http://www.mediawiki.org/wiki/Extension:CategoryPermissions] para establecer permisos a los artículos de las categorías. De esta manera podemos
 +
restringir el acceso a una página de mediawiki ependiendo de si el usuario pertnece a un grupo o no. Como siempre la última versión  
 +
de como hacerlo esta en mi wiki.
  
Instalación
+
Instalación
 
+
Tendremos que añadir el fichero de nombre CategoryPermissions.php a la carpeta extensions de nuestra mediawiki con el contenído que se le
Tendremos que añadir el fichero de nombre CategoryPermissions.php a la carpeta extensions de nuestra mediawiki con el contenído que se le indica aquí.
+
indica aquí.
 
+
Una vez hecho esto tendremos que añadir al final del archivo LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) las
Una vez hecho esto tendremos que añadir al final del archivo LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) las siguientes lineas:
+
siguientes lineas:
  
 
  require_once("$IP/extensions/CategoryPermissions.php");
 
  require_once("$IP/extensions/CategoryPermissions.php");
 
  $wgGroupDefaultAllow=true; //set to true to allow everyone access to pages without a category
 
  $wgGroupDefaultAllow=true; //set to true to allow everyone access to pages without a category
 
  $wgCategoryExclusive=array("Category:cat_name","Category:cat2_name");//deny access to these categories for anyone not in the group
 
  $wgCategoryExclusive=array("Category:cat_name","Category:cat2_name");//deny access to these categories for anyone not in the group
 
+
Con la variable $wgGroupDefaultAllow indicamos que el accesso a pagínas sin categorias esta permitido. Uso cuando queramos añadir nuevos
Con la variable $wgGroupDefaultAllow indicamos que el accesso a pagínas sin categorias esta permitido.
+
permisos tendremos que editar el fichero LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) para añadirle las lineas
 
+
correspondientes. Las lineas tienen la siguiente estructura:
Uso
 
 
 
Cuando queramos añadir nuevos permisos tendremos que editar el fichero LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) para añadirle las lineas correspondientes. Las lineas tienen la siguiente estructura:
 
  
 
  $wgGroupPermissions['NOMBRE_GRUPO']['Category:NOMBRE_CATEGORIA_NOMBRE_PERMISO']=VALOR;
 
  $wgGroupPermissions['NOMBRE_GRUPO']['Category:NOMBRE_CATEGORIA_NOMBRE_PERMISO']=VALOR;
  
 
     * NOMBRE_GRUPO: Nombre del grupo alq ue se le quiere dar el permiso indicado para la categoria indicada.
 
     * NOMBRE_GRUPO: Nombre del grupo alq ue se le quiere dar el permiso indicado para la categoria indicada.
     * NOMBRE_CATEGORIA: Nombre de la categoría a la que se le da el permiso indicado para el grupo indicado. Si en vez de Category:NOMBRE_CATEGORIA se pone *, el permiso para el grupo indicado será asignado a todas las categorías.
+
     * NOMBRE_CATEGORIA: Nombre de la categoría a la que se le da el permiso indicado para el grupo indicado. Si en vez de
 +
Category:NOMBRE_CATEGORIA se pone *, el permiso para el grupo indicado será asignado a todas las categorías.
 
     * NOMBRE_PERMISO: read, move, edit, create, ...
 
     * NOMBRE_PERMISO: read, move, edit, create, ...
 
     * VALOR: true o false.
 
     * VALOR: true o false.
  
Ejemplos
+
Ejemplos
  
     * Si queremos tener una categoría de nombre Seguridad_admin en la que el grupo de usuarios de nombre admin tenga permisos de lectura, escritura, movimiento y creación tendremosq ue añadir als siguientes lineas al archivo LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki):
+
     * Si queremos tener una categoría de nombre Seguridad_admin en la que el grupo de usuarios de nombre admin tenga permisos de lectura,
 +
escritura, movimiento y creación tendremosq ue añadir als siguientes lineas al archivo LocalSettings.php (que se encuentra en la raiz de
 +
nuestra mediawiki):
  
 
  $wgGroupPermissions['admin']['Category:Seguridad_admin_read']=true;
 
  $wgGroupPermissions['admin']['Category:Seguridad_admin_read']=true;
Línea 80: Línea 82:
 
  $wgGroupPermissions['admin']['Category:Seguridad_admin_create']=true;
 
  $wgGroupPermissions['admin']['Category:Seguridad_admin_create']=true;
  
    * Damos permiso de lectura para los usuarios del grupo readers para todas las categorias:
+
*Damos permiso de lectura para los usuarios del grupo readers para todas las categorias:
 
 
$wgGroupPermissions['readers']['*_read']=true;
 
 
 
Problemas
 
  
Cuando utilizamos esta extensión nos encontramos con el problema de que a partir de entonces tienes que definir el accesso de todas las categorias que tengas en la wiki. Si no añades los permisos para una categoría, nadie tendrá permisos para ver el contenido de esta. Esto a mi no me gusta mucho porque lo que quería era tener una serie de categorias para los permisos y otras no.
+
$wgGroupPermissions['readers']['*_read']=true;
  
Pero esto no es irremediable. Mi solución es tener una lista de categorías que empiecen por Seguridad_ que serán a las que se le aplicaran los permisos y a las demás no. Para eso tendremos que editar el fichero CategoryPermissions.php (que se encuentra en la carpeta de extensiones de nuestra mediawiki) y añadir al final del bucle las siguientes lineas:
+
Problemas
 +
Cuando utilizamos esta extensión nos encontramos con el problema de que a partir de entonces tienes que definir el accesso de todas las
 +
categorias que tengas en la wiki. Si no añades los permisos para una categoría, nadie tendrá permisos para ver el contenido de esta. Esto a
 +
mi no me gusta mucho porque lo que quería era tener una serie de categorias para los permisos y otras no.
 +
Pero esto no es irremediable. Mi solución es tener una lista de categorías que empiecen por Seguridad_ que serán a las que se le aplicaran
 +
los permisos y a las demás no. Para eso tendremos que editar el fichero CategoryPermissions.php (que se encuentra en la carpeta de
 +
extensiones de nuestra mediawiki) y añadir al final del bucle las siguientes lineas:
  
 
  foreach( $parentCategories as $category=>$dd)
 
  foreach( $parentCategories as $category=>$dd)

Revisión actual del 11:41 30 mar 2011

Pasos

Instalar la wiki

Requerimientos

 S.O.--> Debian Lenny (recomendado)
 PHP5            -->  apt-get install php5
 Apahche2.2      -->  apt-get install apache2
 Mysql           -->  apt-get install mysql-server
 Modulo mysqlphp -->  apt-get install php5-mysql
 phpMyAdmin      --> ponerlo como sitio configurandolo en el apache (Para administrar y probra q mysql ande con php)

Instalacion

 mediawiki          -->  apt-get install mediawiki
 para mandar correo -->  apt-get php-mail php-net-smtp

Configurar la wiki

Cambiar la Imagen

reemplazar la imagen
/var/lib/mediawiki/skins/common/images/wiki.png

En el archivo /var/lib/mediawiki/LocalSettings.php

Tema por defecto
 como la famosa wikipedia
 $wgDefaultSkin = 'monobook';

En el archivo /var/lib/mediawiki/includes/DefaultSettings.php

Para mandar mail de password nuevo

Esto es para poder reestablecer contraseñas olvidadas

$wgEnableEmail = true;
$wgSMTP                         =array(
'host' => "200.16.31.20",
'IDHost' => "domain for MessageID",
'port' => 25,
'auth' => false,
'username' => "wiki@fl.unc.edu.ar",
'password' => "******"
); 
Bloquear ediciones externas
$wgGroupPermissions['*'    ]['read']            = true;
$wgGroupPermissions['*'    ]['edit']            = false;
$wgGroupPermissions['*'    ]['createpage']      = false;
$wgGroupPermissions['*'    ]['createtalk']      = false;
Evitar creacion de nuevas cuentas
$wgGroupPermissions['*'    ]['createaccount']   = false;
Restringir acceso a páginas de mediawiki por grupos
Vamos a utilizar la extension CategoryPermissions [1] para establecer permisos a los artículos de las categorías. De esta manera podemos
restringir el acceso a una página de mediawiki ependiendo de si el usuario pertnece a un grupo o no. Como siempre la última versión 
de como hacerlo esta en mi wiki.
Instalación
Tendremos que añadir el fichero de nombre CategoryPermissions.php a la carpeta extensions de nuestra mediawiki con el contenído que se le
indica aquí.
Una vez hecho esto tendremos que añadir al final del archivo LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) las
siguientes lineas:
require_once("$IP/extensions/CategoryPermissions.php");
$wgGroupDefaultAllow=true; //set to true to allow everyone access to pages without a category
$wgCategoryExclusive=array("Category:cat_name","Category:cat2_name");//deny access to these categories for anyone not in the group
Con la variable $wgGroupDefaultAllow indicamos que el accesso a pagínas sin categorias esta permitido. Uso cuando queramos añadir nuevos
permisos tendremos que editar el fichero LocalSettings.php (que se encuentra en la raiz de nuestra mediawiki) para añadirle las lineas
correspondientes. Las lineas tienen la siguiente estructura:
$wgGroupPermissions['NOMBRE_GRUPO']['Category:NOMBRE_CATEGORIA_NOMBRE_PERMISO']=VALOR;
   * NOMBRE_GRUPO: Nombre del grupo alq ue se le quiere dar el permiso indicado para la categoria indicada.
   * NOMBRE_CATEGORIA: Nombre de la categoría a la que se le da el permiso indicado para el grupo indicado. Si en vez de
Category:NOMBRE_CATEGORIA se pone *, el permiso para el grupo indicado será asignado a todas las categorías.
   * NOMBRE_PERMISO: read, move, edit, create, ...
   * VALOR: true o false.
Ejemplos
   * Si queremos tener una categoría de nombre Seguridad_admin en la que el grupo de usuarios de nombre admin tenga permisos de lectura,
escritura, movimiento y creación tendremosq ue añadir als siguientes lineas al archivo LocalSettings.php (que se encuentra en la raiz de
nuestra mediawiki):
$wgGroupPermissions['admin']['Category:Seguridad_admin_read']=true;
$wgGroupPermissions['admin']['Category:Seguridad_admin_edit']=true;
$wgGroupPermissions['admin']['Category:Seguridad_admin_move']=true;
$wgGroupPermissions['admin']['Category:Seguridad_admin_create']=true;
*Damos permiso de lectura para los usuarios del grupo readers para todas las categorias:
$wgGroupPermissions['readers']['*_read']=true;
Problemas
Cuando utilizamos esta extensión nos encontramos con el problema de que a partir de entonces tienes que definir el accesso de todas las
categorias que tengas en la wiki. Si no añades los permisos para una categoría, nadie tendrá permisos para ver el contenido de esta. Esto a
mi no me gusta mucho porque lo que quería era tener una serie de categorias para los permisos y otras no.
Pero esto no es irremediable. Mi solución es tener una lista de categorías que empiecen por Seguridad_ que serán a las que se le aplicaran
los permisos y a las demás no. Para eso tendremos que editar el fichero CategoryPermissions.php (que se encuentra en la carpeta de
extensiones de nuestra mediawiki) y añadir al final del bucle las siguientes lineas:
foreach( $parentCategories as $category=>$dd)
{
  ...
  if (!ereg("Seguridad_*", $category)) {
     $user_allowed=true;
  }
}//foreach( $parentCategories as $category=>$dd)