miércoles, 23 de abril de 2014

Habilitar reCAPTCHA

Para habilitar la opción de CAPTCHA seguir los siguientes pasos:
  1. Visitar http://www.google.com/recaptcha/intro/index.html, registrar el dominio (por ejemplo, http://misitio.com) y obtener un par de claves (pública y privada).
  2. En nuestra plataforma Moodle, ir a Administración del sitio >> Usuarios >> Autenticación >> Gestionar autenticación (en la parte inferior en la página web) y llenar los campos "Clave pública ReCAPTCHA" y "Clave privada ReCAPTCHA" con las claves obtenidas en el paso 1.
  3. Ir a Administración del sitio >> Usuarios >> Autenticación >> Autenticación basada en Email, y en "Habilitar elemento de reCAPTCHA" elegir la opción "Sí".
  4. Para que este mecanismo funcione se requiere la extensión de PHP cURL instalada. Para averiguar si nuestro servidor posee esta extensión instalada podemos hacerlo desde Administración del sitio >> Servidor >> Entorno

Recordar "Guardar" las opciones modificadas en nuestra plataforma Moodle para que tomen efecto.

Links

martes, 5 de febrero de 2013

Linux Rescue: montar particiones RAID

Por distintas razones de fallas es posible que sea necesario utilizar Linux Rescue.

Motivo concreto
En este caso en particular el disco que tiene el Grub 2 no está siendo detectado por la BIOS al reiniciarse el servidor, aún estando la BIOS configurada para que reintente el booteo.
Los reiterados cortes de energía eléctrica han producido este estado de arranque demasiado tardío como para que la BIOS lo detecte al disco y sea utilizado para cargar el Grub 2, y así poder arrancar el sistema operativo.

Solución propuesta
Para resolver este inconveniente procederemos a instalar otro disco duro que sí es detectado, y allí instalaremos el Grub 2 del disco con problemas de arranque.

Desarrollo
Tenemos la siguiente configuración en un GNU/Linux Centos 6.3
  • /dev/sda  de 500,1 GB
    • /dev/sda1 (314 MB)  => /boot (ext4)
    • /dev/sda2 (16,8 GB)  => swap (swap)
    • /dev/sda3 (483,0 GB)  => /backup (ext4)
  • /dev/md0 1000,2 GB en RAID 1
    • /dev/sdb1  1000,2 GB y 
    • /dev/sdc1  1000,2 GB.
  • /dev/sdd1 82,3 GB (este es el disco que agregamos para copiar el Grub 2 aquí)

Pasos
  1. Bootear desde un CD de instalación de Centos 5.4 o superior, iniciar en Modo Rescate (Linux Rescue).
  2. Crear el archivo /etc/mdadm.conf y en su interior colocar 
    1. DEVICE /dev/sd[bc]1
    2. guardar y salir.
  3. # mdadmin --examine --scan >> /etc/mdadmin.conf
    1. # cat /etc/mdadm.conf
    2. # cat /proc/mdstat
  4. # mdadmin --assemble --scan /dev/md/0  (ensambla los dispositivos del raid)
    1. # mdadmin --detail /dev/md/0
  5. # mkdir /mnt/sysimage
  6. # mount /dev/md/0 /mnt/sysimage
  7. # mount -o bind /dev /mnt/sysimage/dev
  8. # mount -o bind /proc /mnt/sysimage/proc
  9. # mount -o bind /sys /mnt/sysimage/sys
  10. # chroot /mnt/sysimage
  11. # mount /dev/sdd1 /boot
  12. # grub-install /dev/sdd
  13. Y agregamos el Grub 2 también al dispositivo /dev/sda1
    1. # umount /dev/sdd1
    2. # mount /dev/sda1
    3. # grub-install /dev/sda
  14. Finalmente, en la BIOS colocamos como disco de booteo al disco de 82,3 GB (/dev/sdd).

Tip
  • En caso de utilizar un CD de rescate inferior a la versión 5.4 de Centos, al intentar montar el raid arroja el siguiente error: "Disk /dev/md0 doesn't contain a valid partition table". Por lo tanto, utilizar un CD de rescate lo más actualizado posible a la versión ya instalada.

Link



jueves, 13 de septiembre de 2012

Elevar el Número Máximo de Semanas o Temas de Moodle

Cuando configuramos un curso, en los Ajustes generales podemos definir el Número de semanas o temas. Por defecto, este número tiene un rango de 1 a 52.

Para elevar aún más el número de semanas o temas, por ejemplo a 74, es necesario editar el archivo ../course/edit_form.php (en versiones 1.8 y superiores), buscar el siguiente trozo de código php:

for ($i=1; $i<=52; $i++) {
$sectionmenu[$i] = “$i”;
}

y sustituir el 52 por el número deseado, en este caso por 74.


Links

martes, 13 de marzo de 2012

Problemas de Visualización de un Curso

En raras ocasiones sucede que no es posible visualizar el curso correctamente y al intentar editar o eliminar el recurso no es posible.

Trataremos el caso en el que no es posible editar, o no se visualiza la opción de eliminar de una sección del curso. Cualquiera sea el caso perdemos control de edición sobre un recurso particular.

Dado que se pierde control sobre la edición del recurso, es por ello que no puede un profesor o administrador resolver el inconveniente desde Moodle mismo.
Este inconveniente se soluciona desde la base de datos MySql que utilice nuestro Moodle, particularmente lo resuelvo desde PhpMyAdmin.

Por ejemplo, para el curso RPA que tiene ID=1158, la consulta SQL es:

SELECT * FROM `mdl_course_sections` WHERE `course`=1158

En el resultado de la consulta debemos identificar el recurso particular que origina el inconveniente y dejar vacío el dato del campo "summary".

En gral. el recurso que causa el inconveniente tiene en el campo "summary" valores html incorrectos. Por ello se produce el error, al cortar y pegar comunmente.

TIP: si es posible, dejar sólo no visible el recurso que causa inconvenientes desde Moodle y cuando obtenemos el resultado de la consulta SQL ver el campo "visible" que estará a 0. De esta manera identificaremos rápidamente el recurso para vaciar su dato del campo "summary".

De foma análoga, resolveremos el inconveniente si el problema lo presenta una etiqueta u otro recurso. Deberemos ir a la tabla de nuestra bases de datos correspondiente, por ejemplo: mdl_label, o la que corresponda al recurso y proceder de la forma arriba descripta para un sector.

sábado, 10 de septiembre de 2011

Crear un tutorial

Para crear un tutorial o presentación se pueden utilizar recordMyDesktop o Wink[1]. En esta ocación indicaremos cómo instalar Wink en Ubuntu Desktop 10.04 Lucid.

Descargar Wink[2]

mkdir wink
cd wink
wget http://www.digital2b.com/mirror_wink/wink15.tar.gz
tar zxvf wink15.tar.gz
tar zxvf installdata.tar.gz

Ejecutar Wink:
./wink
./wink: error while loading shared libraries: libstdc++.so.5: cannot open shared

Para instalar esa librería, ya que en los repositorios se encuentra libstdc++ versión 6, y no la 5.
Descargar libstdc++5 desde [3]
sudo dpkg -i libstdc++5_3.3.6-21ubuntu1_i386.deb
./wink
./wink: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

Para subsanar este último inconveniente:
sudo find / -name libexpat.so.*
sudo ln -s /lib/libexpat.so.1.5.2 /usr/lib/libexpat.so.0

Finalmente, ejecutar wink y comenzar a utilizarlo.
./wink


Links

martes, 23 de agosto de 2011

MySQL: Base de Datos con Tabla(s) Corrupta/Inconsistente

Las tres etapas que seguí para hallar el problema de una tabla corrupta, son los siguientes:
  1. Síntomas
  2. Detección
  3. Resolución
La siguiente figura[4] muestra todo el proceso:


Síntomas
  • uso intensivo de la(s) CPU(s),
  • no es posible realizar un backup de una base de datos mediante el comando mysqldump.
  • ningún usuario se puede logear en Moodle, y se muestra el mensaje: "Could not create guest user record !!!"
  • mensaje de error por email:
" Insert into log table failed at Tuesday 06th of September 2011 06:19:40 PM.
It is possible that your disk is full.

The failed SQL is:

INSERT INTO mdl_log (time, userid, course, ip, module, cmid, action, url, info)
VALUES ('1315343980', '31', '0', '190.173.227.212', 'login', '0', 'error', 'index.php', 'usuario') "

En caso de estar corrupta la tabla mdl_users, los síntomas son varios y en alguno cursos puede suceder:
  • Muestra que "no hay Usuarios en línea" ya sea en la portada de Moodle o dentro de los cursos que tengan tal bloque html
  • En el listado de Participantes, no se muestra ninguno (con el filtro de rol: todos).
  • A la hora de agregar manualmente un estudiante, bloque administración del curso -> Asignar roles, no es posible ya que no se puede buscar ni si quiera en los usuarios potenciales.
  • Desaparecen las respuestas en los foros [8].


Resolución
Antes de comenzar con la etapa de Resolución
Ingresar como administrador en Moodle y en el bloque de Administración habilitar el "Modo de mantenimiento" (Servidor -> Modo de mantenimiento).


Opción1: Línea de comandos
El comando "mysqlcheck"[1] trabaja con el motor de base de datos MySql en ejecución. Es decir, NO es necesario detener el servicio de MySql, de hecho debe estar ejecutándose.

Otro modo de resolver este inconveniente
Es utilizar el comando "myisamchk"[2, 3], sin embargo, en esta ocación se requiere detener el servicio de MySql.


Opción2: MySQL Admin/PHPMyAdmin [6, 7]
En la sección de la base de datos, seleccionar la BD de Moodle.
Click el tab SQL, y en "Run SQL query/queries on database moodle" escribir REPAIR TABLE mdl_tablename
Click en el botón Go.
Por ejemplo, para reparar la tabla de logs, escribir REPAIR TABLE mdl_log

De manera similar, para verificar la tabla de logs de Moodle, escribir CHECK TABLE mdl_log.
Ésto nos indicará su estado OK o si algo está mal, por ejemplo, podría decir "Table marked as crashed".



Adicionalmente, si tenemos replicada nuestra base de datos[5], este problema de tabla corrupta detendrá el proceso de sincronización, y requerirá volver a poner a punto la sincronización entre servidores manulamente.


miércoles, 1 de junio de 2011

Editar el Mensaje de Registro de Usuario

En tu plataforma Moodle puedes editar el mensaje de "Registrase como usuario" a conveniencia:


Para ello, debes ir al bloque de Administración->Usuarios->Gestionar Autenticación y en el campo de Instrucciones puedes ingresar el texto más conveniente para tu Moodle.

Allí también, puedes configurar los modos de autenticación de usuarios de Moodle.
Por ejemplo, si tienes habilitado el modo "Autenticación basada en Emal", la plataforma te agregará el botón de "Comience ahora creando una cuenta".