Resolviendo “Could not find a top-level course!” en Moodle

En un desarrollo especifico cometi el error de borrar todos los cursos que no pertenecían a los datos que me entregaron, entre esos cursos que borre fue el curso con ID 1, que es el curso maestro de moodle. Esto hizo que apareciera el error

“Could not find a top-level course!”

El que resolvi reinsertando el curso base.

insert into [prefijo_moodle]_course (id, category, sortorder, fullname, shortname, idnumber, summary, summaryformat, format, showgrades, modinfo, newsitems, startdate, numsections, marker, maxbytes, legacyfiles, showreports, visible, visibleold, hiddensections, groupmode, groupmodeforce, defaultgroupingid, lang, theme, timecreated, timemodified, requested, restrictmodules, enablecompletion, completionstartonenrol, completionnotify)
Value
( 1, 0, 1, 'moodle', 'moodle', '', '', 0, 'site', 1, 'a:0:{}', 3, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 0, 0);
Publicado en Desarrollo, Moodle, Web

Problemas con las ñ y tildes en Oracle + PHP + Moodle

Si ya configuraste el instant client de oracle para que puedas accesar con PHP a la base de datos, y tienes problemas con las ñ o tildes, fijate si en las variables de entorno puedes ubicar la variable

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Con esto la extracción de datos a pantalla se tiene que si aparecen las ñ y tilde

Publicado en Base de Datos, Desarrollo, Linux, Moodle, Oracle

Redireccionamiento a través de HTML

La forma más burda de redireccionar un directorio de la web (o ruta) hacia otra web es a través de una pagina index.html con una etiqueta meta

<meta http-equiv="REFRESH" content="0; url=https://gonzalo.aro.cl/blog" />
Publicado en Desarrollo

ORA-24408 Error de conexion a Oracle desde Moodle

En una configuracion dond participan 7 servidores moodle apuntando a la misma base de datos Oracle 11g se produjo el siguiente error

Debug info: ORA-24408: could not generate unique server group name
Error code: dbconnectionfailed
Stack trace:

line 205 of /lib/dml/oci_native_moodle_database.php: dml_connection_exception thrown
line 344 of /lib/dmllib.php: call to oci_native_moodle_database->connect()
line 476 of /lib/setup.php: call to setup_DB()
line 31 of /config.php: call to require_once()
line 31 of /index.php: call to require_once()

Esto se debe a que el nombre del host esta mal configurado o lo resuelve mal. Por lo que si editas el achivo /etc/sysconfig/network

[root@servername mnt]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=servername

Debe ser igual al configurado en /etc/hosts, aqui yo convenientemente introduzco el servername en primer lugar, para que sea lo primero en reconocer.

127.0.0.1   servername  localhost localhost.localdomain 
::1         servername  localhost localhost.localdomain 
Publicado en Base de Datos, CEntOS, Desarrollo, Linux, Moodle, Oracle, PHP

Montar una carpeta compartida de Windows en Linux

Cuando la necesidad de compartir carpetas entre distintos sistemas operativos aparece hay que crear primero el montaje y luego asegurarse que ante un reinicio esto continúe igual.

En nuestro caso, por una necesidad especifica de que una aplicacion en Linux guarde información en un fleserver en windows, secrea la necesidad de montar en linux esta carpeta.

El proceso es más o menos así:

Se crea la carpeta compartida
Se monta
Se agrega al /etc/fstab para que al reinicio se conecte, sin necesidad de montarla manualmente

En comandos linux se traduciría

mkdir -p /mnt/carpetaWindows
mount -t cifs //servidorWindows/carpetaDisponibilizada -o username=usuario_con_permiso,password=clave_del_usuario,file_mode=0664,dir_mode=0777 /mnt/carpetaWindows

Y en el archivo /etc/fstab incluir

//servidorWindows/carpetaDisponibilizada /mnt/carpetaWindows cifs username=usuario_con_permiso,password=clave_del_usuario,file_mode=0664,dir_mode=0777
Publicado en CEntOS, Desarrollo, Linux, Slax, Solaris, Unix

Ejecutando comando remoto en Linux

Cuando tienes la necesidad de ejecutar un comando en otro servidor, puedes hacerlo a traves del comando SSH de la siguiente forma.

ssh usuario@nombre_host_o_ip comando

Ahora si quieres ejecutar algo remoto a través de un script, debes hacerlo pero intercambiando las claves públicas de los dos servidores

Publicado en CEntOS, Desarrollo, Linux, Slax, Solaris, Unix