Diferencia entre revisiones de «Instalación FAQ»

De MoodleDocs
Sin resumen de edición
(Nota especial para las versiones 1.8 o posteriores.)
Línea 149: Línea 149:


Una vez que haya localizado su fichero php.ini, cárguelo en su editor preferido. Busque la sección titulada '''Error handling and logging'''. Asegúrese de que tanto '''display_errors = On''' como '''log_errors = On''' están presentes y no están deshabilitados con comentarios. Compruebe cual es el valor de '''error_log''' -esto le indica la ubicación del fichero al que se envían los errores-. Si está deshabilitado con comentarios, entonces los errores se enviarán al fichero de log de errores del servidor web. Recuerde que si hace algún tipo de cambios en este fichero es necesario que reinicie el servidor web (en caso de duda puede reiniciar el servidor completo, aunque esto no siempre sea necesario).
Una vez que haya localizado su fichero php.ini, cárguelo en su editor preferido. Busque la sección titulada '''Error handling and logging'''. Asegúrese de que tanto '''display_errors = On''' como '''log_errors = On''' están presentes y no están deshabilitados con comentarios. Compruebe cual es el valor de '''error_log''' -esto le indica la ubicación del fichero al que se envían los errores-. Si está deshabilitado con comentarios, entonces los errores se enviarán al fichero de log de errores del servidor web. Recuerde que si hace algún tipo de cambios en este fichero es necesario que reinicie el servidor web (en caso de duda puede reiniciar el servidor completo, aunque esto no siempre sea necesario).
Si está usando una versión 1.8 o posterior, lo anterior no es suficiente. En dicha versión se modifican los parámetros de registro de errores en función de los ajustes que se hayan indicado en la página de administración de las opciones de depuración. Por eso es necesario añadir al final del fichero config.php, justo antes de la última línea (la que contiene '?>' únicamente) lo siguiente:
  ini_set ('display_errors', 'on');
  ini_set ('log_errors', 'on');
  ini_set ('display_startup_errors', 'on');


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).
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).

Revisión del 14:41 8 jul 2007

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.

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.

¿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, active estas líneas en su fichero php.ini y reinicie su servidor web, cargando la página web de nuevo para ver si se visualiza algún error:

display_errors = On
display_startup_errors = On

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 su servidor web (o donde sea que su configuración de PHP esté enviando los mensajes de error).

Se puede configurar PHP para guardar los logs de error de varias formas diferentes. Los ajustes asociados se guardan en el fichero php.ini del servidor. Si no sabe cual es la ubicación de este fichero en su servidor, edite su fichero config.php de Moodle y añada lo siguiente en la segunda línea del mismo:

 phpinfo();

y después recargue la página de nuevo. Busque la entradilla titulada Configuration File (php.ini) Path.

Una vez que haya localizado su fichero php.ini, cárguelo en su editor preferido. Busque la sección titulada Error handling and logging. Asegúrese de que tanto display_errors = On como log_errors = On están presentes y no están deshabilitados con comentarios. Compruebe cual es el valor de error_log -esto le indica la ubicación del fichero al que se envían los errores-. Si está deshabilitado con comentarios, entonces los errores se enviarán al fichero de log de errores del servidor web. Recuerde que si hace algún tipo de cambios en este fichero es necesario que reinicie el servidor web (en caso de duda puede reiniciar el servidor completo, aunque esto no siempre sea necesario).

Si está usando una versión 1.8 o posterior, lo anterior no es suficiente. En dicha versión se modifican los parámetros de registro de errores en función de los ajustes que se hayan indicado en la página de administración de las opciones de depuración. Por eso es necesario añadir al final del fichero config.php, justo antes de la última línea (la que contiene '?>' únicamente) lo siguiente:

 ini_set ('display_errors', 'on');
 ini_set ('log_errors', 'on');
 ini_set ('display_startup_errors', 'on');


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).

¿Por qué ni 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.