Gracias por descargar Chamilo, la suite de aprendizaje de código abierto profesional.
Esta guía explica como instalar Chamilo LMS. 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.
Italiano: puoi leggere questa guida anche in italiano.
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:
Todo este software es software de código abierto y está disponible libremente.
Usted necesitará un nombre de usuario y contraseña que le permita administrar y borrar+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.
Desde su versión 1.10, Chamilo requiere del servidor web que pueda gestionar redirecciones.
Es algo muy comunes entre todos los sistemas web (ya sean CMS, LMS, ERP, etc) que permite,
entre otras cosas, el uso inteligente y amigable de las URLs.
Si no usa Apache, debería consultar la sección "Configuraciones opcionales para Apache y
Nginx" al fin de este documento.
Si usa Apache, configurar las redirecciones consta de dos pasos:
<Directory /> AllowOverride All Order allow,deny allow from all </Directory> <Directory /var/www/chamilo/> AllowOverride All Order allow,deny allow from all </Directory>y para Apache >=2.4:
<Directory /> AllowOverride All Require all granted </Directory> <Directory /var/www/chamilo/> AllowOverride All Require all granted </Directory>
Antes de inciar la instalación de Chamilo LMS, debe entender que, como proveemos Chamilo como un paquete de software libre, diversos proveedores (oficiales y no-oficiales) han podido desarrollar extensiones de Chamilo, las cuales han hecho posible la instalación de Chamilo de muchas maneras distintas:
Esta guía solo cubre los dos últimos métodos. Para los demás, siempre podeis consultar las posibilidades con vuestro proveedor.
Para instalar, sigue estos sencillos 6 pasos: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: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).
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.
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; short_open_tag = Off safe_mode = Off magic_quotes_gpc = Off magic_quotes_runtime = Off
Importante: Necesitará configurar el parámetro date.timezone al valor de zona horaria de su servidor. Por ejemplo, si su servidor está en la zona horaria de 'America/New_York', configurar el parámetro date.timezone a este valor en su php.ini:
date.timezone = 'America/New_York'
Nota: PHP 5.3.9 introduce un nuevo parámetro llamado "max_input_vars", que limita la cantidad de elementos que puede enviar en un solo formulario. Si gestiona numerosos usuarios o lecciones muy largas, asegúrese de configurar este parámetro a un valor mayor a su valor predeterminado de 1000.
Usuarios BSD y CentOS: estas bibliotecas de php tienen que ser incluidas durante la instalación de PHP (php5 podría tener que ser reemplazado por php en algunos casos):
También puede necesitar estos módulos y paquetes:
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.10 unifica todos los archivos dentro de cada idioma de la carpeta main/lang/. Si había cambiado algun archivo de idioma directamente (en vez de usar el método recomendado: sub-idiomas), debería tomar una copia de backup de estos cambios antes de actualizar.
exit;en la línea 15, y luego que lo cargue en su navegador como https://vuestrositio.com/main/inc/fix_quiz_id_to_iid.php. Este script arreglará un problema de inconsistencia de identificadores internos de ejercicios, preguntas y respuestas que existía antes del año 2016 (antes de la versión 1.11.0). Si el sistema ha sidot instalado por primera vez con una versión 1.11.0 o superior, no hay nada que hacer.
Chamilo LMS 1.11.x viene con una nueva estructura de base de datos en comparación con 1.9, como fue el caso entre 1.9 y 1.8. Aunque el script de actualización toma la migración a cargo, puede generar una carga alta de recursos en su servidor durante la actualización, y cambiará su base de datos considerablemente, conservando los datos lo mejor posible (hemos probado el procedimiento muchas veces, pero recuerde esto es GNU/GPLv3 y no nos hacemos responsables de lo que sucedería con sus datos sin supervisión profesional). Es por eso que *realmente* le recomendamos que haga una copia de seguridad completa de su sistema antes de actualizar.
También tenga en cuenta que Chamilo LMS 1.10 une todos los archivos de idioma del directorio main/lang/ en un solo archivo por idioma. Si ha cambiado los archivos de idioma directamente (en lugar de usar la manera recomendada: sub-idiomas), debe tomar una copia de seguridad de estas traducciones modificadas antes de actualizar. Los sub-idiomas también pueden requerir algún trabajo manual, pero el procedimiento de actualización no afectará directamente a los sub-idiomas.
Para actualizar desde una versión previa a la 1.9.0, deberá a partir de ahora primero actualizar a la versión 1.9.10.x, para luego actualizar de ahí a la 1.11.x. Podrá encontrar una versión descargable de 1.9.10.x aquí: https://github.com/chamilo/chamilo-lms/releases
ADVERTENCIA:
No elimine el directorio de instalación previo de Chamilo antes de instalar
el nuevo. Usted puede eliminar la ruta antigua, cuando la actualización haya finalizado satisfactoriamente.
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.
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.
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.
Servidores Linux: Es posible que se requiera recompilar PHP con soporte para LDAP. Distribuciones nuevas también permiten descargar rpms para los paquetes adicionales.
Nota: compruebe la configuración de LDAP dentro de Chamilo para conocer los detalles.
En (la carpeta de Chamilo)/app/config/configuration.php, aproximadamente en la line 93, se puede ver:// -> Uncomment the two lines below to activate LDAP AND edit main/inc/conf/auth.conf.php for configuration // $extAuthSource["extldap"]["login"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/login.ldap.php"; // $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys'].$_configuration['code_append']."auth/external_login/newUser.ldap.php";eliminar // de las dos últimas líneas para activar LDAP.
Solicitar al administrador del servidor LDAP los siguientes datos:
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
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;
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.
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:
Instalando este plugin obtendrá Wiris MathType.
La activación no se realiza completamente si previamente no ha descargado el plugin PHP para CKeditor de WIRIS y descomprimido su contenido en el directorio de Chamilo /main/inc/lib/javascript/ckeditor/plugins/ckeditor_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.
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, 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.
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 22.04 y superior, instale LibreOffice v7 (o superior) e inícielo como un servidor en segundo plano:sudo apt-get install libreoffice screen sudo adduser rapid sudo adduser rapid www-data screen sudo -s su - rapid /usr/bin/libreoffice --headless --accept="socket,host=127.0.0.1,port=2002;urp;" CTRL+a, CTRL+dEn versiones previas de LibreOffice, el comando anterior era más complejo. Si lo necesita, verifique versiones anteriores de esta guía de instalación. Tenga en cuenta que esto ejecutará LibreOffice en modo "headless" (gracias a la opción --headless), en un terminal "headless" (gracias a la pantalla). Tu puedes posteriormente regresar a tu terminal "headless" ejecutando:
sudo screen -r
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.
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.
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.
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.
// Custom name_order_conventions //$_configuration['name_order_conventions'] = array( // 'french' => array('format' => 'title last_name first_name', 'sort_by' => 'last_name') //);
// Custom name_order_conventions $_configuration['name_order_conventions'] = array( 'french' => array('format' => 'first_name last_name', 'sort_by' => 'last_name') );por ejemplo. El efecto debería ser inmediato.
$_configuration['enable_x_sendfile_headers'] = true;Si tiene problemas con los archivos que tardan mucho tiempo en descargarse, asegúrese de reconfigurar su servidor web y agregar esta línea. Debería ver una diferencia notable en el tiempo de descarga.
Chamilo admite la conexión a dos servidores de videoconferencia diferentes:
BigBlueButton (versiones 0.81, 0.9 y 1.0) y OpenMeetings.
Aunque BigBlueButton parece más fácil de instalar, más documentado y más estéticamente acabado, algunos usuarios
han manifestado que OpenMeetings consume menos ancho de banda, es menos restrictivo en términos de entornos en
ejecución y ofrece más herramientas y conectores.
La decisión depende de usted, pero en cualquier caso tendrá que instalar un servidor de videoconferencia
por separado del proceso normal de instalación de Chamilo LMS.
Encontrarás una guía de instalación aquí.
Una vez instalados, ejecute un "bbb-conf --secret" sobre línea de comandos para obtener los parámetros que se
solicitan desde la configuración del plugin de la videoconferencia.
Esto debería hacer que aparezca un icono adicional de la herramienta "Videoconferencia" en cada curso.
Chamilo LMS 1.10 es la primera versión que requiere que el servidor web permita las redirecciones de las solicitudes
(y, por lo tanto, también lo hace 1.11).
Para Apache, esto se hace habilitando el módulo Rewrite y permitiendo reemplazos (a través de .htaccess) o agregando
una sección de configuración específica al VirtualHost definido para Apache.
Para Nginx, esto se hace a través de reglas de redirección específicas en el virtual host correspondiente
(cláusula de servidor).
Para asegurarse de que esto no sea demasiado complejo para nadie, recomendamos una configuración a continuación para ayudarlo en ambos casos. Tenga en cuenta que el uso de .htaccess es la manera más fácil pero puede afectar considerablemente la carga de su servidor, dado que los archivos .htaccess se interpretan en *cada* solicitud, mientras que un bloque de configuración en su sección VirtualHost se compila en el momento de la recarga de la configuración.
Para habilitar .htaccess en Apache, solo tiene que marcar 1 cosa: en un bloque <Directory> de la carpeta raíz de Chamilo, asegúrese de que las siguientes líneas estén presentes:
<Directory /> AllowOverride All Order allow,deny allow from all </Directory>o, si está trabajando con Apache 2.4, esa sintaxis cambió un poco y se parece más a esto:
<Directory /> AllowOverride All Require all granted </Directory>
<LocationMatch "/.git*"> order deny,allow deny from all </LocationMatch> <Directory ~/.> AllowOverride None Options -Indexes </Directory> <Directory "/var/www/chamilo"> RewriteEngine On RewriteCond %{QUERY_STRING} ^id=(.*)$ RewriteRule ^certificates/$ certificates/index.php?id=%1 [L] RewriteRule ^courses/([^/]+)/?$ main/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/([^/]+)/scorm/(.*([\.js|\.css|\.png|\.jpg|\.jpeg|\.gif]))$ app/courses/$1/scorm/$2 [QSA,L] RewriteRule ^courses/([^/]+)/scorm/(.*)$ main/document/download_scorm.php?doc_url=/$2&cDir=$1 [QSA,L] RewriteRule ^courses/([^/]+)/document/certificates/(.*)$ app/courses/$1/document/certificates/$2 [QSA,L] RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L] RewriteRule ^courses/([^/]+)/upload/course_home_icons/(.*([\.js|\.css|\.png|\.jpg|\.jpeg|\.gif]))$ app/courses/$1/upload/course_home_icons/$2 [QSA,L] RewriteRule ^courses/([^/]+)/upload/([^/]+)/(.*)$ main/document/download_uploaded_files.php?code=$1&type=$2&file=$3 [QSA,L] RewriteRule ^courses/([^/]+)/work/(.*)$ main/work/download.php?file=work/$2&cDir=$1 [QSA,L] RewriteRule ^courses/([^/]+)/course-pic85x85.png$ main/inc/ajax/course.ajax.php?a=get_course_image&code=$1&image=course_image_source [QSA,L] RewriteRule ^courses/([^/]+)/course-pic.png$ main/inc/ajax/course.ajax.php?a=get_course_image&code=$1&image=course_image_large_source [QSA,L] RewriteRule ^courses/([^/]+)/(.*)$ app/courses/$1/$2 [QSA,L] RewriteRule ^session/(\d{1,})/about/?$ main/session/about.php?session_id=$1 [L] RewriteRule ^course/(\d{1,})/about/?$ main/course_info/about.php?course_id=$1 [L] RewriteRule ^badge/(\d{1,}) main/badge/issued.php?issue=$1 [L] RewriteRule ^skill/(\d{1,})/user/(\d{1,}) main/badge/issued_all.php?skill=$1&user=$2 [L] RewriteRule ^badge/(\d{1,})/user/(\d{1,}) main/badge/issued_all.php?skill=$1&user=$2 [L] RewriteRule ^main/exercice/(.*)$ main/exercise/$1 [QSA,L] RewriteRule ^main/newscorm/(.*)$ main/lp/$1 [QSA,L] RewriteRule ^service/(\d{1,})$ plugin/buycourses/src/service_information.php?service_id=$1 [L] RewriteRule ^lti/os$ plugin/ims_lti/outcome_service.php [L] RewriteRule ^(tests|.git) - [F,L,NC] </Directory> AddType application/font-woff .woff .woff2 <IfModule mod_expires.c> ExpiresActive On ExpiresByType application/font-woff "access plus 1 month" </IfModule>
RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA,L]Quítela o coméntela, y ponga estas dos líneas en su lugar:
RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|webp|ico|icon|swf|avi|mp3|ogg|wav|ttf|otf|eot|woff|webm|mp4) RewriteRule ^courses/([^/]+)/document/(.*)$ main/document/download.php?doc_url=/$2&cDir=$1 [QSA|L]
# Add your own "server {" header here with listen, server_name, access_log, error_log, index, root and error_page params charset utf-8; location @rewrite{ rewrite ^certificates/$ certificates/index.php 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/(.*([\.js|\.css|\.png|\.jpg|\.jpeg|\.gif]))$ app/courses/$1/scorm/$2 last; rewrite ^/courses/([^/]+)/scorm/(.*)$ /main/document/download_scorm.php?doc_url=/$2&cDir=$1 last; # Alternatively, you can choose to give direct access to all SCORM files, which is much faster but less secure # rewrite "^/courses/([^/]+)/scorm/(.*)$" /app/courses/$1/scorm/$2 break; rewrite "^/courses/([^/]+)/document/certificates/(.*)$" /app/courses/$1/document/certificates/$2 last; rewrite ^/courses/([^/]+)/document/(.*)$ /main/document/download.php?doc_url=/$2&cDir=$1 last; rewrite ^/courses/([^/]+)/upload/([^/]+)/(.*)$ /main/document/download_uploaded_files.php?code=$1&type=$2&file=$3 last; rewrite ^/courses/([^/]+)/work/(.*)$ /main/work/download.php?file=work/$2&cDir=$1 last; rewrite ^/courses/([^/]+)/upload/course_home_icons/(.*([\.png|\.jpg|\.jpeg|\.gif]))$ app/courses/$1/upload/course_home_icons/$2 last; rewrite ^/courses/([^/]+)/(.*)$ /app/courses/$1/$2 last; rewrite ^/session/([^/]+)/about/?$ /main/session/about.php?session_id=$1 last; rewrite ^/course/([^/]+)/about/?$ /main/course_info/about.php?course_id=$1 last; rewrite ^/badge/(\d+) /main/badge/issued.php?issue=$1 last; rewrite ^/skill/(\d+)/user/(\d+)$ /main/badge/issued_all.php?skill=$1&user=$2 last; rewrite ^/badge/(\d+)/user/(\d+)$ /main/badge/issued_all.php?skill=$1&user=$2 last; rewrite ^/main/exercice/(.*)$ /main/exercise/$1 last; rewrite ^/main/newscorm/(.*)$ /main/lp/$1 last; rewrite ^/service/(\d+)$ /plugin/buycourses/src/service_information.php?service_id=$1 last; rewrite "^/main/upload/users/(.*)/(.*)/my_files/(.*)$" /app/upload/users/$1/$2/my_files/$3 last; try_files $uri /index.php$is_args$args; break; } location / { try_files $uri @rewrite; } location /main { rewrite ^/main/([^/]+)/?$ /main/$1/index.php last; } location ~ \.php$ { client_max_body_size 20M; try_files $uri @rewrite; fastcgi_pass unix:/var/run/php7.4-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } # Serve static files directly location ~* \.(png|jpe?g|gif|ico|js|css|mp3|swf|flv|mp4|ogg|woff|woff2)$ { 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 ^/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; # For all these media resources not treated by previous rewrites, give direct access (no permission check) rewrite ^/courses/(.*)$ /app/courses/$1 break; expires 30d; access_log off; try_files $uri @rewrite; } location ~ ~\.(ht|git){ deny all; } location ^~ /tests/ { deny all; }
Scott Steven informa que Apache en OS X requiere acciones específicas
Alternativamente, puede encontrar el archivo de configuración para su dominio en la carpeta de configuración
de Apple en /Library/Server/Web/Settings para actualizarlo manualmente.
Sin embargo, no puede permitir archivos .htaccess en el archivo httpd.conf principal, ya que OS X
lo reemplazará con el archivo de configuración específico del dominio.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpRedirect enabled="false" destination="" httpResponseStatus="Permanent" /> <rewrite> <rules> <rule name="rule 1v" stopProcessing="true"> <match url="^certificates/$" /> <action type="Rewrite" url="certificates/index.php?id=%1" appendQueryString="false" /> </rule> <rule name="rule 2v" enabled="true" stopProcessing="true"> <match url="^courses/([^/]+)/?$" /> <action type="Rewrite" url="main/course_home/course_home.php?cDir={R:1}" appendQueryString="true" /> </rule> <rule name="rule 3v" enabled="true" stopProcessing="true"> <match url="^courses/([^/]+)/index.php$" /> <action type="Rewrite" url="main/course_home/course_home.php?cDir={R:1}" /> </rule> <rule name="rule 4v" stopProcessing="true"> <match url="^courses/([^/]+)/scorm/(.*([\.js|\.css|\.png|\.jpg|\.jpeg|\.gif]))$" /> <action type="Rewrite" url="app/courses/{R:1}/scorm/{R:2}" /> </rule> <rule name="rule 5v" stopProcessing="true"> <match url="^courses/([^/]+)/scorm/(.*)$" /> <action type="Rewrite" url="main/document/download_scorm.php?doc_url=/{R:2}&cDir={R:1}" /> </rule> <rule name="rule v6" stopProcessing="true"> <match url="^courses/([^/]+)/document/certificates/(.*)$" /> <action type="Rewrite" url="app/courses/{R:1}/document/certificates/{R:2}" /> </rule> <rule name="rule v7" stopProcessing="true"> <match url="^courses/([^/]+)/document/(.*)$" /> <action type="Rewrite" url="main/document/download.php?doc_url=/{R:2}&cDir={R:1}" /> </rule> <rule name="rule v8" stopProcessing="true"> <match url="^courses/([^/]+)/upload/course_home_icons/(.*([\.js|\.css|\.png|\.jpg|\.jpeg|\.gif]))$" /> <action type="Rewrite" url="app/courses/{R:1}/upload/course_home_icons/{R:2}" /> </rule> <rule name="rule v9" stopProcessing="true"> <match url="^courses/([^/]+)/upload/([^/]+)/(.*)$" /> <action type="Rewrite" url="main/document/download_uploaded_files.php?code={R:1}&type={R:2}&file={R:3}" /> </rule> <rule name="rule v10" stopProcessing="true"> <match url="^courses/([^/]+)/work/(.*)$" /> <action type="Rewrite" url="main/work/download.php?file=work/{R:2}&cDir={R:1}" /> </rule> <rule name="rule v11" stopProcessing="true"> <match url="^courses/([^/]+)/course-pic85x85.png$" /> <action type="Rewrite" url="main/inc/ajax/course.ajax.php?a=get_course_image&code={R:1}&image=course_image_source" appendQueryString="true" /> </rule> <rule name="rule v12" stopProcessing="true"> <match url="^courses/([^/]+)/course-pic.png$" /> <action type="Rewrite" url="main/inc/ajax/course.ajax.php?a=get_course_image&code={R:1}&image=course_image_large_source" appendQueryString="true" /> </rule> <rule name="rule v13" stopProcessing="true"> <match url="^courses/([^/]+)/(.*)$" /> <action type="Rewrite" url="app/courses/{R:1}/{R:2}" appendQueryString="false" /> </rule> <rule name="rule v14" stopProcessing="true"> <match url="^session/(\d{1,})/about/?$" /> <action type="Rewrite" url="main/session/about.php?session_id={R:1}" appendQueryString="false" /> </rule> <rule name="rule v15" stopProcessing="true"> <match url="^course/(\d{1,})/about/?$" /> <action type="Rewrite" url="main/course_info/about.php?course_id={R:1}" appendQueryString="false" /> </rule> <rule name="rule v16" stopProcessing="true"> <match url="^badge/(\d{1,})" /> <action type="Rewrite" url="main/badge/issued.php?issue={R:1}" appendQueryString="false" /> </rule> <rule name="rule v17" stopProcessing="true"> <match url="^skill/(\d{1,})/user/(\d{1,})" /> <action type="Rewrite" url="main/badge/issued_all.php?skill={R:1}&user={R:2}" appendQueryString="false" /> </rule> <rule name="rule v18" stopProcessing="true"> <match url="^badge/(\d{1,})/user/(\d{1,})" /> <action type="Rewrite" url="main/badge/issued_all.php?skill={R:1}&user={R:2}" appendQueryString="false" /> </rule> <rule name="rule v19" stopProcessing="true"> <match url="^main/exercice/(.*)$" /> <action type="Rewrite" url="main/exercise/{R:1}" appendQueryString="true" /> </rule> <rule name="rule v20" stopProcessing="true"> <match url="^main/newscorm/(.*)$" /> <action type="Rewrite" url="main/lp/{R:1}" appendQueryString="true" /> </rule> <rule name="rule v21" stopProcessing="true"> <match url="^service/(\d{1,})$" /> <action type="Rewrite" url="plugin/buycourses/src/service_information.php?service_id={R:1}" appendQueryString="false" /> </rule> <rule name="rule v22" stopProcessing="true"> <match url="^lti/os$" /> <action type="Rewrite" url="plugin/ims_lti/outcome_service.php" appendQueryString="false" /> </rule> <rule name="rule v23" stopProcessing="true"> <match url="^(tests|.git)" ignoreCase="false" /> <action type="Rewrite" url="/-" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Si tiene suficiente experiencia con Git y ha instalado su portal inicial de Chamilo desde la versión de Git,
es posible que desee actualizar de 1.9.x a 1.11.x usando Git directamente.
Aquí hay algunos consejos que pueden ayudarlo:
Dirección de Contacto: Chamilo
Correo: info@chamilo.org