Archive
Sugar Camp Lima 2011
Escribo este artículo solo porque me doy cuenta que por ahora es muy difícil todavía encontrar información sobre el evento relacionado a la imagen (= el software) que se encuentra en las XO, las portátiles del proyecto One Laptop Per Child (Una Laptop Para Cada Niño, o OLPC) que se está organizando para los 18 y 19 de Noviembre 2011.
Entonces las respuestas a las preguntas más comunes son:
- Qué es? : Se trata de un evento durante el cual se harán la mayor cantidad posible de esfuerzos para generar una imagen software y varias guías para poner en las pequeñas laptops verdes. Esta imagen trae muchas mejoras que hará que los niños puedan (1) usar su laptop más tiempo (ahorra la energía mejor), (2) tener más recursos didácticos en Español y quizás en Quechua y Aymara, también en zonas sin conectividad a Internet, (3) usar su laptop con más tranquilidad, ya que una gran cantidad de problemas técnicos han sido resueltos, (4) conocer más sobre la ciudadanía, la nutrición y una serie de temas que son relevantes para los niños de todos orígenes
- Donde? : Se producirá en el Escuelab, que es un lugar de intercambio en el centro de Lima, a 200 pasos del centro de la plaza San Martin
- Cuando?: Los días 18 (en la noche) y 19 (todo el día) de Noviembre del 2011
- Quienes irán?: Ya tenemos confirmada la presencia de una cantidad importante de actores de áreas de software libre, de tecnologías, de defensa de la ciudadanía digital y del gobierno, así como personas que tienen esta increible oportunidad de conocer el Quechua o el Aymara. Pero lo más importante es que Usted, quien está sensibilizado a este gran problema de la educación infantil en Perú, esté presente para tomar contacto con nosotros y ayudarnos en este gran esfuerzo.
El Gobierno no tiene la responsabilidad de hacer estas cosas. Nosotros como ciudadanos elegimos el Gobierno, nosotros tenemos que mostrarle lo que esperamos de el. Ven y ayúdanos a mostrárselo!
BeezNest estará presente y apoyará como pueda en el evento, a través de su conocimiento y de su ánimo.
Instalar Chamilo en una XO 1.0
Revolucionando el modelo de distribución de contenido pedagógico en zonas rurales de paises en desarrollo…
Este artículo sigue mi previo artículo sobre la XO y un intento para instalar Chamilo como servidor, intento que falló por falta de RAM. El objetivo aquí es de permitir a otros, a partir de este procedimiento, de instalar por completo un servidor de Chamilo (a la excepción de la videoconferencia y del convertidor de PowerPoint en lecciones) para permitir su uso con otras XO en un salón de clase sin conectividad a internet.
La idea es que el aporte en salón de clase permita introducir una noción de e-learning colaborativo y a distancia en un pueblo, y la acumulación de recursos educativos (y su posible re-uso a partir de cursos elaborados por el ministerio de educación, descargables desde una cabina internet e instalables en una versión local de Chamilo). Faltan unos pasos todavía en este procedimiento general, pero en la medida de lo posible esta guía debería eliminar unas barreras comunes en el montaje de la plataforma.
El cambio de modelo de distribución de contenido pedagógico que este pequeño paso implica tiene un impacto posiblemente gigantesco para los 2 próximos años.
Paso 0: Conectarse a internet
Para todo lo que sigue, se supone que la XO estará conectada a internet por un buen tiempo. Si no tiene la posibilidad de mantenerla conectada, aguarde este procedimiento hasta tener esta oportunidad, sino podría tener que dejar el procedimiento en el medio, lo que podría dañar su sistema.
Paso 1: actualizar la XO (opcional)
Si tiene una XO que fecha un poco, vale la pena actualizarla. Se puede actualizar la XO a partir del sitio de OLPC, siguiendo el procedimiento explicado aquí:
http://wiki.laptop.org/go/Olpc-update#Simple_online_update
y en particular para la versión de Julio de 2011, el procedimiento exacto aquí:
http://wiki.laptop.org/go/Release_notes/11.2.0#XO-1_2
. Se planifica una nueva versión para Noviembre 2011. A este momento, será necesario consultar la página siguiente:
http://wiki.laptop.org/go/Releases
para saber cual es la última versión.
En esta explicación, me basaré en un sistema de Julio 2011.
Paso 2: actualizar la base de aplicaciones disponibles para el sistema operativo
Una vez instalada la actualización, será necesario actualizar la base de aplicativos disponibles en total libertad para instalar en su XO. Para esto, usaremos un comando propio al sistema operativo (en base a Linux RedHat), pero primero tenemos que conectarnos como se debe.
En la laptop, presione simultáneamente las teclas CTRL + ALT + F3 (o el tercer botón a partir de arriba a la izquierda en el teclado, el que normalmente da la vista de redes inalámbricas disponibles alrededor). Esto les dará una vista terminal. Se puede regresar a la vista gráfica en cualquier momento presionando CTRL + ALT + F5 (o el quinto botón a partir de la izquierda). Si en cualquier momento se siente perdido, puede apagar la laptop para después reiniciarla, presionando y manteniendo el podón de encendido/apagado por más de 5 segundos.
Una vez en el terminal, lanzar los comandos siguientes:
-bash-3.2# su
bash-3.2#
Note la diferencia entre las dos líneas… cuando no haya un prefijo “-”, significa que está en modo administrador. Por lo tanto, puede hacer cosas peligrosas para el sistema. Para salir de este modo, simplemente entrar el comando “exit” seguido de la tecla “enter”. Siga bien las instrucciones siguientes para no hacer nada daniño para su XO.
bash-3.2# yum update
Aparecerán progresivamente unas líneas como sigue:
updates-newkey | 3.4 kB 00:00
8b20a393f4caa93598f1148bc171d320b45c1814-primary.sqlite. | 4.4 MB 04:26
fedora | 2.4 kB 00:00
primary.sqlite.bz2 | 6.1 MB 01:40
olpc_development | 1.9 kB 00:00
primary.sqlite.bz2 | 565 kB 00:11
olpc-joyride | 951 B 00:00
primary.xml.gz | 82 kB 00:03
olpc-joyride 325/325
updates | 2.6 kB 00:00
primary.sqlite.bz2 | 9.1 kB 00:00
Excluding Packages from Fedora 9 – i386 – Updates Newkey
Finished
Excluding Packages from Fedora 9 – i386
Finished
Excluding Packages from OLPC Development repo based off of Fedora 9
Finished
Excluding Packages from Fedora 9 – i386 – Updates
Finished
Setting up Update Process
Resolving Dependencies
–> Running transaction check
–> Processing Dependency: NetworkManager >= 0.6.5 for package: olpc-update
—> Package NetworkManager-glib.i386 1:0.7.1-1.fc9 set to be updated
–> Processing Dependency: NetworkManager = 1:0.7.1-1.fc9 for package: NetworkManager-glib
–> Finished Dependency Resolution
1:NetworkManager-glib-0.7.1-1.fc9.i386 from updates-newkey has depsolving problems
–> Missing Dependency: NetworkManager = 1:0.7.1-1.fc9 is needed by package 1:NetworkManager-glib-0.7.1-1.fc9.i386 (updates-newkey)
olpc-update-2.18-1.noarch from installed has depsolving problems
–> Missing Dependency: NetworkManager >= 0.6.5 is needed by package olpc-update-2.18-1.noarch (installed)
Error: Missing Dependency: NetworkManager = 1:0.7.1-1.fc9 is needed by package 1:NetworkManager-glib-0.7.1-1.fc9.i386 (updates-newkey)
Error: Missing Dependency: NetworkManager >= 0.6.5 is needed by package olpc-update-2.18-1.noarch (installed)
Dejelo acabar tránquilamente (puede tomar un cierto tiempo).
Paso 3: Instalar el software necesario
Una vez recupere la mano (línea con cursor cuadrado cintillando), entre los comandos siguientes:
bash-3.2# yum install nginx mysql-server mysql php php-mysql php-common php-gd php-mbstring
Esto les dará un resultado largote como el siguiente, al fin del cual se les preguntará si están de acuerdo con descargar algo de 29M (les había dicho: es necesario tener una conexión internet por un rato). indicar que sí, presionando “y”.
Excluding Packages from Fedora 9 – i386 – Updates Newkey
Finished
Excluding Packages from Fedora 9 – i386
Finished
Excluding Packages from OLPC Development repo based off of Fedora 9
Finished
Excluding Packages from Fedora 9 – i386 – Updates
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package mysql-server.i386 0:5.0.77-1.fc9 set to be updated
–> Processing Dependency: perl-DBD-MySQL for package: mysql-server
–> Processing Dependency: perl(POSIX) for package: mysql-server
–> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15) for package: mysql-server
–> Processing Dependency: perl(warnings) for package: mysql-server
–> Processing Dependency: perl(Data::Dumper) for package: mysql-server
–> Processing Dependency: perl(strict) for package: mysql-server
–> Processing Dependency: perl(Sys::Hostname) for package: mysql-server
–> Processing Dependency: perl(File::Path) for package: mysql-server
–> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15) for package: mysql-server
–> Processing Dependency: perl-DBI for package: mysql-server
–> Processing Dependency: perl(Getopt::Long) for package: mysql-server
–> Processing Dependency: perl(vars) for package: mysql-server
–> Processing Dependency: perl(File::Copy) for package: mysql-server
–> Processing Dependency: /usr/bin/perl for package: mysql-server
–> Processing Dependency: perl(File::Temp) for package: mysql-server
–> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
–> Processing Dependency: perl(DBI) for package: mysql-server
–> Processing Dependency: perl(File::Basename) for package: mysql-server
–> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
—> Package mysql.i386 0:5.0.77-1.fc9 set to be updated
—> Package nginx.i386 0:0.6.36-1.fc9 set to be updated
–> Processing Dependency: libperl.so for package: nginx
—> Package php-mysql.i386 0:5.2.9-2.fc9 set to be updated
–> Processing Dependency: php-pdo for package: php-mysql
—> Package php-common.i386 0:5.2.9-2.fc9 set to be updated
–> Running transaction check
—> Package perl.i386 4:5.10.0-68.fc9 set to be updated
–> Processing Dependency: perl(Module::Pluggable) for package: perl
–> Processing Dependency: perl(version) for package: perl
–> Processing Dependency: perl(Pod::Simple) for package: perl
—> Package perl-DBD-MySQL.i386 0:4.005-8.fc9 set to be updated
—> Package perl-libs.i386 4:5.10.0-68.fc9 set to be updated
—> Package php-pdo.i386 0:5.2.9-2.fc9 set to be updated
—> Package perl-DBI.i386 0:1.607-1.fc9 set to be updated
—> Package mysql-libs.i386 0:5.0.77-1.fc9 set to be updated
–> Running transaction check
—> Package perl-Pod-Simple.i386 1:3.07-68.fc9 set to be updated
–> Processing Dependency: perl(Pod::Escapes) >= 1.03 for package: perl-Pod-Simple
—> Package perl-Module-Pluggable.i386 1:3.60-68.fc9 set to be updated
—> Package perl-version.i386 3:0.74-68.fc9 set to be updated
–> Running transaction check
—> Package perl-Pod-Escapes.i386 1:1.04-68.fc9 set to be updated
–> Finished Dependency ResolutionDependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mysql i386 5.0.77-1.fc9 updates-newkey 3.3 M
mysql-server i386 5.0.77-1.fc9 updates-newkey 9.8 M
nginx i386 0.6.36-1.fc9 updates-newkey 328 k
php-common i386 5.2.9-2.fc9 updates-newkey 238 k
php-mysql i386 5.2.9-2.fc9 updates-newkey 81 k
Installing for dependencies:
mysql-libs i386 5.0.77-1.fc9 updates-newkey 1.5 M
perl i386 4:5.10.0-68.fc9 updates-newkey 11 M
perl-DBD-MySQL i386 4.005-8.fc9 fedora 165 k
perl-DBI i386 1.607-1.fc9 updates-newkey 776 k
perl-Module-Pluggable i386 1:3.60-68.fc9 updates-newkey 29 k
perl-Pod-Escapes i386 1:1.04-68.fc9 updates-newkey 23 k
perl-Pod-Simple i386 1:3.07-68.fc9 updates-newkey 196 k
perl-libs i386 4:5.10.0-68.fc9 updates-newkey 904 k
perl-version i386 3:0.74-68.fc9 updates-newkey 33 k
php-pdo i386 5.2.9-2.fc9 updates-newkey 63 kTransaction Summary
================================================================================
Install 15 Package(s)
Update 0 Package(s)
Remove 0 Package(s)Total download size: 29 M
Is this ok [y/N]: y
Esto les dará ya otra pantalla de descarga como esta:
Downloading Packages:
(1/15): perl-Pod-Escapes-1.04-68.fc9.i386.rpm | 23 kB 00:03
(2/15): perl-Module-Pluggable-3.60-68.fc9.i386.rpm | 29 kB 00:02
(3/15): perl-version-0.74-68.fc9.i386.rpm | 33 kB 00:02
(4/15): php-pdo-5.2.9-2.fc9.i386.rpm | 63 kB 00:02
(5/15): php-mysql-5.2.9-2.fc9.i386.rpm | 81 kB 00:03
(6/15): perl-DBD-MySQL-4.005-8.fc9.i386.rpm | 165 kB 00:09
(7/15): perl-Pod-Simple-3.07-68.fc9.i386.rpm | 196 kB 00:30
(8/15): php-common-5.2.9-2.fc9.i386.rpm | 238 kB 00:52
Es probable que el sistema le pide confirmación varias veces. Es muy probable que no haya ningun riesgo mayor en validar esta pedidas de seguridad. En realidad, existe un riesgo pero es muy poco probable que alguien esté destinando algo malicioso para las XO, por lo tanto y por enfoque a la sencillez ante todo, ignoramos este paso.
Ahora queremos descargar Chamilo, pero no cualquier versión de Chamilo. Queremos una versión disminuida con solo los idiomas Inglés, Español, Francés, Brasilenio y Quechua. Por lo tanto podemos lanzar el comando siguiente:
wget http://chamilo.googlecode.com/files/chamilo-1.8.8.4-mini.tar.gz
Si la última versión de Chamilo es distinta de la 1.8.8.4, puede averiguar la URL correcta desde la lista de paquetes aquí:
http://code.google.com/p/chamilo/downloads/list
Una vez todos estos elementos mencionados así como esta guía han sido descargados, ya puede desconectar la conección internet: no debería ser necesaria a partir de este punto.
Paso 4: Determinar el nombre de su portal
Para que sus alumnos luego puedan conectarse a Chamilo a través de la interconexión de las XO, necesitan tener un nombre específico al cual tendrán que apuntar sus navegadores (estamos viendo la posibilidad con Sebastián Silva de crear una “Aplicación Chamilo” que permita quitar este requerimiento, pero todavía no está).
Por lo tanto, tiene que decidir de un nombre parecido a una URL en el cual su Chamilo va a estar disponible. Recomendamos, si es que su institución tiene un nombre de dominio, de usar este. Por ejemplo, para un colegio imaginario “Las palomitas” que tendría como dominio “www.palomitas.edu.pe”, usaríamos “aula1.palomitas.edu.pe”. Por ahora no parece ser muy importante, pero si a futuro su portal se vuelve más usado, podría ser muy práctico haber pensado en algo así en el etapa de instalación.
Paso 5: Configurar la base de datos
MySQL es un sistema ligero si uno usa las mediciones comunes en sistemas, pero cuando se trata de instalarlo en una XO, suele ser una buena idea bajar sus requerimientos para que su uso de memoria no sea tan alto, porque la memoria en una XO 1.0 es realmente un recurso escaso.
Aquí debería aprender a usar VI para poder hacer un buen trabajo, pero tratemos de explicarlo en unos pasos simples:
bash-3.2# vi /etc/my.cnf
posicionar el cursos sobre la línea después de “old_passwords=1″
teclar la letra “i”
copiar las siguientes líneas hasta “skip networking”
query_cache_limit = 1M
query_cache_size = 4M
key_buffer = 1M
max_allowed_packet = 8M
thread_stack = 2K
thread_cache_size = 16
tmp_table_size = 2M
max_heap_table_size = 1M
sort_buffer_size = 2M
;The following two settings prevent MySQL from booting. Hence disabled.
;table_open_cache = 16
;table_definition_cache = 64
read_buffer_size = 128
max_connections = 64
key_buffer_size = 4M
skip-innodb
skip_networkingahora presionar succesivamente: “escape” (la tecla más arriba a la derecha), “:”, “wq”, “enter”.
Esto debería haberles devuelto al terminal
bash-3.2# /etc/init.d/mysql start
Ahora tenemos una base de datos MySQL funcionando. Es tiempo de definir nuestro portal de Chamilo.
Paso 6: Configurar el servidor web
Como hemos descargado Chamilo desde la carpeta actual, deberíamos ahora encontrarnos en /home/olpc/. Para verificarlo:
bash-3.2# pwd
Ahí debería tener la mini versión de Chamilo. Para verificarlo:
bash-3.2# ls
Esto debería darme una lista de ficheros. Uno de ellos se llama “chamilo-1.8.8.4-mini.tar.gz”. Es tiempo de descomprimirlo.
bash-3.2# tar zxf chamilo*
bash-3.2# mv chamilo-1.8.8.4-mini chamilo
bash-3.2# chmod -R 0777 chamilo
Si ya no va a necesitar el paquete de Chamilo para ninguna otra cosa, puede eliminarlo para recuperar el espacio usado.
bash-3.2# rm chamilo-1.8.8.4-mini.tar.gz
Ahora tenemos una carpeta que se llama “chamilo”, y se encuentra en /home/olpc/. Por lo tanto, sabemos (porque lo necesitaremos ahora) que la instalación de Chamilo se encuentra en /home/olpc/chamilo/.
Ahora pasemos a la configuración de nginx, nuestro servidor web. Esto se hace en dos pasos: (1) asegurar que el servidor web funcione con páginas HTML simples, y (2) hacerlo funcionar con el lenguaje PHP que permite a Chamilo funcionar.
bash-3.2# vi /etc/nginx/conf.d/virtual.conf
ponga lo siguiente, como contenido del ficher (puede insertarlo después de las 3 primeras líneas de comentario poniendo el curso en la 4ta línea y presionando “i”. Use el nombre de su colegio en lugar de “palomitas” en la línea que dice “server_name”.
server {
listen 80;
server_name localhost aula1.palomitas.edu.pe;
root /home/olpc/chamilo/;
index index.php index.html;
location / {
client_max_body_size 20M;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
expires 5m;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/olpc/chamilo$fastcgi_script_name;
}
}ahora presionar succesivamente: “escape” (la tecla más arriba a la derecha), “:”, “wq”, “enter”.
En la línea de comando, entrar:
bash-3.2# /etc/init.d/nginx start
para iniciar al servidor web.
Desde ahora debería poder ver una página de Chamilo desde la aplicación de navegador de su XO. Presione CTRL + ALT + F5 (la quinta tecla arriba del teclado) para regresar en modo visual. Ahí, vaya a su aplicación de navegador (browser) e indique la URL siguiente: http://localhost/documentation/index.html. Debería ver la página de inicio de la documentación de instalación y versiones de Chamilo. Todo conforme? Pase al etapa siguiente…
Presione CTRL + ALT + F3 para regresar al modo terminal, donde lo habíamos dejado.
bash-3.# php-cgi -b 127.0.0.1:9000 -c /etc/php.ini &
Este método de inicio de php no es muy elegante, porque no sobrevivirá una alta carga ni un re-inicio de la máquina, pero hasta mejorar el proceso, será suficiente. Esta última línea tendrá que ser lanzada a cada vez que reinicie su XO, o si el servidor responde “Bad gateway” en algún momento.
Finalmente, y para simplificar todo lo que sigue, edita el fichero /etc/hosts y defina ahí el nombre que usará para su portal:
bash-3.2# vi /etc/hosts
añadir la línea siguiente cambiando el nombre por el que usará
127.0.0.1 aula1.palomitas.edu.pe
salga guardando (“escape” + “:wq” + “enter”)
Ya está para la infraestructura del sistema. Ahora pasemos a instalar Chamilo.
Paso 7: Instalar Chamilo
En los pasos anteriores, se tomó un atajo de simplificación: usaremos el usuario de base de datos “root”. Es fácil cambiar esto antes de instalar Chamilo, pero no *tan* fácil como para detallarlo aquí en unas líneas.
Regrese a la pantalla gráfica con CTRL + ALT + F5. En el navegador, entre: http://aula1.palomitas.edu.pe/ y Enter
Debería aparecer la página del instalador de Chamilo. Básicamente tiene que validar todo y seguir las instrucciones. Las únicas cosas que debe modificar (frente a lo propuesto por defecto en el paso 5 de 6) son:
- cambiar la dirección del portal (probablemente esté proponiendo http://localhost/, pongale http://aula1.palomitas.edu.pe/ o lo que corresponde para usted)
- cambiar la contraseña (pongale algo más fácil de recordar y más personal)
- cambiar la opción “Permitir que los propios usuarios puedan registrarse como creadores de cursos” a “No”
Todo lo demás solo tiene que leer y dar clic en “siguiente”.
Paso 8: Aprovechar
Desde ahora en adelante, el único paso que se tiene que repetir para iniciar el portal son los 2 comandos siguiente en el terminal:
bash-3.2# su
bash-3.2# php-cgi -b 127.0.0.1:9000 -c /etc/php.ini &
Para que sus alumnos puedan aprovechar del portal, tendrá (hasta que desarrollemos una “aplicación Chamilo”) que configurar cada una de las XO para que vinculen el nombre aula1.palomitas.edu.pe con su dirección IP. Para esto, tendrá que identificar su propia dirección en un terminal con el comando /sbin/ifconfig, y de ahí extraer la primera dirección de la línea “inet addr” en la sección “eth0″. Si su dirección es 10.42.43.81, tendrá que añadir la siguiente línea en la XO de los niños:
10.42.43.81 aula1.palominas.edu.pe
De ahí, solo necesitarán cargar http://aula1.palominas.edu.pe en su navegador para poder acceder al aula virtual.
Este artículo será continuado… para que podamos llegar algun día a esto pero con el aporte adicional de un Chamilo con recursos del ministerio de educación respectivo:
Actualización sobre proyecto Chamilo + OLPC
Hacen 26 meses, el proyecto OLPC (a través del apoyo de Sebastían Silva) me hizo el gran honor de aceptar el proyecto D0keos + OLPC oficialmente y de prestarnos 9 XO para un periodo de 24 meses. En esta época, yo era fundador y dueño de la empresa D0keos Latinoamérica. Los objetivos del proyecto eran:
- asegurar la compatibilidad del LMS con las XO
- implementar una manera de instalar el LMS en una de las XO como servidor
- difundir el proyecto OLPC en nuestros eventos
En este largo tiempo (que ha pasado muy rápidamente), han ocurrido muchas cosas, de las cuales les voy haciendo un resumen aquí de forma cronológica
- Junio 2009: recepción de 9 laptops (2 completamente rotas por DHL Perú) y presentación del proyecto OLPC durante el evento D0keos Users Days que organizamos en Lima, con asistencia de 180 profesionales de educación
- entre Junio 2009 y Diciembre 2009: adecuación de los estilos gráficos por defecto de D0keos a la medida de la pantalla de la XO. De viaje a Colombia, un grupo local de OLPC me invita a exponer en uno de los eventos a los cuales participan.
- Enero 2010: siguiendo una serie de eventos trágicos en la organización y comunicación en la comunidad de D0keos, lidero el esfuerzo de formación de un nuevo proyecto que no esté impedido de funcionar por barreras comerciales o por sentidos morales traviesos. Nace Chamilo, que colecta una gran mayoría (alrededor de 90%) de los integrantes activos de D0keos. Al mismo tiempo, la empresa cambia de nombre para BeezNest Latino, el nombre que sigue usando hoy día. Durante el año, escribo mis resultados de pruebas de hacer correr Chamilo como servidor en una XO 1.0. Éxito para esta parte, pero todavía es impráctico, por lo que una conversación con Kiko Mayorga (un actor discreto de la beneficiencia tecnológica en Perú) y Sebastían Silva, imaginamos una solución para entregar una tarjeta SD equipada con Chamilo pre-instalado. Este proyecto todavía no se concluye (mucha información que colectar) pero hay buenas esperanzas de que permita alcanzar el objetivo.
- Todo 2010: un esfuerzo incansable de difusión, de desarrollo y de comunicación dentro de la Asociación Chamilo nos permite lograr más de 300,000 usuarios en un año de existencia. En este transcurso, un evento cada 2 meses nos da la oportunidad de hablar del proyecto OLPC, tocando un público de alrededor de 2500 personas en el año. Vinculos se crean alrededor del proyecto OLPC y empiezo a conocer más de su comunidad.
- Octubre 2010: Hernan Pachas me pide si puedo entregar una versión de Chamilo que pueda correr en las XS: 6500 de estas tienen que ser distribuidas en escuelas peruanas antes de Junio del 2011. Para esto tendría que proponer esta versión antes del 3 de Noviembre. Después de unos problemas de disponibilidad y de comunicación, no alcanza el tiempo y tengo que abandonar. Nunca tendré respuesta de Hernan sobre si todavía vale la pena hacerlo o no… (lástima).
- Julio de 2011: invitado a una entrevista en TV online por el Colegio de Ingenieros de Perú y Marketeando.com, hablamos 10 minutos del proyecto y su implementación en Perú
- Agosto de 2011: el nivel de trabajo por fin comienza a estabilizarse.
Hoy: Chamilo ya se posiciona encima de D0keos en muchos aspectos y por lo tanto me da más tiempo para recordar el proyecto y mi compromiso.
No obstante, por ahora hemos cumplido con las 3 metas propuestas, lo que tengo entendido no es tan común en este tipo de proyectos. Pueden ver el procedimiento de instalación de Chamilo como servidor en la XO 1.0 aquí (falta simplificar un poco).
Ahora quedan los tres proyectos adicionales siguientes:
- proveer un imagen de tarjeta SD con un procedimiento para que las XO puedan usarla como sistema de arranque
- desarrollar una “aplicación Chamilo” que permita a las demás XO encontrarla en la red
- desarrollar una versión especial de Chamilo para XS
Descrubriendo la XO/OLPC
Como lo he mencionado antes, D0keos Latinoamérica acaba de recibir un prestamo de 6 XO para el desarrollo de un proyecto de integración D0keos-OLPC.
Este articulo es el reporte de lo que estoy descubriendo, para que sirva a los demás.
Las XO corren Fedora
[olpc@xo-4B-D2-A3 ~]$ cat /etc/redhat-release
OLPC release 9 (Joyride)
[olpc@xo-4B-D2-A3 ~]$ uname -a
Linux xo-4B-D2-A3.localdomain 2.6.25-20090223.1.olpc.69098d87d56945c #1 PREEMPT Mon Feb 23 13:37:03 EST 2009 i586 i586 i386 GNU/Linux
[olpc@xo-4B-D2-A3 ~]$ cat /proc/version
Linux version 2.6.25-20090223.1.olpc.69098d87d56945c (dilinger@fc6.laptop.org) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)) #1 PREEMPT Mon Feb 23 13:37:03 EST 2009
Se puede instalar nuevo software con yum
No conozco muy bien a Fedora, así que pensaba que iba a tener que encontrar mis propios paquetes con rpmfind, pero parece que yum lo hace todo. En el caso de querer instalar a Apache:
yum search httpd
yum install httpd.i386
Parece que esto se conecta a los repositorios de laptop.org, para recojer los paquetes correctos (y sus dependencias) directamente. Indican en el wiki.laptop.org que se puede tambien poner los paquetes necesarios en una llave USB.
Solo 1GB de disco
Bueno, no sabía mucho sobre las XO. Pues aparece que tienen una memoria (tarjeta Flash?) de 1GB, y que la mitad ya está usada por el sistema pre-instalado, dejando menos de 500MB para trabajar.
Configurar idioma
Cambiar el idioma del sistema (que por defecto viene en Inglés) es super sencillo. Dar clic derecho en el símbolo XO, escoger “Configuration panel” y después “Languages”. Ahí, seleccionar (en nuestro caso) Spanish (Peru). Se necesita reiniciar para tomar estos cambios en cuenta.
Conectarse a distancia con SSH
Aquí empiezan las cosas un poco más técnicas, digamos. Aunque el servidor openssh esté pre-instalado, es necesario cambiar la contraseña del usuario “olpc”, que por defecto usa una contraseña no válida “!!”, a algo que usted va a recordar. El hecho de tener una contraseña invalida, en sí, permite deshabilitar la conexión a distancia a través de SSH (osea… es seguro), por lo que darle una contraseña debería ser con una contraseña no fácil de averiguar, porque ahí usted esta dando la posibilidad a cualquier persona de conectarse a su laptop, y desde ahí la persona puede pasar como root y hacer lo que quiere.
[olpc@xo-4B-D2-A3 ~]$ su
bash-3.2# passwd olpc
Cambio de contraseña para el usuario olpc.
Nueva contraseña UNIX :
Bueno, una vez cambiada la contraseña, lo único que tiene que hacer es averiguar la dirección IP de la laptop para conectarse a ella:
bash-3.2# /sbin/ifconfig |grep “inet adr”
inet adr:192.168.1.104 Bcast:192.168.1.255 Masque:255.255.255.0
inet adr:127.0.0.1 Masque:255.0.0.0
En este caso, 192.168.1.104. Entonces, desde otra maquina, puede conectarse con:
$ ssh olpc@192.168.1.104
Nombre único para cada XO
Parece que cada XO tiene un nombre único: cuando uno hace un cat /etc/hosts, aparece un número de tipo xo-4B-D2-A3 o xo-4C-3C-36, que parece ser el nombre único de la máquina.
Problema con los símbolos backticks (`) de MySQL
Parece que hay un problema con el backtick de MySQL en línea de comando, que tiene la mala implicación de no poder crear un usuario específico para Dokeos… (más sobre esto más tarde)
Instalación de Chamilo
La instalación de Dokeos se puede hacer de la manera siguiente (como root o usando sudo)
bash-3.2# yum install httpd.i386 php.i386 mysql.i386 mysql-server.i386 php-mysql.i386 php-mbstring.i386 php-gd.i386
bash-3.2# cd /var/www/html/
bash-3.2# mysql_secure_installation
bash-3.2# wget http://chamilo.googlecode.com/files/chamilo-1.8.8.4.tar.gz
bash-3.2# tar zxf chamilo-1.8.8.4.tar.gz
Considerando que en general la XO se usa en primarias, es muy poco probable que se use más de dos o tres idiomas. En sí, todas los demás idiomas pueden ser eliminadas, borrando la carpeta correspondiente y las entradas de lenguajes en el fichero chamilo-1.8.8.4/main/install/main.sql
bash-3.2# cd main/lang
bash-3.2# rm -rf french_unicode swahili yoruba hebrew ……
bash-3.2# cd ../install
bash-3.2# vi main.sql
(ahí, buscar “swahili” por ejemplo y eliminar todos los idiomas que fueron eliminados por carpeta)
Opcionalmente, para definir un nombre de host (recomendamos aquí usar el nombre del usuario de la máquina), se tiene que definir un VirtualHost en la configuración de Apache, y definir este nombre en el /etc/hosts
bash-3.2# vi /etc/httpd/conf/httpd.conf
bash-3.2# vi /etc/hosts
bash-3.2# /etc/init.d/mysqld start
Por alguna razón, parece que MySQL no puede iniciarse bastante rápido para su propio plazo de inicio (“Timeout error occurred trying to start MySQL Daemon”). El problema viene del script de inicio (/etc/init.d/mysqld) y no directamente de MySQL (aunque el problema que demore mucho en cargar, sí). Para actualizarlo, solo se tiene que editar el fichero
bash-3.2# vi /etc/init.d/mysqld
y mirar para una variable STARTTIMEOUT que tiene un valor de 30, y ponerla a 120. Esto podría ayudar, o no. En mi caso, estoy todavía en este problema, investigando, porque si MySQL no funciona, va a ser muy difícil de integrar Chamilo a una OLPC (tal vez usando SQLite?).
bash-3.2# /etc/init.d/httpd start
Ignorando el problema de creación de un nuevo usuario (no está bien eso pero en ausencia de mejor forma…), se puede dirigir el navegador (o lynx pero se tiene que instalar primero) al http://localhost/chamilo-1.8.8.4/ para instalar Dokeos. Por supuesto, hay mejores formas de hacerlo (más limpias), pero por ahora no es el objetivo. Esto no funciona todavía (conexión denegada). Estaremos actualizando esta documentación dentro de poco.
No determinado
Todavia tengo que encontrar
- como conocer la dirección IP de otro XO cerca (a partir de su nombre en el mapa)
- como instalar un servidor Chamilo como una “actividad” de Sugar, para que “compartir” sea en realidad iniciando una conexión a través del navegador de Sugar al servidor Chamilo del otro lado
OLPC project, Escuelab and Dokeos/Chamilo
Today I went to the Escuelab in the centre of Lima to meet with Alberto, Kike Mayorga and Kiko Contreras.
My visit was apparently taken with great interest and they’ve video-interviewed me for some time to talk about DOKUDA and my projects with Dokeos and the OLPC (now updated to Chamilo and the OLPC). Apparently, the idea to have Dokeos/Chamilo run on one of the XO itself was never thought about, and that seemed to be an announcement of uttermost interest to them that this *could* be done at all. They suggested I try straight away (which I did) but my knowledge of Fedora was a bit limited at this point to know where exactly to download the packages. I did try some rpm -q and yum install commands, but without success (yum install apache seemed to trigger the download of something unrelated, I’ll have to investigate this further). Although this is unrelated, I saw that one could actually run Ubuntu on these (not that I have intentions of trying that shortly).
Apparently the problem that would be solved by the install of Dokeos on one of the XO is that when the government is sending XOs to remote areas, it also sends them with a PC pre-installed with Linux, which is supposed to serve as a server for the XO. However, people in remote areas cannot manage them, so someone around tells them “That thing is useless, just install Windows to be able to use it”, and they do. Of course, this is an illegal copy of Windows in most cases.
This brings two moral problems:
- Children are curious. When they’ll want to know how the system works, Windows won’t give them the ability to analyse this.
- Children want to share. How will the teacher deal with the student wanting to share some proprietary software which most certainly costs about one year of his parents’ revenue? Make him a software pirate at the age of 6 without letting him know about it?
Installing Dokeos on one of the XO’s (where Windows *cannot* be installed) ensures the system can remain there and is “transportable” (they can go on a walk and write about what they’re doing into Dokeos directly if the teacher goes with his XO as well). The only problem so far would be the disk space (and possibly the RAM, but Dokeos uses very little RAM per script loading).
Sebastian Silva apparently is also part of the “team” but is currently in Bolivia if I understood well.
One of the plans of the team is to setup a bus trip in remote areas equipped with the laptops in order to update the systems, reinstall the PCs under Linux and explain them how to use them. That sounds like a lot of fun. I’ll be tracking that project.
Escuelab already confirmed they *did* want to come and show their projects during the e-learning event at the end of June (DOKUDA)
Dokeos Latinoamérica lended 6 XO for Dokeos-XO integration
Quickly, because I’m a little out of free time right now, we’ve been lended 6 XO green laptops for 24 months, fo a project we intend to start shortly on a Dokeos-XO integration work.
More details:
- the project proposal:
http://rt.laptop.org/Ticket/Display.html?id=41215
- the acceptance process report:
http://wiki.laptop.org/go/Contributors_program/June_5%2C_2009
I’m very happy about that and I can’t wait to finally be able to work on it. Depending on whether we get them before DOKUDA, the huge e-learning event we’re organizing in Lima, Peru, we might get working on the style before then, to show it off.
OLPC spotted surfing the free campus
I’m currently tracing what might have been an attack on the free campus through the Apache logs…
Nothing related, but then I just realized we had some OLPC visiting the free campus a while ago:
zzz.zzz.zzz.zzz – - [16/Feb/2009:11:47:55 +0100] “GET /main/forum/index.php?cidReq=GR03 HTTP/1.1″ 200 6839 “http://campus.dokeos.com/courses/GR03/?id_session=0″ “Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9) Gecko/2008072400 OLPC/0.4.6-1.olpc3 (XO) Firefox/3.0″
I guess we’re going to have more of these in the near future (with one million sold worldwide as the French OLPC wiki links relate).
Dokeos 1.8.6 por un XO OLPC
En el último BarCamp en Lima, he tenido la oportunidad de molestar un poco Sebastian Silva, de OLPC Perú y FuenteLibre, para ver si funciona Dokeos 1.8.6 en la XO. Pues el resultado es bastante bueno. Aparte de unas pestañas que llegaron a llenar demasiado espacio horizontal (lo que se arregló en 10 segundos) y el hecho que el Gnash (versión libre de Flash player) que estaba instalado no parecía manejar bien la videoconferencia, pues pudimos dar una visita en
http://dev.dokeos.com/
(nuestro portal de desarrollo) y darnos cuenta que funciona muy bien.
Aunque no este en nuestra lista de prioridades, nos gustaría empujar a Dokeos como plataforma de intercambio de cursos para la difusión de OLPC, en particular en el mundo latino.
Aquí les dejo unas fotos…
OLPC despidiendo desarrolladores
En un correo público bastante personal a la lista OLPC-SUR (proyecto OLPC para Sur-América), Greg Smith, uno de los desarrolladores a tiempo completo del proyecto OLPC, anunció que muchos (en fin parece que todos) de los desarrolladores permanentes del proyecto fueron despedidos, por razones de que el dinero invertido por grandes empresas en el proyecto fue cortado por la crisis financiera.
Esto quiere decir que, supuestamente, el desarrollo de nuevos aplicativos o de otras versiones del Sugar (la interfaz gráfica) de la OLPC va a depender enteramente de la comunidad ahora. Conociendo personalmente el tema de desarrollo informatico educacional en la comunidad (las personas involucradas no son técnicos generalmente, son pedagogos), para mi esto es muy mala noticia. Espero que la crisis acabe pronto…
Tal vez es el buen momento para Dokeos para entrar en este tema, pero ahora estamos muy cortos en tiempo para involucrarnos ahí.
Xapian
Xapian is one of the indexation/search engines I’m planning on integrating to Dokeos instead of the current indexation/search engine that we have at the moment: MnoGoSearch. There are many reasons for that change:
- MnoGoSearch server is not GPL under Window, which makes it impossible for us to ship as part of Dokeos
- MnoGoSearch has crappy support mailin-lists
- MnoGoSearch’s packages in various distributions are not maintained
- Xapian has *many* interfaces in many languages, all regularly maintained. The PHP interface also allows for indexation, which means we can do indexation on-the-fly, and do not have to rely on a cron-ed process to spider a website or a database later on
- MnoGoSearch’s documentation is baed on Russian documentation and translated to Englih by Russians who, obviously, don’t master English enough to make a good documentation
Anyway, I read today that OLPC (One Laptop Per Child) XO is using Xapian internally. This doesn’t mean anything directly or in the interest of Dokeos, but it is interesting to learn that other big known projects are using it as well, plus here it’s got to do with education and it’s one project I’m interested in as well.







