Archivo .htaccess para Moodle

Logo moodle

Instalamos Moodle, y cuando vamos a ver si todo esta correcto, vemos que las especificaciones que requiere Moodle para PHP o para Apache entran en conflicto con otras aplicaciones del servidor. Esto tiene fácil solución si tenemos acceso a editar los archivos httpd.conf o php.ini del servidor, pero sino es así, tenemos un problema.

¿Como lo solucionamos? Fácil, creamos un archivo .htaccess en el directorio raiz de nuestra instalación de Moodle. con esto conseguimos que se sobrescriban los parametros configurados pr defecto para PHP y Apache.

¿Donde encuentro el fichero .htaccess? Tenemos un ejemplo en el directorio de moodle /lib/ (al que accedemos mediante nuestro FTP/SFTP o ssh). En este directorio encontraremos un archivo llamado “htaccess” (sin punto delante, por lo que no esta activo). Lo unico que tenemos que hacer es copiar este archivo al directorio raiz de Moodle / (donde se encuentra config.php), y cambiarle el nombre por .htaccess para que los cambios surtan efecto.

Este archivo tiene la siguiente pinta:

# On some PHP servers it may help if this file is copied

# to the main moodle directory and renamed .htaccess

#

# As soon as you do this, check your web site. Is it

# still working OK? If you are getting a “configuration

# error” then you may need to enable overrides by editing

# the main httpd.conf for Apache and in the main server

# or virtual server area, adding something like:

#

# <Directory /web/moodle>

# AllowOverride All

# </Directory>

#

### Firstly, if you are using Apache 2, you need the following

### three lines to allow Apache to pass a PATH_INFO variable

### correctly for URLs like http://server/file.php/arg1/arg2

<IfDefine APACHE2>

AcceptPathInfo on

</IfDefine>

### Secondly, you can define the default files in the Moodle

### directories as follows:

DirectoryIndex index.php index.html index.htm

### Thirdly, set up some PHP variables that Moodle needs

php_flag magic_quotes_gpc 0

php_flag magic_quotes_runtime 0

php_flag register_globals 0

php_flag file_uploads 1

php_flag short_open_tag 1

php_flag session.auto_start 0

php_flag session.bug_compat_warn 0

### Fourthly, sometimes Apache limits the size of uploaded files

### (this is a separate limit to the one in PHP, see below).

### The setting here turns off this limitation

LimitRequestBody 0

### These are optional – you may not want to override php.ini

### To enable them, remove the leading hash (#)

#php_value upload_max_filesize 2M

#php_value post_max_size 2M

#php_value session.gc_maxlifetime 7200

### You can change the following line to point to the

### error/index.php file in your Moodle distribution.

### It provides a form which emails you (the admin)

### about 404 errors (URL not found).

#ErrorDocument 404 http://example.org/moodle/error/index.php

### People have reported that these can help in some cases

### (unusual) when you see errors about undefined functions

#php_value auto_prepend_file none

#php_value include_path .

Y si vemos que algo no funciona en nuestra instalación, tendremos que modificarlo con cuidado hasta adaptarlo a nuestras necesidades, sobre todo en lo que respecta a la directiva “AllowOverride All”, donde tendríamos que poner la ruta correcta a nuestra instalación de Moodle.

Logo Moodle

Cursos Online: Como crear un curso – Paquetes SCORM

Una vez que nos hemos decidido a crear nuestra plataforma de e-learning, por ejemplo con Moodle, llega la hora de crear y generar los cursos.

En un principio, nos podríamos decantar por crear el curso directamente en Moodle, pero realmente Moodle no esta pensado para crear material de e-learning, si no para gestionarlo, por lo que lo mejor que podemos hacer es crear nuestro curso con otro software creado específicamente para ello.

Logo moodle

 

Lo primero que tenemos que chequear es que, una vez creado el curso, podamos exportarlo a Moodle… ¿Como nos aseguramos de eso? Comprobando que el software pueda crear un paquete SCORM.

SCORM (Sharable Content Object Reference Model) es un conjunto de estándares y especificaciones que nos van a permitir crear objetos pedagógicos estructurados. Con SCORM es posible crear contenidos que puedan importarse dentro de sistemas de gestión de aprendizaje diferentes, como por ejemplo Moodle (o entre distintas instalaciones de Moodle) siempre que estos soporten la norma SCORM.

Moodle es compatible con los formatos SCORM 1.2 y SCORM 2004.

Para instalar los archivos dados en un archivo comprimido (.zip) en Moodle, tenemos que seguir los siguientes pasos:

  1. Ingresamos en Moodle
  2. Hacemos click en “Añadir/Editar cursos” del panel “Cursos”
  3. Click en “Añadir un nuevo curso”
  4. Indicamos los detalles específicos del curso
  5. Formato – SCORM

Evidentemente también podemos añadir partes de un curso si hemos creado paquetes SCORM específicos, ya que en “Añadir Actividades”, tenemos una opción especifica para añadir SCORM.

Bien… ¿y como creamos paquetes SCORM? Tenemos varias opciones. Voy a comentar 4. Dos de código libre y dos soluciones propietarias.

Crear SCORM con soluciones de código libre

  1. eXeLearning, programa creado por la Auckland University of Technology y la Tairawhiti Polytechnic. Se puede crear cualquier contenido web didáctico sin necesidad de ser experto en edición. La única pega es que el desarrollo del programa no va a muy buen ritmo…
  2. Xerte, programa que dispone de todas las funciones necesarias para crear un entorno de desarrollo de e-learning.

Crear SCORM con soluciones propietarias

  1. Adobe Captivate. De los creadores de Photoshop, tenemos esta opción, que es simplemente magnifica, y muy intuitiva. La única pega es su precio…
  2. Articulate, Otra solución con mucha solera y con el mismo problema que la anterior…. el precio…

En la web de Moodle tenéis más opciones para crear paquetes SCORM

 

Pingdom Tools 099cursos

Incremento de la velocidad de carga de una web mediante “Leverage browser caching” via .htaccess

Una de las maneras más fáciles de mejorar la funcionalidad de nuestro blog y su velocidad es mediante una forma de caché denominada “Leverage browser caching“. 

Si utilizamos Page Speed de Google en nuestra página, una de las cosas que nos indicará para mejorar el tiempo de carga de nuestro blog o web, es que necesitamos mejorar el “Leverage Browser caching” o dicho de otra manera, añadir fecha de vencimiento o cabeceras de control de caché para nuestro blog. Mediante el aprovechamiento de  la memoria caché del navegador, podemos reducir el número de peticiones HTTP que el servidor tiene que procesar, lo que reduce los tiempos de carga y la experiencia de usuario mejora así como el rendimiento del sitio web.

Para ello, tendremos que modificar nuestro archivo .htaccess y añadir las siguientes lineas de código:

## EXPIRES CACHING ##

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType text/x-javascript “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresByType image/x-icon “access 1 year”
ExpiresDefault “access 2 days”
</IfModule>
## EXPIRES CACHING ##

Mediante el uso de este código, los archivos principales estáticos (imágenes, CSS, archivos PDF, JS, etc..) se almacenan en caché con el fin de que los tiempos de carga sean más rápidos en el futuro.

Despues de añadir estas lineas a nuestro .htaccess (situado en el directorio principal de nuestro servidor) , podemos chequear los resultados con Pingdoom Tools.

Pingdom Tools 099cursos

Wordpress CMS

Optimizar la velocidad de carga de WordPress: Mejora tu ranking en Google

Wordpress CMSA la hora de gestionar WordPress, el CMS que “controla” nuestra web, nos damos cuenta de que consume muchos recursos del servidor, hace muchas consultas a las base de datos MySQL y eso provoca que el tiempo de carga del blog o la web se incremente de manera notable y provoque que Google nos considere “lentos”, lo que provoca una bajada en los rankings del buscador.

Para solucionar esto y mejorar la velocidad de carga de WordPress, la mejor opción es tener instalado un Plugin llamado Wp Super Cache que lo que nos hace es generar archivos HTML estáticos a partir de los archivos dinamicos de nuestro blog WordPress.

Wp Super Cache sirve los archivos almacenados en caché de 3 maneras (la más recomendable es la primera opción):

  1. Mod_rewrite. El método más rápido es mediante el uso de mod_rewrite de Apache. Esto evita por completo el uso de PHP y es extremadamente rápido.
  2. PHP. Los archivos estáticos se sirven por PHP. El servidor no puede hacer frente de esta manera a una cantidad muy grande de tráfico.
  3. Legacy caching. Esto se utiliza principalmente para las páginas de caché para los usuarios conocidos. Es el método más flexible de almacenamiento en caché, pero también el más lento.

La configuración recomendada por el autor del plugin es:

Los usuarios avanzados pueden utilizar la caché de mod_rewrite, pero el almacenamiento en caché de PHP es casi tan bueno y recomendado para todos los demás. En cuanto a lo demás, hay que elegir:

  1. PHP caching
  2. Compress pages.
  3. Don’t cache pages for known users.
  4. Cache rebuild.
  5. CDN support.
  6. Extra homepage checks.

Pero vamos a analizar más en detalle la configuración de WP Super Cache para mejorar la velocidad de carga de WordPress e intentar mejorar nuestros ranking en Google.

1.-Pestaña “Easy”

Señalamos Caching On (Recommended) y actualizamos estado.

Wp Super Cache Configuracion 1

2.-Pestaña “Avanzado”

Wp super Cache Configuracion 2

2.1.-Reglas generales

  • Click en “Cache hits to this website for quick access.” (activa la cache)
  • Click en “Use mod_rewrite to serve cache files” (el metodo más rápido de cache)
  • Click en “Compress pages so they’re served more quickly to visitors (Los archivos se comprimen y almacenan de esa manera por lo que la compresión se hace una sola vez. Estos archivos son por lo general mucho más pequeños y se envía al navegador del visitante mucho más rápido que un html sin comprimir. Como resultado, ahorramos tiempo de CPU y ancho de banda del servidor, y también se puede servir la siguiente solicitud mucho más rápidamente).
  • Click en “Don’t cache pages for known users” (los usuarios que hacen login no ven páginas almacenadas en cache)
  • Click en “Mobile device support” (soporte para moviles)
  • Click en “Cache rebuild” y “Extra homepage checks”

Pinchamos en “Update Status” (Actualizar estado).

2.2.-Reglas mod_rewrite

Generamos los “Mod_Rewrite Rules” en nuestro archivo .htaccess. Estas reglas hay que generarlas porque hemos elegido usar mod_rewrite. nos aparecera un recuadro amarillo que nos indica que las reglas todavia no estan operativas, por lo que hay que pinchar en  “Update Mod_Rewrite Rules” (actualizar reglas mod_rewrite).

Aquí hay que tener cuidado, ya que el archivo, que se debera encontrar en el archivo de nuestra instalación de WordPress debe poder ser editable…

2.3.- Configurar “Garbage Collection” (recolección de basura)

Vamos a “Expiry Time & Garbage Collection” en introducimos el valor “3600” en la caja y luego pinchamos en “Change Expiration” (cambiar caducidad).

La configuración por defecto permitirá que los archivos de caché permanezcan 1 hora (3600 segundos) antes de ser eliminados, que es lo ideal. Este valor se puede incrementar para los sitios que no tienen muchos posts (1.000 o menos) y si no se actualiza el contenido con frecuencia. Si hay una gran cantidad de posts (+25.000), un valor más bajo, alrededor de 1800 puede ser más viable.

3.- Pestaña “Preload”

Wp Super Cache configuracion 3

Esta es la última pestaña que teneos que tener en cuenta para una correcta configuración de WP Super Cache.

Hay que añadir en el recuadro “3600” minutos y hacer click en Preload mode (garbage collection only on legacy cache files. Recommended.). Finalmente hay que pinchar en “update settings”.

Esta opción almacena en caché todos los post y las páginas publicadas del sitio. Se van a crear unos archivos estáticos para que los visitantes desconocidos (incluyendo los robots) accedán a una página almacenada en caché. Esto probablemente nos ayudará con nuestro ranking en Google, ya que disminuye la velocidad de carga de nuestra página.

 

Paypal

¿Cómo funciona Paypal? Pago seguro online

099cursos.com utiliza como pasarela de pago seguro Paypal. PayPal es una empresa estadounidense, propiedad de eBay, perteneciente al sector del comercio electrónico por Internet que permite la transferencia de dinero entre usuarios que tengan correo electrónico, o cobrar de manera segura a los clientes de cualquier sitio web que tenga instalado su sistema de pago, pero… ¿Cómo funciona Paypal?

Paypal

  1. El cliente navega por el sitio Web (en este caso 099cursos.com), añade los productos que le interesan a su carrito de la compra y pulsa el botón de “Pagar”.
  2. A continuación, el cliente es redirigido a las páginas seguras de PayPal, donde podrá introducir los datos de su tarjeta de crédito o débito o, si ya es cliente de PayPal, su nombre de usuario y contraseña.
  3. Antes de realizar el pago, el cliente confirma la forma de pago, los datos de envío y la información de contacto.
  4. Inmediatamente, el cliente puede comprobar que su pago se ha realizado correctamente y recibe una confirmación del mismo por correo electrónico.
  5. Una vez que el pago se ha realizado, el cliente vuelve a la web (099cursos.com), donde se le mostrara una página de confirmación.
  6. Nosotros, automáticamente, recibiremos la información de la compra realizada y en el caso de que hubiera algún problema, podríamos solucionarlo ya que tenemos los datos de contacto del cliente

Flujo de Pago Seguro Online mediante Paypal
Proceso pago Paypal.

Cursos Online: ¿Qué Sistema de Gestión elegir? ¿Qué es un LCMS?

A la hora de plantearnos en crear un portal para ofrecer cursos online, tenemos que tener en cuenta muchos factores, y tal vez el más importante es elegir un sistema de gestión de aprendizaje o LCMS (Learning Content Management System) o LMS, que una vez instalado en un hosting propio nos ayude a administrar, distribuir y controlar las actividades de formación online de nuestra organización.

OJO: Llegados a este punto, presuponemos que el administrador tiene conocimiento de basicos de administración de servidores, creación de páginas web, SEO, Diseño CSS etc… y pasamos simplemente a analizar las distintas opciónes que ofrece el mercado para instalar nuestra plataforma online de aprendizaje en red.

Gracias a estos sistemas de gestión de cursos online podemos gestionar a los usuarios, nuestros recursos y los materiales y actividades de formación. Además podemos hacer un seguimiento del proceso de aprendizaje, realizar evaluaciones al alumno, generar informes de rendimiento y crear foros y wikis.

Un primer acercamiento a este mundo nos lo puede proporcionar el articulo “A Field Guide to Learning Management Systems” de Ryann K. Ellis – Editor de Learning Circuits (“Una guía del campo de los Learning Management Systems), donde nos ofrece un estudio detallado de cuales son las mejores opciones para crear nuestra aula virtual en internet.

En primer lugar nos tenemos que hacer la siguiente pregunta ¿Software libre vs Software propietario? o lo que es lo mismo ¿Programa gratuito o pasamos por caja?

Y la siguiente pregunta debería de ser ¿Qué prestaciones necesito para montar mi curso online?

En una encuesta de 2009 realizada por “Learning Circuit” se preguntó a los encuestados cuales eran las caracteristicas que debrían de estar presentes en un programa LCMS:

  1. Analíticas, un 17,3%
  2. Evaluación y pruebas, un 42,5%
  3. Autoría, un 19,7%
  4. Catálogo de cursos, un 28,3%
  5. Certificación, un 18,9%
  6. Herramienta de colaboración/integración, un 15%
  7. Cumplimiento de seguimiento, un 46,5%
  8. Gestión de contenidos, un 29,9%
  9. Integración de CRM, un 8,7%
  10. Centrado en la enseñanza, un 39,4%
  11. Sistema de probación por administrador, un 19,7%
  12. Informes, un 52,8%
  13. Seguridad, un 14,2%
  14. Normas/standards, un 18,1%

Teniendo en cuenta estas valoraciones, estas son las funcionalidades mínimas que debería de tener nuestro sistema de gestión de cursos online:

  • Herramientas de administración. El LMS debe permitir a los administradores gestionar el registro de usuarios y perfiles, así como los planes de estudio, contenidos y evaluaciones, y pago de cursos en el caso de que tengan algún coste. También debería ser capaz de generar informes, foros, wikis y fomentar la interacción entre alumnos y profesores.
  • Acceso a los Contenidos. Esto implica que exista una forma fácil de acceder a los cursos (online) y que este disponible un paquete de idioma (español)
  • Desarrollo de contenidos. Desarrollo de contenidos, que abarca la creación, el mantenimiento y el almacenamiento de los contenidos de aprendizaje.
  • Integración de Contenido. Es importante que un LMS proporcione un soporte nativo a una amplia gama de cursos de terceros.
  • Habilidades de gestión. Evaluación y gestión de las competencias de los estudiantes.
  • Capacidades de evaluación del LMS. ¿Puedes probar el paquete que la empresa te ofrece previamente a su instalación definitiva?
  • Cumplimiento de las normas. Un LMS debería tratar con standards, tales como SCORM, con lo que el LMS pueden importar y gestionar contenido y el material didáctico que cumple con las normas, independientemente del autor del sistema que lo produjo.
  • Configurabilidad. Que sea fácil de usar y gestionar.
  • Seguridad. La seguridad es una prioridad en cualquier sistema de datos que contiene información sensible de terceros.

Una vez que tenemos claro que funcionalidades necesitamos, hay que tener en cuenta que opciones tenemos en la actualidad para implementar nuestra plataforma online de cursos. Hay tres modelos:

  1. El modelo de compra directa. El software es adquirido, instalado y manejado en local.
  2. El modelo de mantenimiento por terceros. La empresa compra el software y lo instala en su propia plataforma de datos, pero el mantenimiento y las actualizaciones son gestionados por el proveedor del LMS o un tercero.
  3. Software como Servicio (SaaS). Se adquiere el software, pero se encuentra y gestiona de forma remota por un tercero y los administradores, el contenido, los alumnos y los profesores acceden online.

Tanto si lo instalamos nosotros, como si lo instala una empresa, tenemos que tener unos mínimos conocimientos sobre el producto con el que vamos a trabajar para hacer una mejor elección.

blackboard vs moodle

Estas son algunas de las opciones disponibles para “controlar” nuestro sistema de aprendizaje en linea:

De codigo Libre:

  1. Moodle es un CMS de código libre para la gestión de cursos online. Se puede descargar y utilizar desde para pequeños cursos como hasta para 200.000 estudiantes. Una ventaja de Moodle es que tiene alrededor una gran comunidad de usuarios que apoyan el proyecto, lo que nos puede facilitar el desarrollo de nuestro proyecto.
  2. Sakai es un CMS de código libre para la gestión de cursos online mantenida por la Comunidad de Sakai con el objetivo de crear un entorno de colaboración y aprendizaje para la educación superior, que pueda competir con sus equivalentes comerciales Blackboard / WebCT
  3. Claroline es una plataforma de aprendizaje y trabajo virtual (eLearning y eWorking) de código abierto y software libre (open source) que permite a los formadores construir eficaces cursos online y gestionar las actividades de aprendizaje y colaboración en la web.

Sistemas Propietarios

  1. Oracle iLearning, sistema de gestión de formación (LMS) de empresas y un componente principal de Oracle E-Business Suite. Oracle iLearning proporciona una infraestructura completa para que las organizaciones gestionen, proporcionen y realicen un seguimiento de la formación en entornos basados en clases y en línea. U
  2. Blackboard: Blackboard Learning System – WebCT es una plataforma informática de teleformación (e-learning) que permite construir cursos interactivos e impartir formación a través de Internet, llevando a cabo la tutorización y el seguimiento de los alumnos. Para ello dispone de datos referentes al tiempo, lugar y fecha en la que los alumnos han visitado cada zona del curso. Esta aplicación permite también, hacer un análisis estadístico exhaustivo, individualmente o para un grupo de alumnos determinado, de los resultados de los ejercicios o exámenes.

¿Por cual decantarnos? En 099cursos hemos escogido Moodle para nuestra aula de cursos online, principalmente por ser de Codigo Libre y por su gran comunidad de usuarios. No siempre lo gratis es peor y si no que le pregunten a los millones de personas que utilizan otro CMS Open Source, WordPress para crear sus blogs y páginas webs (099cursos también usa esta plataforma para gestionar esta página)

Evidentemente, la elección también dependerá de los conocimientos técnicos y de desarrollo que tengamos, pero Moodle, como ya hemos comentado antes, tiene una comunidad de usuarios muy grande que nos podrán resolver algunas de nuestras dudas y sino, siempre es posible contratar a una empresa para que nos haga el desarrollo de nuestro portal educativo.

 

 

 

Moodle: Cambiar los iconos que vienen por defecto

Una de las cosas que más llaman la atención al instalar y poner en funcionamiento Moodle, son lo feos y desactualizados que están sus iconos.

Logo Moodle

Desde Moodle 2.0, hay una forma sencilla de cambiar los iconos del tema, sustituyendo los que vienen por defecto. Pero primero entendamos como distribuye Moodle las imagenes.

Hay tres áreas principales donde se encuentran las imagenes: Core, plugin (extensiones) y theme (tema) .

Las imágenes de Core se utilizan a través de Moodle y se almacenan en moodle/pix.

El directorio pix contiene los siguientes subdirectorios:

a – iconos que no son ampliamente utilizados
c – Calendario – iconos relacionadas
f – Los iconos de archivo para tipos de archivos diferentes
g – Los iconos por defecto de los usuarios y las miniaturas
i – iconos generales
m – símbolos de moneda
s – Smileys
t – iconos generales
u – iconos de usuario y miniaturas
y – los iconos de YUI

Las imágenes de Plugin son utilizadas por los plugins y se almacenan dentro de, por ejemplo el directorio del plugin mod/forum/* o blocks/navigation/*

Las imágenes de los temas (theme) se utilizan en los temas y se almacenan en el subdirectorio pix de cada tema.

Si queremos “anular” estas imágenes/iconos que vienen por defecto en nuestra instalación de Moodle, lo primero que tenemso que hacer es crear dentro de la carpeta de la nuestro tema (moodle/theme/”nuestro tema” los directorios siguientes:

  • /pix_core/ – Aquí es donde ponemos los iconos del core.
  • /pix_plugins/ – Aquí es donde ponemos los iconos de los plugins

A continuación, copiamos las imágenes/iconos que deseamos reemplazar en cualquiera de los directorios pix_core o pix_plugins. Lo importante en este paso es replicar la estructura de directorios donde se encuentran las imágenes originales.

Por ejemplo. Queremos reemplazar moodle/pix/Help.gif, para lo cual tenemos que crear una imagen en moodle/theme/”nuestro tema”/pix_core/

O por ejemplo. Queremos sustituir moodle/pix/i/info.gif, por lo que hay que crear: moodle/theme/”nuestro tema”/pix_core/i/info.png dentro de su carpeta de temas.

Lo más importante es respectar la jerarquía de directorios. Pero… ¿Y que iconos usamos?

Pues la opción más cómoda la proporciona Tango Icons, ya que ya tenemos “hecha” la estructura de directorios, por lo que solo habría que subir los archivos a nuestro directorio /pix_core/ de nuestro tema, pero también podemos usar los de famfamfam.

Referencias: Conceptos básicos temas y Themes 2.0 How to use images within your theme

Múltiples ‘Sidebars’ en WordPress para distintas páginas

Si con Moodle podemos crear un Aula virtual Online, con WordPress tenemos un CMS perfecto para poder promocionar nuestro negocio.

Wordpress CMS

Todavía no vamos a entrar en la instalación de WordPress, pero si hay que comentar algo muy importante de este CMS: Su facilidad para poder personalizar determinados aspectos de la página.

En este caso, vamos a comentar como crear distintas “sidebars” para distintas zonas de la web.

En nuestro caso, hemos querido que las páginas de 099Cursos no ofrezcan la misma información que el blog de noticias, para ello, hemos seguido los siguientes pasos (En función de tu plantilla tendrás un nombre u otro de archivo para generar las paginas y las sidebar, pero suele ser bastante estandar en todos los temas de WordPress):

  1. Creación de un duplicado del archivo page.php: pagec.php (Los cambios que hemos introducido en el código han sido: En el inicio del archivo ponemos “Template Name: pagecourse” y donde antes teniamos lallamada a sidebar.php ahora ponemos la llamada a sidebarc.php con “<?php include (‘sidebarc.php’); ?>”
  2. Creación de un duplicado de sidebar.php: sidebarc.php. Esta es la nueva sidebar (Los cambios que hemos introducido en el código han sido: Donde aparezca la llamada “<?php if ( ! dynamic_sidebar( ‘cambiamos el nombre’ ) ) : ?>”. En ‘cambiamos el nombre hemos puesto “primary-widget-area-pages” y “secondary-widget-area-pages” ya que tenemos dos areas de widgets.
  3. En el archivo functions.php debemos añadir unas cuantas lineas de código para poder personalizar el area de widgets:

“if ( function_exists(‘register_sidebar’) ) {

// Registering First Sidebar as Default Sidebar

register_sidebar(array(‘name’=>’primary-widget-area-pages’,

‘before_widget’ => ‘<div>’,

‘after_widget’ => ‘</div>’,

‘before_title’ => ‘<h3>’,

‘after_title’ => ‘</h3>’,

));

register_sidebar(array(‘name’=>’secondary-widget-area-pages’,

‘before_widget’ => ‘<li>’,

‘after_widget’ => ‘</li>’,

‘before_title’ => ‘<h3>’,

‘after_title’ => ‘</h3>’,

));

}”

Con estas modificaciones hemos conseguido que las paginas a las que apliquemos la plantilla pagecourse tengan un sidebar personalizado gracias a sidebarcourse, pudiéndose añadir widgets desde el menú de Apariencia de WordPress.

En la siguiente página del CODEX de WordPress teneis más información al respecto: Customizing Your Sidebar. También os puede servir de ayuda el siguiente blog: WordPress Multiple Sidebars

Instalación y configuración de Moodle.

Logo Moodle099Cursos se dedica a la realización de Cursos Online y lo hace a traves de su Aula Online gestionada por el LMS (Learning management system), Moodle.

Comienza en esta entrada, un seguimiento del proceso de instalación y configuración de Moodle.

En primer lugar hay que tener en cuenta los requerimiento que tiene que tener nuestro servidor (sí, hay que tener contratado un servidor para alojar el paquete de Moodle). La instalación se realizo con el paquete 2.2.1 de Moodle

En el caso de 099Cursos, el servidor elegido fue Hostgator que contaba con los requerimiento que necesita Moodle para funcionar adecuadamente:

  1. Un servidor web con plataforma Linux/Unix o Windows mientras soporte PHP.
  2. Una instalación de PHP en funcionamiento: Moodle 2 necesita como mínimo la versión 5.2.8. Si se usa PHP 5.3, hay que asegurarse que la versión es superior a la 5.3.2
  3. Una base de datos: MySQL o PostgreSQL, que están completamente soportadas y recomendadas para su uso con Moodle. Moodle 2 necesita como mínimo la versión 5.0.25.

En el caso de Hostgator, en el momento de la instalación de Moodle, tuvimos que “activar” PHP 5.3 ya que por defecto usan pHP 5.2 añadiendo al archivo .htaccess la siguiente linea:

# Use PHP 5.3
AddType application/x-httpd-php53 .php

Esto funciona para los Servidores compartidos. Para los demás tipos de servidores (VPS) hayq ue solicitarlo a [email protected]

1.-Subir el paquete de archivos Moodle al servidor

Solucionado este contratiempo, hay que descargarse el paquete de Moodle y proceder a subirlo mediante algun programa FTP al servidor o mediante el panel de Cpanel con su “Administrador de Archivos”. Lo mejor es subir el paquete comprimido y luego descomprimirlo directamente en el servidor.

El directorio de Moodle tendra una estrutura similar a esta:

config.php – contiene la configuración fundamental. Este archivo no viene con Moodle – usted lo creará.
install.php – el script que ejecutará para crear el archivo config.php.
version.php – define la versión actual del código de Moodle.
index.php – la página principal del sitio.
admin/ – Código para administrar todo el servidor.
auth/ – Módulos para la autenticación de usuarios.
blocks/ – Módulos para los pequeños bloques laterales contenidos en muchas páginas.
calendar/ – Código para manejar y mostrar eventos de calendario.
course/ – Código para presentar y gestionar los cursos.
doc/ – Documentación de ayuda de Moodle. (Por ejemplo esta página).
files/ – Código para presentar y gestionar los archivos cargados.
lang/ – Textos en diferentes idiomas, un directorio por idioma.
lib/ – Librerías del código fundamental de Moodle.
login/ – Código para manejar las entradas y creación de cuentas.
mod/ – Todos los módulos de los cursos de Moodle.
pix/ – Gráficos genéricos del sitio.
theme/ – Paquetes de temas/pieles para cambiar la apariencia del sitio.
user/ – Código para mostrar y gestionar los usuarios.

2.-Crear base de datos en el servidor

Lo más sencillo, de nuevo, es acceder al panel de control del servirdor, probablemente Cpanel (o programa similar) y crear la BBDD:

  • Hacer click en el icono “Bases de datos MySQL”.
  • Escribir el nombre de la BBDD “moodle” en el campo base de datos y hacer click en “Añadir Base de Datos”.
  • Escribir un usuario y contraseña y hacer click en “Añadir Usuario”.
  • Despues hay que pinchar en “Añadir Usuario a la Base de Datos” para dar a esta nueva cuenta de usuario “TODOS” los derechos en la nueva base de datos.

En el caso de Hostgator y de muchos otros servicios de Hosting, al nombre de usuario y al nombre de la BBDD le añaden un prefijo inicial que suele coincidir con el nombre de usuario del hosting elegido previamente, así que hay que tener cuidado de incluir el nombre completo cuando luego Moodle nos pida estos datos.

3.-Crear el directorio de datos de Moodle

El programa de instalación de Moodle probablemente haga esto automaticamente, pero sino puede hacerlo, habra que hacerlo de manera manual y luego indicar en la instalación el path en el servidor de esta carpeta ‘moodledata’.

OJO: Por seguridad, es mejor que este directorio NO sea accesible directamente desde la web. La manera más sencilla de conseguir esto es simplemente colocarlo FUERA del directorio web (en el caso de hostgator, fuera del directorio public_html) pero en caso de que no se pueda hacer, hay que protegerlo de miradas no deseadas creando un archivo .htaccess en el directorio de datos que contenga la siguiente línea:

order deny,allow
deny from all

3.-Ejecutar programa de instalación

Para ejecutar el script de instalación de Moodle (install.php), sólo hay que acceder a la dirección URL de la instalación usando un navegador web: http://tuservidor/install.php.

Moodle automaticamente detectará la configuración necesaria y se iniciara el proceso de instalación hasta crear el archivo de configuración config.php (donde se encuentran los datos de la BBDD, localización de la carpeta de archivos etc…).

dbtype = ‘mysqli’;
$CFG->dblibrary = ‘native’;
$CFG->dbhost = ‘localhost’;
$CFG->dbname = ‘nombre bbdd’;
$CFG->dbuser = ‘nombre usuario bbdd’;
$CFG->dbpass = ‘contraseña bbdd’;
$CFG->prefix = ‘mdl_’;
$CFG->dboptions = array (
‘dbpersist’ => 0,
‘dbsocket’ => 0,
);

$CFG->wwwroot = ‘http://cursos.099cursos.com’;
$CFG->dataroot = ‘Directorio donde se encuentran los datos de Moodle’;
$CFG->admin = ‘admin’;

$CFG->directorypermissions = Permisos del servidor;

$CFG->passwordsaltmain = ‘Contraseña’;

require_once(dirname(__FILE__) . ‘/lib/setup.php’);

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

Si Moodle no crearlo hay que editarlo y después subirlo dentro del directorio principal de Moodle en el servidor.

Despues, el instalador comprobará las características del servidor y sugerira cómo resolver algun problema de configuración.

4.-Configuración de Moodle

Creado el archivo config.php, el instalador continua a una pagina de Administración donde tenemos que aceptar la licencia GPL, para continuar despues con la creación de todas las tablas en la base de datos que previamente hemos creado en el servidor.

OJO: Si algo no funciona en este paso hay que revisar un par de cosas:

  • Que los datos que hemos introducido en config.php son correctos (nombre bbdd, nombre usuario, contraseña…)
  • Que PHP no este configurado en “Safe mode”: En Cpanel hay una opción “PHP Configuration” donde podemos comprobar que este no es el problema. en el caso de que lo fuera, suele haber otra opción “php.ini QuickConfig” donde podemos configurar este parametro, sino lo hubiera, hay que ponerse en contacto con el soporte del servidor

Si continuamos con la instalación, veremos un formulario en el que se pueden definir más variables de configuración, como el idioma por defecto, el servidor SMTP etc… No es imprescindible ponerlo todo correctamente, ya que posteriormente podemos completar esta información desde el panel de Administración de Moodle.

Entonces comienzan a crearse las tablas en el servidor para los distintos modulos de Moodle. Una vez terminado este paso, nos pedirán configurar algunos datos básicos del sitio como el nombre, formato, descripción…

Finalmente, se nos pedira que creemos un usuario administrador para gestionar la administración de Moodle (Completamos nombre, dirección de correo electrónico, etc…)

OJO: Si hay algún problema en este paso normalmente podremos entrar usando el usuario “admin”, con contraseña “admin”.

Y ya esta finalizada la instalación de Moodle. Ya podemos ir a la página principal del sitio y empezar a investigar como manejar este LMS.

PERO…

Hay que hacer unas cuantas cosas más para que nuestro Moodle funcione correctamente:

1.-Configurar el CRON

Moodle necesita que se le hagan unas tareas de “mantenimiento” para que funcione correctamente. Moodle requieren revisiones continuas para llevar a cabo determinadas tareas. Por ejemplo, Moodle necesita revisar los foros de discusión para poder enviar copias de los mensajes a las personas que están suscritas. El script que hace esto está en el directorio admin de la instalación, y se llama cron.php.

http://tuservidor/moodle/admin/cron.php

Habría que ejecutar este script cada 5 minutos (valor recomendado, sino tambien se puede hacer cada 15 o 30 minutos), por lo que, lo más comodo es ir de nuevo a Cpanel y crear un “Crontab” o “Cron Jobs” de este estilo:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

donde los primeros términos (*/5 * * * *) indican un intervalo de tiempo de 5min 8normalmente hay unos campos específicos en Cron Jobs para introducir este intervalo).

2.-Configurar determinados parámetros en Moodle

En el Panel de Administración de moodle hay que verificar que los siguientes parametros estan configurados:

  • Configuración> Administración del sitio> Servidor> Email: Configura tu servidor SMTP y la autenticación si se requiere (para que Moodle pueda enviar mensajes de correo electrónico).
  • Configuración> Administración del sitio> Servidor> Rutas del Sistema: Establecer las rutas de acceso a du, dot y aspell (en hostgator podemos verlo en esta pagina de paths).
  • Configuración> Administración del sitio> Servidor> HTTP: Si estás detrás de un firewall puede que tengas que establecer tus credenciales de proxy en la sección ‘proxy web’.
  • Ajustes> Ajustes de administración del sitio> Ubicación> Actualización de las zonas horarias.

3.-Configurar los backups

Importante para nuestra “salud mental” es que tengamos clara nuestra politica de backups en Moodle. hay que hacer backup de:

  • Los datos almacenados en la base de datos (por ejemplo, una base de datos MySQL): Lo podemos hacer gracias a Cpanel y phpMyAdmin
  • Los archivos subidos (situados en moodledata): mediante algún programa FTP, podemos descargarnos el archivo con cierta regularidad.
  • El código de Moodle (en la carpeta /moodle). Como en el caso anterior o mediante la opción de backup de Cpanel.

4.-Chequear que el Mail de Moodle funciona

Hay que crear un usuario de prueba con una dirección válida de correo electrónico y enviar un mensaje. ¿Recibes una copia por correo electrónico del mensaje? Si no, hay que revisar la configuración en Configuración> Administración del sitio> Extensiones> Salida de mensajes> Email.

5.-Recomendaciones de Seguridad en Moodle

  • Actualizar Moodle regularmente con cada nueva versión
  • ¡Register Globals  en el servidor debe ser deshabilitado!
  • Comprobar que “Password Salting” esta bien configurado en config.php ($CFG->passwordsaltmain = ‘cadena de caracteres aleatoria y muy larga’;)
  • Utiliza contraseñas seguras para la administración y los maestros (Puedes poner unos minimos en Configuración> Administración del sitio> Seguridad> Políticas del sitio)
  • Sólo dar cuentas de profesores a los usuarios de confianza.
  • No repitas contraseñas para distintos servicios en tu servidor o en tu correo
  • Haz continuos backups
  • Suscribete a las alertas de seguridad de Moodle:

6.-Solución de errores al instalar Moodle

Si despues de todo este proceso, has tenido algún problema con Moodle o algo no funciona, lo mejor es que consultes esta sección de Moodle.org: Installation FAQ