# Guia de Instalación de Chamilo 1.10

# Chamilo 1.9 - Guía de Instalación

Gracias por descargar Chamilo, la suite de aprendizaje de código abierto profesional.

- Prueba Chamilo en nuesto Campus libre

Esta guía explica como instalar Chamilo LIBRE. Por favor, léala completamente antes de proceder con la instalación.

English: Get back to the English version of the installation guide.

French: Vous pouvez aussi lire ce guide d'installation en français.

Italian: You can also read this guide in Italian.

## Contenidos

1. Prerrequisitos
2. Instalación de Chamilo LMS
3. Actualizar desde una versión previa de Chamilo o Dok€os
4. Resolución de problemas
5. Sección de administración
6. LDAP
7. Fórmulas Matemáticas con LaTeX
8. Fórmulas Matemáticas con ASCIIMathML
9. Fórmulas Matemáticas con WIRIS
10. Indexación de texto completo con Xapian
11. Chamilo Rapid - sistema conversion PPT
12. Configuración de tareas programadas
13. Cambiando el orden del nombre/apellido en el idioma
14. Configuraciones opcionales para Apache y Nginx

## 1. Prerrequisitos

Chamilo puede ser instalado indiferentemente en servidores Windows, Linux, Mac OS X y UNIX. Sin embargo, nosotros recomendamos el uso de un servidor Linux para una óptima flexibilidad, control remoto y escalabilidad.

Chamilo es fundamentalmente un LMS que se ejecuta con Apache (1.3, 2.0 o 2.2), MySQL 5.1 (o MariaDB) y PHP 5.4 (trilogía también llamada AMP).

Todo este software es software de código abierto y está disponible libremente.

Para ejecutar Chamilo LMS en su servidor, necesita instalar WAMP, LAMP o MAMP:

- Para instalar WAMP (AMP en Windows), recomendamos el instalador XAMPP.exe
- Para instalar LAMP (AMP en Linux), use el administrador de paquetes de su distribución favorita (Synaptic, RPMFinder etc.). Por ejemplo, en un servidor Ubuntu, use Shell o Synaptic siguiendo la Ubuntuguide on Apache y las secciones siguientes.
- Para instalar MAMP (AMP en Mac OS X), referirse al sitio web dedicado a MAMP
- Asegúrese de revisar la página Dependencias, si necesita saber los requisitos de una manera más precisa.

### Servidor de Base de Datos MySQL

Usted necesitará un nombre de usuario y contraseña que le permita administrar y crear una base de datos. Por lo general, la configuración predeterminada en los equipos locales es permitir que usted conecte como root con una contraseña vacía. Se recomienda cambiar la contraseña y definir un usuario con acceso sólo a una base de datos específica. Por favor, consulte la documentación de MySQL o MariaDB con el fin de hacer esto.

Nota:Esto se ha simplificado en gran medida desde la versión 1.9, ya que antes era necesario elegir entre múltiples bases de datos y un modo obsoleto de una sola base de datos.

## 2. Instalación de Chamilo LMS

- Descargar Chamilo LMS
- Descomprimirlo.
- Copiar el directorio de Chamilo en su directorio web de Apache. Este puede ser C:\xampp\htdocs\ en un servidor Windows o /var/www/html/ en un servidor Linux.
- Abrir su navegador web (Internet Explorer, Firefox, Chrome, ...) y escribir http://localhost/chamilo/ si se instala de manera local o http://www.domain.com/chamilo/ si se instala remotamente.
- Seguir el proceso de instalación web. Usted puede aceptar todos los valores predeterminados. Considere cambiar la contraseña de administrador y recuérdela.

Los siguientes directorios necesitan tener permisos de lectura, escritura y ejecución en el servidor web. Esto por lo general no requiere ninguna acción específica en los servidores de Windows, pero se requiere un "chmod" bajo Linux y Mac. Consulte las siguientes instrucciones.

Remplace [chamilo] por el directorio en el cual está ubicado su Chamilo:

- [chamilo]/app/config/
- [chamilo]/app/upload/users/
- [chamilo]/app/upload/sessions/
- [chamilo]/app/upload/courses/
- [chamilo]/main/default_course_document/images/
- [chamilo]/app/cache/
- [chamilo]/app/courses/
- [chamilo]/app/home/

Opcionalmente, puede hacer lo mismo a los directorios siguientes si desea activar la subida de paquetes de estilos CSS y la definición de sub-idiomas:

- [chamilo]/main/css/
- [chamilo]/main/lang/

Desde Chamilo 1.8.8, también puede habilitar funciones de indexación de texto completo que requieren la instalación de la extensión del módulo PHP php5-xapian. Si usted hace uso de él, usted tendrá que permitir que el sistema pueda escribir en el directorio searchdb:

- [chamilo]/searchdb

Si usted encuentra un directorio de tests/ en la raíz de su paquete de instalación, por favor elimínelo. Este es un directorio de desarrollo que no ha sido chequeado por cuestiones de seguridad, no debería ser *nunca* accesible a los usuarios finales en un servidor de producción.

En Linux, Mac OS X y sistemas operativos BSD puede usar el comando "chmod 0775" para cambiar estos permisos (aunque nosotros recomendamos que busque la ayuda de un administrador de sistemas con experiencia para evitar fallas de seguridad). En Windows, es probable que necesite revisar las propiedades de los directorios (mediante el uso del clic derecho en ellos).

Los siguientes directorios necesitan tener permisos de lectura y escritura para el navegador web, sólo durante la instalación de Chamilo:

- chamilo/main/inc/conf/ (si está presente)

En Linux, Mac OS X y sistemas operativos BSD usted puede usar el comando "chmod 666" para esto (aunque nosotros recomendamos que busque la ayuda de un administrador de sistemas con experiencia). En Windows, es probable que usted necesite revisar las propiedades de los directorios (mediante el uso del clic derecho en ellos).

NOTAS:
No modifique los archivos home_*.html directamente. En vez de hacer esto, seleccione "Configurar la página de inicio" en la sección de administración de Chamilo.

Windows : con paquetes combinados de todos en uno como XAMPP, usted puede instalar Chamilo facilmente. En este caso (y si no lo utiliza en la producción), el nombre de usuario y una contraseña para MySQL probablemente permanecerá vacía.

### Configuración y seguridad después de la instalación

- Proteger su directorio de configuración: asegurarse que nadie pueda sobreescribirlo. Usted puede encontrar el directorio de configuración en (carpeta de chamilo)/main/inc/conf. Hacerlo de solo lectura (windows/xwindows: clic derecho en el archivo para editar las propiedades. linux/bsd/macosx: usar el comando chmod 0555). El archivo de configuración es creado por el servidor web (Apache + PHP, normalmente), por lo tanto usted necesita ser administrador para cambiar sus permisos.
- Proteger su directorio de instalación: si el (directorio de Chamilo) directorio /main/install sigue accesible, alguien podría instalar de nuevo sobre la versión existente (usted puede perder sus datos de esta manera). Por ello es muy importante que mueva el directorio a algún lugar fuera de los directorios web para que no se encuentre accesible, cambie su nombre, bórrelo completamente o edite sus propiedades para que nadie pueda leerlo o ejecutarlo.
- Para mayor seguridad: hacer que todos los archivos posean permisos de escritura facilita la instalación y resuelve muchas dudas a las personas con poca experiencia en administración. Sin embargo, es más seguro hacer que el propietario de los archivos y carpetas de Chamilo sea un usuario distinto y conceder sólo al servidor web permisos de lectura sobre todos los ficheros, y permisos de escritura a los directorios previamente mencionados. De esta manera, estos archivos sólo necesitan ser accesibles y escribibles por el propietario el proceso Apache, no por el mundo entero. También sería recomendable hacer que todos los directorios con permisos de escritura rechazaran la interpretación de los archivos PHP ( a excepción de la raíz de los directorios de cursos). No dude en contratar a un administrador con experiencia para hacer eso, puede que sea un poco más caro ahora, pero estará feliz de no tener que perder todos sus datos por el ataque de un hacker a su sitio.
- Configurar su instalación de Chamilo: en la sección de administración de Chamilo, usted puede usar las Opciones de Configuración de Chamilo para ajustar el comportamiento de su instalación.
- Configurar correo de Chamilo: la mayor parte de Chamilo usa las configuraciones de correo del archivo php.ini. Sin embargo, si usted usa un servidor de correo distinto, es posible que necesite ajustar la configuración de correo electrónico en el (directorio de Chamilo)/main/inc/conf/mail.conf.php.
- Consulte nuestra nueva guia de seguridad para más información.

### Configuración PHP

Para obtener lo mejor de Chamilo, necesita ajustar la configuración de PHP. Considere:

- Editar el archivo php.ini (en Windows puede estar ubicado en C:\xampp\php\php.ini, en Ubuntu Linux : /etc/php5/apache2/php.ini
- Buscar la palabra "_max" y incrementar los valores para optimizar el servidor
- Nosotros recomendamos ajustar los siguiente valores (lo que sigue ";" son comentarios):

max_execution_time = 300 ;Tiempo máximo de ejecucion para cada script, en segundos
max_input_time = 600 ;Tiempo máximo que cada script que puede emplear para analizar los datos solicitados
memory_limit = 256M ;Maxima cantidad de memoria que un script puede consumir (128MB)
post_max_size = 100M
upload_max_filesize = 100M

Algunos usuarios pueden encontrar problemas si en sus configuraciones de PHP no se ajustan los siguientes parámetros:

- short_open_tag = On
- safe_mode = Off
- magic_quotes_gpc = On
- magic_quotes_runtime = Off

En versiones de Chamilo/Dok€os anteriores se requería que register_globals estuviera configurada en On. Esto ya no necesario, puede (y debería) estar configurado en Off y Chamilo funcionará bien.Se considera una mala elección en términos de seguridad configurar register_globals a On.

Nota: Se necesita configurar la variable date.timezone a la zona horaria de su servidor. Por ejemplo, si su servidor está en la zona horaria 'America/Lima', modificar en el php.ini:

date.timezone = 'America/Lima'

Usuarios BSD: estas bibliotecas de php tienen que ser incluidas durante la instalación de php:

- php-mysql La extensión compartida de mysql para php
- php-pcre La extensión compartida de pcre para php
- php-session La extensión compartida de sesión para php
- php-zlib La extensión compartida de zlib para php
- (opcional) php-ldap si se desea habilitar el uso de la autenticación de LDAP

También puede necesitar estos módulos y paquetes:

- php-ctype
- php-gd
- php-iconv
- php-json
- php-mbstring
- php-intl
- php-curl
- php-iconv
- php-xsl
- php-xapian

## 3. Actualizar desde una versión previa de Chamilo LMS (1.*) o Dok€os (<2.0)

Antes de actualizar, le recomendamos seriamente que haga una copia de seguridad de los directorios y bases de datos de Chamilo/Dokeos que previamente haya en su servidor. Si no está seguro de cómo hacer esto solicite asistencia a su proveedor de servicios de almacenamiento.

Chamilo LMS 1.9 viene con una nueva estructura de base de datos. Aunque el script de actualización se encarga de la migración, se generará una carga muy alta en su servidor durante la actualización y además cambiará su base de datos completamente, preservando los datos tan bien como sea posible (se ha probado el procedimiento muchas veces, pero recuerde esto es GNU/GPLv3 y no se hace responsable de lo que le ocurran a sus datos sin supervisión profesional). Es por eso que * realmente * recomendamos realizar una copia de seguridad completa de su sistema antes de actualizar.

NOTA: Para sistemas Chamilo con bases de datos muy pesadas, algunos de nuestros proveedores han desarrollado procedimientos usando más memoria pero acortando el tiempo necesario de la migración por hasta 20 veces. No dude en contactar con ellos (referencias más a bajo) si requiere de este tipo de servicios
NOTA: Esta versión de Chamilo sólo se puede utilizar para actualizar desde versiones inferiores de Chamilo o Dok€os. Por ejemplo, no puede utilizar los scripts de actualización normales de Chamilo 1.9 para actualizar desde Dok€oS 2.0. Si usted necesita esto, por favor póngase en contacto con uno de los proveedores oficiales de la Asociación Chamilo)

### 3.1 Actualizar desde Chamilo 1.9.x (actualización menor)

Dado que se trata sólo de un cambio de versión menor previa de Chamilo 1.9.*, lo único que tiene que hacer es:

- Revisar que no ha dejado alguna hoja de estilo personalizada o imagen (si es que tiene, asegúrese de guardar una copia de respaldo)
- Descargar el paquete de instalación de Chamilo 1.9 desde la página de descarga de Chamilo
- Descomprimir los nuevos archivos de Chamilo 1.9 sobre los archivos de la versión anterior (o descomprimirlos en una nueva carpeta y después copiarlos sobre los archivos de la versión anterior)
- Editar el archivo main/inc/conf/configuration.php: hacia el final del archivo, localizar el número de la versión (p.e. ‘1.9.4’) y cambiarlo por la nueva versión (p.e.‘1.9.8’)
- Ya está! Ningún otro procedimiento de actualización es requerido.

### 3.2 Actualizar desde Chamilo 1.8.x

- Compruebe que no ha dejado ninguna hoja de estilo o imagen personalizada (si la tuviera, asegúrese de realizar una copia de respaldo*)
- Descargue el paquete de instalación de Chamilo 1.9 desde la página de descarga de Chamilo
- Descomprima los nuevos ficheros de Chamilo 1.9 sobre los ficheros de la antigua versión ( o descomprima en una carpeta y luego copie los archivos en el directorio de la versión antigua)
- Escriba en su navegador web la URL de su portal + main/install/
- Elija su idioma y haga click sobre Actualizar desde 1.8.x

### 3.3 Actualizar desde Dok€os 1.8.x

Si usted actualiza desde Dok€os 1.8.x :

- Revisar que no ha dejado alguna hoja de estilo personalizada o imagen*
- Descargar el paquete de instalación de Chamilo 1.9 desde la página de descarga de Chamilo
- Descomprimir los nuevos archivos de Chamilo 1.9 sobre los archivos de la version anterior (o descomprimirlos en una nueva carpeta y después copiarlos sobre los archivos de la versión anterior)
- Apunte su navegador a su portal URL + main/install/
- Escoja su idioma y haga clic en Actualizar desde 1.8.x

Un grupo de administradores de Chamilo han informado de problemas menores con la migración entre versiones considerablemente diferentes (como la de Dok€os a Chamilo). Esto podría suponer perder algunas tareas o mensajes en el foro. Para evitar cualquier efecto desagradable en los usuarios, le recomendamos que primero debe establecer una lista de todo el contenido que es fundamental para usted, y que mantenga una copia de su anterior sítio funcionando. De esta manera, será más fácil de manejar la transición al permitir a los usuarios tener acceso a sus contenidos desde el sitio anterior y haciendo más fácil el que usted pueda comparar las dos instalaciones. Si usted está experimentando dificultades, considere pedir ayuda a un desarrollador de PHP o contratar a un proveedor oficial de Chamilo. Ellos se asegurarán de que usted obtenga la mejor migración de Chamilo.

* Los estilos e imágenes están ubicados en el directorio main/css o main/img. Usted puede recuperarlos desde la copia de seguridad en el caso de que usted hya tenido la precaución de realizarla. Cualquier estilo o imagen modificada que use el nombre predeterminado style/image será sobrescrita en el siguiente paso. Para evitar perder cualquier personalización, siempre asegúrese de copiar styles/images bajo un nuevo nombre y use y modifique la copia, no el original. El original siempre sera sobrescrito por nuevas versiones. En Dok€os 1.8.5, hemos cambiado el nombre de varios temas CSS. La compatibilidad hacia atrás está asegurada por el hecho de que una actualización sólo agrega los nuevos temas, sin embargo usted debe usar estos nuevos temas en lugar de quedarse con los antiguos que quedarán obsoletos dentro de poco (sin mantenimiento).

### 3.4 Actualizar desde Dok€os 1.6.x

Si usted actualiza desde una versión anterior a Dok€os (1.6.x), lo primero y mas importante a hacer es *mover* su directorio actual hacia otro lugar.

Una manera simple de hacer esto es crear un subdirectorio llamado "version_antigua" en su directorio actual de Dok€os y luego mover todo dentro de este, usando un sencillo comando "mover" (ejem. en Linux: mkdir version_antigua; mv * version_antigua/), luego dar permisos de escritura al directorio version_antigua para el servidor web para que los directorios courses/ y upload/ puedan moverse desde la antigua instalación a la nueva.

El proceso completo es como sigue:

- Mover los contenidos del directorio de Dokeos a un subdirectorio llamado version_antigua y darle permisos de escritura por el servidor web. Esto es importante para permitir mover los directorios courses/ y upload/ a la nueva instalacion
- Descargar el paquete de instalacion de Chamilo 1.9 desde la página de descarga de Chamilo
- descomprimir los nuevos archivos de Chamilo 1.9 en el directorio principal de Chamilo/Dok€os. El nuevo directorio principal debe estar ubicado directamente dentro de su directorio raiz de Chamilo
- Apuntar su navegador a la URL de su portal
- Escoja su idioma y haga clic en Actualizar desde 1.6.x y confirme el directorio actual de la versión antigua

NOTA: La actualización desde 1.6.x a 1.9.x implica una revisión de los gráficos y estilos personalizados. La nueva versión usa un completo nuevo conjunto de iconos y estilos, lo cual significa que aquellos provenientes de la versión 1.6 no pueden ser simplemente reusados. La buena noticia es que la versión 1.9.x le permite crear su propio estilo en un directorio css separado, el cual se puede reusar en todas las versiones 1.9.x

ADVERTENCIA:
No elimine el directorio de instalación previo de Chamilo/Dok€os antes de instalar el nuevo. Usted puede eliminar la ruta antigua, cuando la actualización haya finalizado satisfactoriamente.

NOTA:
No modifique los archivos de home_*.html directamente. En lugar de ello, seleccione "Configurar la página de inicio" en la sección de administración de Chamilo.

### 3.4 En ambos casos

Los siguientes directorios necesitan permisos de lectura, escritura y ejecución para el servidor web:

- [chamilo]/app/config/
- [chamilo]/app/upload/users/
- [chamilo]/app/upload/sessions/
- [chamilo]/app/upload/courses/
- [chamilo]/app/cache/
- [chamilo]/app/courses/
- [chamilo]/app/home/
- [chamilo]/app/logs/
- [chamilo]/main/default_course_document/images/

En Linux, Mac OS X y sistemas operativos BSD esto se puede arreglar rápidamente mediante el uso del comando CHMOD 777, sin embargo si usted no está seguro, le recomandamos que busque asistencia para su propio SO en nuestro foro. En Windows, quizás necesite revisar las propiedades de las carpetas.

### 3.5 Guía de actualización rápida desde 1.6.x para Linux

La siguiente guía de actualización rápida rapida asume lo siguiente:

- El nombre de usuario de la base de datos de Chamilo (para MySQL) es "chamilo_db_user" y su acceso es "chamilo_user"
- Actualmente la instalacion de Chamilo/Dokeos esta en /var/www/chamilo/ y tiene permisos 777
- La URL de su portal es http://www.portalurl.com/

Escribir en la línea de comandos:

- cd /tmp
- mysqldump -u chamilo_db_user -p --all-databases --result-file=/home/chamilo_user/chamilo_old.sql
- cp -ra /var/www/chamilo /home/chamilo_user/backup_chamilo
- mkdir /var/www/chamilo/version_antigua
- mv /var/www/chamilo/* /var/www/chamilo/version_antigua/
- chmod -R 0777 /var/www/chamilo/version_antigua/
- wget http://www.chamilo.org/files/chamilo-1.9.10.tar.gz
- tar zxvf chamilo-1.9.10.tar.gz
- sudo cp -ra chamilo-1.9.10/* /var/www/chamilo/
- rm chamilo-1.9.10.tar.gz
- sudo rm -r chamilo-1.9.10/

Luego (para actualización desde versiones anteriores a la 1.8.7):

- Direccionar su navegador web hacia http://www.portalurl.com/main/install/
- Proceder con la instalación
- Revisar los permisos de los directorios

## 4. Solución de problemas

Si usted tiene problemas, vaya al Sitio Web de Chamilo y haga una pregunta en el foro de soporte. Por favor, primero lea los mensajes previos para ver si existe ya una respuesta a su pregunta. Nosotros también mantenemos una lista de Preguntas Frecuentes.

##

## 5. Sección de Administración

Para acceder a la sección de administración de Chamilo, abra el navegador, diríjase a su dirección de Chamilo y acceda a el con el usuario admin. Luego usted verá un enlace a la "Sección de administración de la plataforma" en la parte superior de la página web. En ese lugar usted puede administrar usuarios, cursos, secciones, apariencia del portal contenido de la página principal, categorías de cursos, entre otros.

## 6. LDAP

Esta parte es opcional, solamente organizaciones con un servidor LDAP necesitan leer esto.
Un módulo LDAP está ya implementado en Chamilo, pero debe ser configurado para que tenga un correcto funcionamiento.

### Compilar

Servidores Linux: Es posible que se requiera recompilar PHP con soporte para LDAP. Distribuciones nuevas también permiten descargar rpms para los paquetes adicionales.

### Activar LDAP en Chamilo

Nota:El mecanismo de LDAP ha cambiado en 1,9. Como resultado, parte de la información siguiente puede no ser correcta. Por favor, compruebe los ajustes de configuración dentro de Chamilo para conocer los detalles.

En (la carpeta de Chamilo)/main/inc/conf/configuration.php, aproximadamente en la line 90, se puede ver
//for new login module
//uncomment these to activate ldap
//$extAuthSource['ldap']['login'] = "./main/auth/ldap/login.php";
//$extAuthSource['ldap']['newUser'] = "./main/auth/ldap/newUser.php";
eliminar // de las dos últimas líneas para activar LDAP.

### Configuraciones

Solicitar al administrador del servidor LDAP los siguientes datos:

- nombre del servidor ldap
- puerto del servidor ldap (usualmente 389)
- dc del ldap

Desde 1.8.5, usted tiene que cambiar las configuraciones de LDAP dentro del panel "Administración del Portal", bajo "Opciones de configuración de Chamilo", sección "LDAP".
Como ejemplo, usted debe encontrar tipos de valores como los siguientes:
Dirección principal del servidor LDAP: "miservidorldap.com"; // su servidor ldap
Puerto principal del servidor LDAP: 389; // el número de puerto de su servidor ldap
dominio LDAP: "dc=xx, dc=yy, dc=zz"; //dominio

### Estado Profesor/Estudiante

De manera predeterminada, Chamilo revisará si el campo "employeenumber" tiene un valor. Si lo tiene, entonces Chamilo considerará que este usuario es profesor.
Si usted desea cambiar este comportamiento, usted puede editar main/auth/ldap/authldap.php, la función ldap_put_user_info_locally(), y cambiar la condición if (empty($info_array[$tutor_field])) a la que a usted mejor le convenga.
Adicionalmente usted puede suprimir esta revisión, eliminando la condición y dejando solamente la linea $status = STUDENT;

### Servidores LDAP protegidos

Algunos servidores LDAP no permiten usos anónimos de los servicios del directorio.
En este caso, usted debe rellenar los campos apropiados en el panel de administración (ej. "manager" y "mypassword") y Chamilo tratará de autentificarse usando esto, o volver al modo anónimo antes de darse por vencido.

### Importar LDAP en sesiones

Existe un nuevo grupo de scripts que permiten insertar usuarios desde LDAP directamente a una sesión de Chamilo. Sin embargo, esto se basa en un conjunto de opciones estáticas en los atributos de contacto de LDAP.
Los campos usados intensivamente por el módulo de Chamilo son:

- uid, el cual se corresponde con el username en Chamilo
- userPassword, el cual se corresponde con la contraseña del usuario. Aunque esta parte, por ahora, solamente funcionará con contraseñas no encriptadas, no será necesaria si se usa el servidor LDAP para la autentificación.
- ou debe terminar con el año de registro de la persona o cualquier criterio que usted use para filtrar a los usuarios, de manera que ellos puedan obtenerse con ese criterio
- sn es usado como el campo lastname en Chamilo
- givenName es usado como el campo firstname en Chamilo
- mail es usado como el campo email en Chamilo

## 7. Fórmulas Matemáticas con LaTeX

Esta parte es opcional, sólo interesa a las organizaciones que deseen usar fórmulas matemáticas dentro del editor en línea.
Usted puede habilitar la escritura de ecuaciones matemáticas dentro del editor en línea de Chamilo (FCKEditor) aplicando los siguientes pasos:

- 1. Configurar su instalación de Apache para agregar un directorio cgi-bin que contenga un enlace simbólico a mimetex.cgi en chamilo/main/inc/lib/mimetex/(*ver debajo)
- 2. Recargar su configuración de Apache
- 3. Editar chamilo/main/inc/lib/fckeditor/myconfig.js y
  - 3.1. Agregar FCKConfig.Plugins.Add("mimetex", "en", sOtherPluginPath ) ; al final del archivo
  - 3.2. Agregar 'mimetex' al final de las lineas FCKConfig.ToolbarSets donde usted desee que el icono de LaTeX aparezca (existe un FCKConfig.ToolbarSets por herramienta). Por ejemplo:
    FCKConfig.ToolbarSets["Test"] = [
    ['Bold','Italic','Underline','StrikeThrough','Subscript','Superscript','Link','Unlink','ImageManager','MP3','OrderedList','UnorderedList','Table','mimetex']
    ] ;
    Usted puede agregarlo a todas las herramientas, o sólo a alguna de ellas (por ej., documentos y ejercicios)
- 4. En raras ocasiones puede ser necesario realizar ajustes manuales editando el fichero /chamilo/main/inc/lib/fckeditor/fckeditor.php
- 5. Limpiar la cache de su navegador para probarlo (muy importante). Esto se puede hacer mediante el uso de la página de configuraciones de su navegador
- 6. Realice estos cambios: Agregar el directorio cgi-bin correspondiente a su configuración de Apache puede ser realizada de esta manera, en Apache 2:
  ScriptAlias /cgi-bin/ /var/www/cgi-bin/
  <Directory "/var/www/cgi-bin">
  AllowOverride None
  Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
  </Directory>
  Agregar un enlace simbólico bajo Windows, puede ser realizado mediante la creación de un acceso directo al archivo mimetex.exe desde el directorio cgi-bin, o bajo Linux usando el siguiente comando:
  ln -s /var/www/chamilo/main/inc/lib/mimetex/mimetex.cgi /var/www/cgi-bin/mimetex.cgi

  Si no quiere modificar su Apache, alternativamente a este punto 6: copie mimetex.exe (para Windows) o mimetex.cgi (para Linux) en su cgi-bin/

- 7. Asegurarse que el archivo mimetex.cgi (o mimetex.exe) ha sido subido al servidor usando el formato BINARY. Es posible que el servidor de un error 500 cuando se intenta entrar a cgi-bin/mimetex.cgi a pesar de que los permisos están correctos. Probar volviendo a subir el archivo usando FTP (ASCII format) o si no usando el "administrador de archivos" o CPanel. Si el error persiste contactar con el administrador del servidor para habilitar el acceso público del archivo cgi-bin/mimetex.cgi.

Este procedimiento creará un nuevo icono en su editor en línea de Chamilo, el cual hará posible la inserción de fórmulas matemáticas en sus documentos.

## 8. Fórmulas matemáticas con ASCIIMathML

Las fórmulas matemáticas pueden ser renderizadas en páginas web usando el script ASCIIMathML.js (en su versión modificada para Chamilo). Para más información sobre este script y sobre la sintaxis de fórmulas de ASCIIMath, ver http://www1.chapman.edu/~jipsen/mathml/asciimath.html y http://dlippman.imathas.com/asciimathtex/AMT.html.

Para escribir fórmulas ASCIIMath en documentos, es necesario activar el plugin correspondiente del editor en línea. Para hacerlo, ver la sección de administración de la plataforma, "Administración > Parámetros de configuración > > Editor WYSIWYG". Activar el parámetro "Editor matemático ASCIIMathML".

El script ASCIIMathML.js puede mostrar fórmulas matemáticas en los documentos de dos formas:

- Traduciendo las fórmulas en notación ASCIIMath en código MathML. El estándar MathML está soportado actualmente sobre tres navegadores:
  - Mozilla Firefox: debería considerar la instalación de las fuentes de carácter STIX (http://www.stixfonts.org) en sus máquinas cliente para tener fórmulas bonitas
  - Internet Explorer 6 o superior, con el add-on MathPlayer 2.0 o superior (http://www.dessci.com/en/products/mathplayer)
  - Opera 9.5 o superior
- Traduciendo la notación de fórmulas ASCIIMath en notación TeX y pasándolo a un servicio externo. Se debe usar en el caso de navegadores que no soporten MathML. El servicio externo produce y devuelve un imagen que contiene la fórmula. Esta técnica se llama "image-based fallback".

Para proveer image-based fallback en un sistema en producción, debería seleccionar e instalar en su servidor algun software de renderización TeX, como:

- mimeTeX - http://www.forkosh.dreamhost.com/source_mimetex.html. Ver "7. Fórmulas matemáticas con LaTeX" para instalar el ejecutable mimetex en su servidor
- mathTeX - http://www.forkosh.com/mathtex.html. Ver el sitio para instrucciones de instalación

Y como alternativa, puede intentar servicios públicos, como:

- MathTran - http://www.mathtran.org
- Google Chart Tools - http://code.google.com/apis/charttools

Abrir el fichero .../chamilo/main/inc/lib/asciimath/ASCIIMathML.js con un editor de texto. Encuentre un lugar al inicio de la línea que inicializa la variable AMTcgiloc. Podría necesitar modificar el ejemplo para tener algo como:

- var AMTcgiloc = "http://mychamiloserver.org/cgi-bin/mimetex.cgi";
- var AMTcgiloc = "http://mychamiloserver.org/cgi-bin/mathtex.cgi";
- var AMTcgiloc = "http://www.mathtran.org/cgi-bin/mathtran?tex=";
- var AMTcgiloc = "http://chart.googleapis.com/chart?cht=tx&chs=1x0&chl=";
- ... o algo similar

Para formas de probar como la variable AMTcgiloc tiene que ser configurada, existen unos ejemplos (en comentario) dentro del script.

## 9. Fórmulas matemáticas con WIRIS

Instalando este plugin obtendrá WIRIS editor y WIRIS CAS.
La activación no se realiza completamente si previamente no ha descargado el PHP plugin for FCKeditor de WIRIS y descomprimido su contenido en el directorio de Chamilo main/inc/lib/fckeditor/editor/plugins/fckeditor_wiris/
Esto es necesario debido a que Wiris es un software propietario y los servicios de Wiris son comerciales. Para realizar ajustes en el plugin edite el archivo configuration.ini o sustituya su contenido por el de configuration.ini.default que acompaña a Chamilo.

## 10. Indexación de texto completo con Xapian

Nota: Este paso requiere de un servidor dedicado o servidor virtual privado (VPS) porque los paquetes involucrados no están disponibles en la mayoría de soluciones de hosting compartido.

En Debian o Ubuntu 10.04 o superior, usted simplemente puede instalar el paquete php5-xapian y reiniciar su servidor web:

    sudo apt-get install php5-xapian
    sudo /etc/init.d/apache2 restart

A continuación, vaya a la página de administración -> Ajustes de configuración -> Buscar y habilitar la herramienta de búsqueda. Siga las recomendaciones de la página para obtener la suite completa de indexación instalada. Una vez que haya terminado, todos los documentos importados en su portal Chamilo en un formato reconocido serán indexados y buscados. En formación de administradores de Chamilo ( el cual puede preguntar a cualquier Proveedor Oficial de Chamilo) incluyen una revisión completa de la función de búsqueda de texto completo.

## 11. Chamilo Rapid - sistema conversion PPT

Nota: Este paso requiere un servidor dedicado o un servidor dedicado virtual ya que los paquetes involucrados no están disponibles en la mayoría de soluciones de hosting compartido. (Consulte con su proveedor):

En Debian o Ubuntu 11.10 y superior, instale LibreOffice.org v3 e iniciarlo como un servidor en segundo plano:

    sudo apt-get install libreoffice
    sudo soffice --accept="socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;" --headless --nodefault --nofirststartwizard --nolockcheck --nologo --norestore &

A continuación, vaya a la página de administración -> Chamilo Rapid y establecer el host a "localhost" y el puerto a "2002". Guarde los cambios. Vaya a su curso, en la pantalla de herramientas de aprendizaje y verá que apareció un nuevo icono. Importar tu PPT. Esto debería funcionar. Otra possibilidad es lanzar soffice desde una instancia de "screen", sin el & al final.

Nota: A veces, esto no se resuelve tan fácilmente. Usted probablemente tenga que solicitar la asistencia de algún administrador de sistemas con un poco de experiencia en Java y PHP, o siempre podrá preguntar a uno de los proveedores oficiales de Chamilo para asistirle (pregunte por un contrato comercial garantizado). Nota: Si usa la versión 4 de LibreOffice, es importante notar que la versión 4.2 (disponible en Ubuntu 14.04) ha mostrado resultados considerablemente más exitosos al momento de convertir documentos que la versión 4.1 (disponible en Ubuntu 13.10), la cual tiene tendencia a colgarse durante las conversiones.

## 12. Configuración de tareas programadas

Desde Chamilo 1.8.8, algunas tareas necesitan ejecutarse con regularidad con el fin de obtener lo mejor de los recursos del servidor. Una de las tareas de este tipo (y el único en todo en el momento de Chamilo 1.8.8) es el envío de notificaciones de mensajería interna por e-mail, es decir, cuando usted recibe un correo electrónico de otra persona o de un grupo dentro de la mensajería interna del sistema de Chamilo, si se envían todos los e-mails inmediatamente, puede que no llegue a recibir el correo a su ritmo, una vez al día o una vez a la semana. Para casos como este, como administrador de Chamilo, debe configurar un proceso cron en el servidor para comprobar la cola de mensajes de correo electrónico y enviarlo puntualmente.

Configurar una tarea de cron es fácil y hay varias maneras de hacerlo. Le recomendamos echar un vistazo a la documentación de Drupal para configurar el cron y definir su propio proceso de cron como:

    35 * * * * wget -O - -q -t 1 http://campus.example.com/main/cron/run.php

Asegúrese de revisar el run.php tal vez desee cambiar algunas algunas opciones de configuración.

## 13. Cambiando el orden del nombre/apellido en el idioma

Como Chamilo se hace más popular y atraviesa muchas fronteras ahora, es frecuente que los administradores quieran pedir cambiar el orden del nombre y apellido en los campos de las tablas, y también en qué campo se pondrá en primer lugar.

Esto fácilmente se puede modificar editando el archivo main/inc/lib/internationalization_database/name_order_conventions.php, buscando nuestro idioma y cambiando los campos. Es tan simple que se explica por sí mismo y se ve así:

    'simpl_chinese' => array( 'format' => 'title last_name first_name', 'sort_by' => 'last_name' ), // Eastern order

Siéntase libre de cambiar esto a

    'simpl_chinese' => array( 'format' => 'title first_name lastname', 'sort_by' => 'last_name' ), // Eastern order

por ejemplo. El efecto debería ser inmediato.

## 14. Configuraciones opcionales para Apache y Nginx

Dadas las nuevas actualizaciones de servidores web y la fragilidad en cuanto a seguridad de archivos facilmente localizables por atacantes como los htaccess, se aconseja restringir las configuraciones a un solo archivo. A continuación se presentan dos ejemplos de configuración de modo que no se dependa de los archivos .htaccess.

Nginx: La configuración para nuestro sitio de ejemplo my.chamilo10.net (en el cual los archivos se han almacenado en /var/www/my.chamilo10.net/www) sería la siguiente, tomando como supuesto el uso de php5-fpm a través de sockets:

    server {
      listen 80;
      server_name my.chamilo10.net;
      rewrite_log off;
      access_log /var/log/nginx/my.chamilo10.net-access.log;
      error_log /var/log/nginx/my.chamilo10.net-error.log debug;
      root /var/www/my.chamilo10.net/www;
      index index.php;
      port_in_redirect off;

      location / {
        #client_max_body_size 20M;
        #try_files $uri /index.php$is_args$args;
        #rewrite ^/courses/([^/]+)/$ /main/course_home/course_home.php?cDir=$1 last;
        #rewrite ^/courses/([^/]+)/index.php$ main/course_home/course_home.php?cDir=$1 last;
      }
      location ~ ^/(app_dev|config)\.php(/|$) {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
      }
      location ~ ^/app\.php(/|$) {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
        # Prevents URIs that include the front controller. This will 404:
        # http://domain.tld/app.php/some-path
        # Remove the internal directive to allow URIs like this
        #internal;
      }

      location ~ \.php$ {
        client_max_body_size 20M;
        try_files $uri /index.php$is_args$args;

        rewrite ^/certificates/$ /certificates/index.php?id=%1  last;
        rewrite ^/courses/([^/]+)/$ /main/course_home/course_home.php?cDir=$1 last;
        rewrite ^/courses/([^/]+)/index.php$ /main/course_home/course_home.php?cDir=$1 last;
        rewrite ^/courses/([^/]+)/scorm/(.*)$ /main/document/download_scorm.php?doc_url=/$2&cDir=$1 last;
        rewrite ^/courses/([^/]+)/document/(.*)$ /main/document/download.php?doc_url=/$2&cDir=$1 last;
        rewrite ^/courses/([^/]+)/work/(.*)$ /main/work/download.php?file=work/$2&cDir=$1 last;
        rewrite ^/courses/([^/]+)/upload/(.*)$ /app/courses/$1/upload/$2 last;
        rewrite ^/courses/([^/]+)/course-pic85x85.png$ /app/courses/$1/course-pic85x85.png last;
        rewrite ^/courses/([^/]+)/course-pic.png$ /app/courses/$1/course-pic.png last;
        rewrite ^/session/([^/]+)/about/?$ /main/session/about.php?session_id=$1 last;

        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
      }
      location ~ ~\.(ht|git){
        deny all;
      }
      location ^~ /tests/ {
        deny all;
      }
    }

Apache2: La configuración para nuestro sitio de ejemplo my.chamilo10.net sería la siguiente:

    <VirtualHost *:80>
      ServerAdmin root@localhost
      DocumentRoot /var/www/my.chamilo10.net/www
      ServerName my.chamilo10.net
      ErrorLog  /var/log/apache2/my.chamilo10.net-error.log
      CustomLog /var/log/apache2/my.chamilo10.net-access.log combined

      ErrorDocument 401 /public/error-401.html
      DirectoryIndex index.php index.html
      Options Indexes FollowSymLinks

      <LocationMatch "/.git*">
    	order deny,allow
    	deny from all
      </LocationMatch>

      <Directory ~/.>
        AllowOverride None
    	Options -Indexes
      </Directory>

      <Directory "/var/www/my.chamilo10.net/www">
    	RewriteEngine On
    	RewriteCond %{QUERY_STRING} ^id=(.*)$
    	RewriteRule ^([^/.]+)/?$ user.php?$1 [L]
    	RewriteRule ^certificates/$ certificates/index.php?id=%1 [L]
    	RewriteRule ^courses/([^/]+)/$ app/course_home/course_home.php?cDir=$1 [QSA,L]
    	RewriteRule ^courses/([^/]+)/index.php$ main/course_home/course_home.php?cDir=$1 [QSA,L]
    	RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L]
    	RewriteRule ^courses/([^/]+)/work/(.*)$ main/work/download.php?file=work/$2&cDir=$1 [QSA,L]
    	RewriteRule ^courses/([^/]+)/upload/(.*)$ main/courses/$1/upload/$2 [QSA,L]
    	RewriteRule ^courses/([^/]+)/course-pic85x85.png$ main/courses/$1/course-pic85x85.png [QSA,L]
    	RewriteRule ^courses/([^/]+)/course-pic.png$ app/courses/$1/course-pic.png [QSA,L]
    	RewriteRule ^session/(\d{1,})/about/?$ main/session/about.php?session_id=$1 [L]
      </Directory>

      php_value display_errors Off
      php_value log_errors On
      php_value display_startup_errors Off
      php_value post_max_size 300M
      php_value upload_max_filesize 300M
      # E_ALL:  php_admin_value error_reporting 6143
      # E_ALL & ^E_NOTICE:
      php_admin_value error_reporting 6135
      #php_admin_value session.save_path /var/www/my.chamilo10.net/sessions/
      php_admin_value short_open_tag Off
      php_value session.cookie_httponly 1

    </VirtualHost>

Dirección de Contacto: Chamilo
Correo: info@chamilo.org