27/Instalación FAQ

De MoodleDocs
Revisión del 01:40 13 ago 2016 de German Valero (discusión | contribs.) (Elimninar todas las categorías de esta documentación antigua)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Nota: Esta es una traducción de una página de la documentación en idioma Inglés (Docs), que se considera particularmente importante, y que en su versión original se actualiza frecuentemente. Por ello, se le recomienda que revise la página original en idioma inglés: Installation FAQ.

note icon.png Existe documentación diferente para varias versiones de Moodle: Esta documentación es muy antigua. Si desea ver la página actualizada para Moodle 3.0 y más recientes vea Instalación FAQ


Esta página está muy obsoleta respecto al original en inglés en Installation FAQ

Cualquier texto que agrego con un apóstrofo (') o con comillas (") ocasiona errores o termina con una barra oblicua (/)

Los problemas con apóstrofos son ocasionados por utilizar ajustes incorrectos en "comillas mágicas". Moodle necesita los siguientes ajustes (normalmente vienen por defecto):

magic_quotes_gpc = On
magic_quotes_runtime = Off

Lea por favor Instalación de Moodle si desea más información.

No se envían copias de correo electrónico desde mis foros

Usted debe configurar correctamente el cron si desea que Moodle envíe correos electrónicos desde los foros, tareas, etc. automáticamente. Este proceso lleva a cabo asimismo un conjunto de tareas de depuración tales como eliminar usuarios antiguos no confirmados, desmatricular estudiantes antiguos y otras por el estilo.

Básicamente, necesita configurar un proceso para que llame de forma regular al script http://yoursite/admin/cron.php. Por favor, vea Instalación de Moodle - Configurar el cron.

Consejo: Intente usar el ajuste que viene por defecto en la página de variables de Moodle. Deje en blanco el smtphost. Esto funcionará bien con la mayoría de los usuarios.

Error: database connection failed

Si le aparecen errores como "database connection failed" o "could not connect to the database you specified", he aquí algunas posibles razones y algunas soluciones que pueden funcionar.

  1. Su servidor de bases de datos no está instalado o no funciona. Para comprobar esto con MySQL, intente escribir la siguiente línea de comandos telnet database_host_name 3306. Debería conseguir una respuesta críptica que incluye el número de versión del servidor MySQL.
  2. No tiene instaladas las extensiones PHP mysql o postgresql (diríjase por favor a la FAQ que trata sobre si está instalado el PHP).
  3. No ha creado una base de datos para Moodle o no ha asignado un usuario con los privilegios correctos para acceder a ella. Es posible asimismo que sean incorrectos: el nombre de la base de datos, el usuario o la contraseña en el archivo config.php. Utilice phpMyAdmin para configurar y comprobar su instalación MySQL.
  4. Está usando la versión de MySQL 4.1 o superior, cuyo algoritmo hashing de contraseña por defecto es incompatible con el disponible en versiones 4.x.x. Vea http://dev.mysql.com/doc/mysql/en/old-client.html si desea más información sobre este asunto.
  5. Está usando Fedora core 3 o algún otro sistema Linux con SELinux instalado y habilitado. Vea la siguiente URL si desea consultar información sobre el modo de deshabilitar SELinux: http://fedora.redhat.com/projects/selinux/

No puedo entrar - Me quedo atascado en la pantalla de acceso

La causa más común es que su propio ordenador (no su servidor Moodle) tenga un cortafuegos que esté desmontando información sobre el referente desde el navegador. Aquí puede ver algunas instrucciones para solucionar este problema: Norton firewall products.

El administrador del servidor podría asimismo solucionar el problema cambiando la variable secureforms a 'No' en la sección de seguridad de Administración >> Configuración >> Variables.

Otra posible causa de este problema es que las sesiones no están adecuadamente configuradas en el servidor. Puede comprobar este extremo llamando al script http://yourserver/moodle/lib/session-test.php.

Me salen mensajes de error sobre session_start

Si ve mensajes como estos:

Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123

todos ellos están relacionados con el hecho de que PHP no puede guardar archivos de "session" en su disco duro (en un directorio denominado /tmp). Normalmente la razón se debe a que usted NO TIENE un directorio denominado /tmp en su ordenador. Éste es el caso más habitual en instalaciones Windows.

La solución consiste en configurar el PHP para que esta ruta vaya a un directorio real. Puede hacerlo en su archivo php.ini:

session.save_path = C:\temp

o, en otro caso, en un archivo .htaccess en su directorio principal de Moodle:

php_value session.save_path "/home/moodle/sessions"

Me sale este error: Failed opening required '/web/moodle/lib/setup.php'

En su config.php el ajuste que utiliza para la variable dirroot debe ser la ruta completa desde la raíz del disco duro de su servidor.

A veces la gente usa la ruta desde su directorio local, o una ruta relativa a la raíz del directorio del servidor web.

Entro, pero el enlace de acceso no cambia. Consigo entrar y navegar libremente.

Asegúrese de que la URL en el ajuste $CFG->wwwroot es exactamente la misma que está realmente usando para acceder al sitio.

Mis páginas muestran errores fatales como: call to undefined function: get_string()

Si aparecen errores como:

Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\moodle\config.php on line 94 Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php on line 11

es probable que en alguna línea de config.php (antes de la línea 94) falte un punto y coma o las comillas de cierre.

Otra razón podría ser que haya editado config.php en algún programa como Word y lo haya guardado luego en formato HTML en lugar de hacerlo adecuadamente (en texto plano).

¿Está instalado PHP? ¿Qué versión tengo?

Escriba un nuevo archivo en su página web denominado info.php que contenga el texto siguiente, y llámelo desde su navegador:

<?PHP phpinfo() ?>

Si no ocurre nada, no tiene instalado PHP. Consulte los documentos de instalación. Allí podrá informarse sobre la forma de descargarlo a su ordenador.

Error: "Serious Error! Could not set up the site!"

Por favor, lea la discusión "Serious Error! Could not set up the site!" en los foros de moodle.org (inglés).

Con archivos subidos, aparece "File not found"

Por ejemplo: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server. Esto indica que su servidor web no tiene habilitados los Slash arguments. Por favor, vea Usando slash arguments para más información.

Necesita configurar su servidor web para permitir que la parte de la URL posterior al nombre del script pase directamente al script. Esta opción normalmente está activada en Apache 1, pero está deshabilitada por defecto en Apache 2. Para activarla, agregue esta línea a su httpd.conf, o a un archivo .htaccess en su directorio local (vea Instalación de Moodle si desea más detalles):

AcceptPathInfo on

Nótese que esto SOLO funciona en versiones 2.x de Apache.

Si no está usando Apache 2 y aún tiene este problema (lo que es poco probable) entonces puede cambiar Moodle para usar un método alternativo. Las desventajas consisten en que los usuarios experimentarán una ligera pérdida de rendimiento y usted no podrá utilizar enlaces relativos dentro de recursos HTML.

Para usar este método alternativo, debería cambiar la variable slasharguments en la sección del Sistema Operativo de Administración >> Configuración >> Variables. Al hacerlo, debería poder acceder a los archivos subidos.

¡Cuando voy a la página de administración, se me dice que deje el dirroot en blanco!

Si ve errores como éste:

Please fix your settings in config.php: You have: $CFG->dirroot = "/home/users/fred/public_html/moodle"; but it should be: $CFG->dirroot = "";

se ha topado con un pequeño error que ocurre en algunos servidores. Este problema tiene que ver con el mecanismo de comprobación de errores, no con su ruta. Para solucionarlo, encuentre la línea 66 en el archivo admin/index.php:

if ($dirroot != $CFG->dirroot) {

y cámbiela por:

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

Cuando intento agregar un recurso, recibo mensajes de error

Asumiendo que usted usa Apache, es muy probable que el ajuste deconfig.php en $CFG->wwwroot sea diferente de la URL real que utiliza para acceder al sitio. Intente asmimismo desactivar la variable secureforms en la sección de seguridad de Administración >> Configuración >> Variables.

Como activar y comprobar los logs de error de PHP

Se puede configurar PHP la gestión del log de errores de diferentes formas. Dos de estas son usar el fichero php.ini y usar la orden ini_set:

  • Usar el fichero php.ini: Los ajustes de los logs están incluidos en el fichero php.ini que está almacenado en el servidor. Si no sabe donde está ubicado este fichero, edite su fichero config.php de Moodle y añada lo siguiente en la segunda línea del fichero
 phpinfo();
y después recargue la página web. Busque la línea que contiene el texto Configuration File (php.ini) Path.
Cuando haya encontrado el fichero php.ini, ábralo en su editor de texto favorito. Busque la sección Error handling and logging del fichero php.ini. Asergúrese de que tener tanto display_errors = On como display_startup_errors = On y log_errors = On, y que dichas líneas no están comentadas. Compruebe el valor de error_log; este valor indica la ubicación del fichero de errores (si es un fichero en disco, si va a los logs del servidor web, al registro de sucesos del sistema operativo, etc.). Si está comentada entonces los errores se enviarán al fichero de log de errores del servidor web. Recuerde que si hace cambios en este fichero, normalmente será necesario reiniciar el servicio web.
  • Usar la orden ini_set: Si está usando Moodle 1.7 o superior, los pasos anteriores no son suficientes. En esas versiones los parámetros de gestión de log de errores dependen de ciertos ajustes administrativos que se pueden especificar en Administracion >> Servidor >> Depuración, y que tiene prioridad sobre los ajustes del fichero php.ini. Basta con especificar el nivel de depuración deseado y comprobar después el log de errores de PHP (ver el párrafo anterior para saber donde acaban los logs de errores de PHP según lo que se haya configurado en el fichero php.ini). El problema surge cuando no somos capaces de acceder a las páginas de administración (porque son precisamente las páginas que nos fallan). En ese caso, la única forma de modificar los ajustes de depuración de PHP es añadiendo las siguientes líneas al fichero config.php de Moodle, justo antes de la última línea (la línea que sólo contiene '?>'):
 ini_set ('display_errors', 'on');
 ini_set ('log_errors', 'on');
 ini_set ('display_startup_errors', 'on');
 ini_set ('error_reporting', E_ALL);
 $CFG->debug = DEBUG_ALL;
Esto habilitará los mismos ajustes que los mencionados en el caso de usar el fichero php.ini directamente, incluso si Moodle tiene internamente configurado otro juego de ajustes.
Importante: Acuérdes de poner esas líneas justo antes de la última línea del fichero config.php.

¿Por qué todas mis páginas están en blanco?

Compruebe la variable dirroot en config.php. Debe usar nombres de ruta completos y absolutos, e.g.

$CFG->dirroot = "d:\inetpub\sites\www.misitio.com\web\moodle";

Otra razón podría ser que PHP no haya sido configurado para admitir MySQL, lo que es común en instalaciones Redhat y OpenBSD. En este caso, se genera un error pero, dado que las visualizaciones de error a menudo están deshabilitadas por defecto, todo lo que se ve en el navegador es una página en blanco.

Para activar la visualización de errores PHP en pantalla, siga las indicaciones de Como activar y comprobar los logs de error de PHP

Para determinar si el soporte de MySQL es su problema inserte esto en la segunda línea de su archivo config.php:

phpinfo();

y a continuación vuelva a cargar la página web. Examine minuciosamente la salida para ver si se admite MySQL. Si no fuera así, busque el paquete que le falta.

¿Por qué una página en concreto aparece en blanco o incompleta?

  • ¡Revise los ficheros de log de su servidor web!
Si una página en concreto aparece en blanco o incompleta (no visualiza el pie de página), antes de hacer nada consulte los logs de error de PHP. Una vez se haya asegurado de que el registro de errores funciona, reproduzca el error (vuelva a cargar la página que no funcionaba). Inmediatamente compruebe las últimas líneas del fichero de log de errores. Con suerte verá uno o varios mensajes de error de PHP hacia el final del fichero. Esto puede solucionar su problema directamente o hará que sea mucho más fácil diagnosticar el problema en los foros de Moodle (lo más probable es que le pidan esta información para poder ayudarle a resolver el problema).
  • Si está actualizando a una nueva versión de Moodle, verifique que no tiene instalada una versión antigua de un bloque o módulo no estándar. Elimine (temporalmente) tales bloques o módulos usando las páginas administrativas (y moviendo los ficheros de esos bloques o módulos fuera del directorio de instalación de Moodle) e intente el proceso de actualización de nuevo. En todo caso, asegúrese de que ha incluido todos los plugins opcionales que se necesiten en sus cursos.
Si el proceso de actualización finaliza correctamente, puede ir instalando los bloques o módulos uno a uno y activándolos, para encontrar cual es el bloque o módulo que causa el error.
  • Si no ve ningún bloque listado en la página, active la edición y elimine cualquier bloque que haya añadido a dicha página, e intente cargarla de nuevo.
  • También puede producirse este problema inmediatamente después de seleccionar un idioma durante la instalación. En este punto de la instalación el ordenador donde está instalando Moodle neesita conectarse a Internet y descargar el pack del idioma, así que deberá asegurarse de que efectivamente pueda hacerlo. Verifique también que sus ajustes de PHP son los indicados en la página Requerimientos de Moodle .

Véase también:


¿Por qué no puedo añadir una nueva imagen a mi perfil?

Si no ve ninguna opción en su página de perfil que le permita subir imágenes, suele ser debido a que GD no está instalado en su servidor. GD es una librería que permite el tratamiento de imágenes.

1. Asegúrese que GD ha sido incluído en su instalación de PHP. Puede comprobarlo navegando a Administración >> Configuración >> Variables y localizando la variable gdversion. El estado de esta variable es recalculado automáticamente cada vez que visita esta págia. Si muestra GD versión 1 o versión 2 entonces todo debería estar bien. Guarde cambios y regrese a su página de perfil de usuario.

2.- Si Moodle detecta que GD no está instalado, entoces debería instalarlo. En Windows suele ser suficiente con activar el módulo correspondiente de PHP (vea las instrucciones de instalación para más información). En Unix necesitará recompilar PHP con algunos argumentos similares a:

./configure --with-apxs=/usr/local/apache/bin/apxs --with-xml --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr --with-ttf --enable-gd-native-ttf --enable-magic-quotes --with-mysql --enable-sockets --enable-track-vars --enable-versioning --with-zlib

3. No olvide volver a visitar la página de Configuración de Variables de Moodle después de realizar los cambios anteriores en PHP para que la versión correcta de GD sea detectada.

Por favor lea la discusión "Profile pictures" para obtener más información (inglés).

¿Por qué me salen mensajes de error con "headers already sent"?

Si ve errores como éste:

Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54

es que tiene líneas en blanco o espacios después del ?> final en su archivo config.php. En ocasiones los editores de texto (e.g., Notepad de Windows) añaden esas líneas o espacios. Utilice otro editor de texto para eliminarlos completamente.

¿Por qué mi sitio Moodle no muestra correctamente la fecha y la hora?

Para poder visualizar correctamente las fechas, cada idioma requiere un código específico (denominado código locale). Los paquetes de idioma contienen códigos estándar, pero en ocasiones no funcionan bien en servidores Windows.

Puede encontrar los códigos locale correctos para Windows en estas dos páginas: Language codes y Country/region (e.g. "esp_esp" para español)

Estos nuevos códigos locale pueden incluirse en la página Administración >> Configuración >> Variables, con lo que anularán a los presentes en el paquete de idioma actual.

Aparece el mensaje error/La página no se está redireccionando apropiadamente

Vea error/La página no se está redireccionando apropiadamente


Vea también