502/Instalación de Moodle

De MoodleDocs

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: Installing Moodle.


Moodle 5.2


Esta página explica como instalar Moodle. Si eres un experto, o solo necesitas unas instrucciones rápidas, prueba la Guía rápida de instalación.

Si solo quieres probar Moodle en un equipo independiente, hay instaladores de "un solo clic" para Windows (ver Paquetes para Instalación Completa para Windows) y para OSX (ver Paquete de Instalación para OS X. Ten en cuenta que estos paquetes no están preparados para uso en servidores web.

Si quieres evitar instalar Moodle por ti mismo, considera utilizar https://moodlecloud.com

Requerimientos básicos

Moodle está desarrollado principalmente para ejecutarlo en Linux usando Apache, PostgreSQL/MySQL/MariaDB y PHP (conocido también como LAMP stack o simplemente LAMP). Normalmente este es el entorno de ejecución, aunque pueden utilizarse otras opciones como Nginx, siempre que los requerimientos de las Notas de Moodle 5.2 se cumplan.

Si estás instalando Moodle en un servidor Windows, ten en cuenta que desde la versión de PHP 5.5 en adelante, necesitaras tener instalado Visual C++ Redistributable for Visual Studio 2012. Lo puedes descaragr desde: http://www.microsoft.com/en-us/download/details.aspx?id=30679 Visual C++] ( x86 or x64).

Los requerimientos básicos de Moodle son los siguientes:

Hardware

  • Espacio en disco: Mínimo 400 MB para el código, más el necesario para el contenido. 20 GB es posiblemente un valor mínimo realista para un sitio en producción.
  • Procesador: 2 vCPU mínimo (2 GHz), pero se recomienda al menos 4 vCPU de 2 GHz e incluso más.
  • Memoria RAM: 2 GB (mínimo), aunque es muy recomendable 4 GB o más. 8 GB es un valor recomendado para un servidor de un sitio medio.
  • Considera disponer de servidores separados para el sitio (frontales web) y la base de datos, especialmente para sitios medios o mayores.

Los requerimientos indicados dependerán de las combinaciones específicas de hardware y software, así como del uso y la carga de usuarios del sitio. Sitios con mucha carga requerirán recursos adicionales. Puedes encontrar más información en Recomendaciones sobre desempeño. Moodle escala rápidamente al incrementar el hardware.

Para sitios muy grandes, es mucho mejor comenzar con una instalación piloto y adquirir experiencia y conocimientos. Es poco probable que una pregunta del tipo "¿qué hardware necesito para 50.000 usuarios?" tenga respuesta en el foro.

Software

Para los requerimientos de software, ver la Historia de las versiones en la documentación de desarrollo. Si quieres instalar una versión anterior, puedes ver la información en la siguiente página Requisitos para instalación de Moodle 5.0

Configura el servidor

Dependiendo del tipo de uso, un servidor Moodle puede ser desde un ordenador de escritorio hasta una granja de servidores virtuales Server cluster clustered en un centro de datos.

Como ya se ha indicado anteriormente, hay cientos de opciones para instalar un servidor. Para más detalles ver:


Nota: Debes leer también las instrucciones para Configuración del enrutador de Moodle que está disponible desde la versión 5.0. Es muy importante para el buen funcionamiento de Moodle 5.2


Desde la versión 5.1, Moodle usa un directorio denominado public para todos los archivos accesibles desde el exterior. El servidor web (Apache o Nginx) debe estar configurado para poder acceder a dichos archivos desde ese directorio, manteniendo el resto de archivos de configuración y de contenido sensible fuera de la carpeta raíz.

Para leer más información sobre como instalar o actualizar a la versión 5.2, ver Restructure guide in the developer documentation (en inglés).

Independientemente de las opciones de implementación que elijas, te resultará de gran ayuda dedicar tiempo a comprender cómo configurar las diferentes partes del entorno LAMP (servidor web, base de datos, PHP, etc.). No esperes que la configuración estándar del servidor sea óptima para Moodle. Por ejemplo, es casi seguro que el servidor web y los servidores de bases de datos requerirán ajustes para sacar el máximo partido a Moodle.

Si no estás seguro de que paquetes usar (por ejemplo MariaDB vs. MySQL), entonces da un vistazo a las diferentes opiniones que puedes encontrar en Internet, y también a la página Performance recommendations, ya que esto también puede ayudarte a hacerte una idea del trabajo que supone y de cómo podría acabar siendo tu flujo de trabajo, y a planificar también ese aspecto.

Si se utiliza un proveedor de alojamiento, asegúrate de que la plataforma de alojamiento cumpla con todos los requisitos de Moodle (como la versión de PHP) antes de intentar la instalación. Será útil familiarizarse con los cambios de configuración dentro de la plataforma del proveedor de alojamiento (por ejemplo, los límites máximos de carga de archivos PHP), ya que las opciones y herramientas proporcionadas pueden variar dependiendo del proveedor y del plan contratado.

Descarga y copia de los archivos en el directorio

IMPORTANTE: Aunque hay diversas fuentes donde conseguir el código de Moodle (incluyendo los instaladores del propio proveedor de alojamiento web), se recomienda encarecidamente obtenerlo unicamente de moodle.org. Si tienes un problema, será mucho más fácil ayudarte, y también evitarás problemas de seguridad, como código malicioso incrustado en el código fuente.

Para la descarga tienes dos opciones:

  • Descargar la versión en formato zip desde https://moodle.org/downloads y descomprimirla.
  • O clonar el código desde el repositorio GIT de Moodle (recomendado para desarrolladores ya que hace más fácil las actualizaciones):
$ git clone -b MOODLE_502_STABLE git://git.moodle.org/moodle.git  

Para más información, ver Git para Administradores.

Cualquiera de las dos opciones creará un directorio denominado moodle que contendrá diversos archivos y carpetas.

Normalmente la carpeta de los archivos de Moodle deberá estar en la carpeta pública de tu servidor web, en una ruta parecida a https://tuservidorweb.com/moodle/, o también puedes copiar todo el contenido en el directorio raíz de tu servidor web https://tuservidorweb.com/. Mira la documentación para tu sistema operativo y/o servidor web si no estás seguro de la ruta.

Consejo: Si has descargado Moodle a tu ordenador y lo quieres subir a tu servidor web, es mejor subir un archivo comprimido con la carpeta moodle y descomprimirla en la carpeta de tu servidor. Si descomprimes Moodle en tu ordenador, obtendrás alrededor de 25.000 archivos, y puedes tener problemas al subirlos al servidor, además del tiempo que tardará en la subida.

  • Asegurar los archivos de Moodle: Es muy importante que los archivos críticos no se puedan acceder desde el usuario web. Por ejemplo, en Unix/Linux aplica los siguientes permisos (como usuario root en Linux):
chown -R root /ruta/a/moodle
chmod -R 0755 /ruta/a/moodle

(el propietario de los archivos será el usuario administrador, o root, y solo escribibles por él, pero legibles para todos los demás)

En sitios de prueba o desarrollo, quizás quieras hacer todos los archivos escribibles, pero es importante aplicar los permisos adecuados en sitios de producción. Recuerda cambiarlos si los has hecho escribibles por cualquier usuario.

Este enlace sobre como aplicar usuarios y permisos a un servidor Apache puede ayudarte: Apache: permisos, usuario y grupo www-data.

Crear una nueva base de datos

El siguiente paso es crear una nueva base de datos para tu instalación debes obtener la siguiente información para entrarla posteriormente al configurar Moodle en su fase final:

  • dbhost - el nombre del servidor de la base de datos. En instalaciones donde la base de datos está en la misma maquina que Moodle, localhost será el nombre del servidor.
  • dbname - el nombre de la base de datos. Cualquier nombre, como por ejemplo moodle
  • dbuser - el usuario de la base de datos. Por ejemplo, moodleuser. Crear una cuenta con los minimos pefrmisos necesarios.
  • dbpass - la contraseña del usuario de la base de datos.

Si su sitio está alojado en un proveedor, debe encontrar una página de administración de la base de datros en el panel de control o administración del sitio. Para instalaciones a través de terminal, consulta la página del servidor de base de datos elegido:

Por ejemplo, para MySQL, la creación de la base de datos por línea de comandos (CLI) sería la siguiente:

  • Crear una nueva base de datos con codificación utf8mb4 (para permitir los emoticonos):
mysql>CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • Crear un usuario (moodleuser) y su contraseña:
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'contraseña';
  • Para finalizar, hay que asignar el usuario a la base de datos y concederle los permisos necesarios:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost';

Crear el directorio de datos (moodledata)

Moodle requiere un directorio para almacenar los archivos que no son del programa (todos los archivos cargados de su sitio, datos temporales, caché, datos de sesión, etc.) llamado normalmente moodledata. El servidor web debe poder escribir en este directorio. En sistemas más grandes, intenta realizar una estimación de cuánto espacio libre vas a necesitar al asignar este directorio. El directorio se puede crear en la propia máquina, o en un disco externo.

Debido a la forma predeterminada en que Moodle almacena en caché los datos, puedes tener serios problemas de rendimiento si utilizas un almacenamiento relativamente lento (por ejemplo, NFS) para este directorio. Lee atentamente Recomendaciones sobre desempeño y considere usar Redis o Memcached para cacheo.

IMPORTANTE: Este directorio NO debe ser accesible directamente a través de la web. Esto sería un problema grave de seguridad. No intentes crearlo dentro del directorio web raíz, o dentro del directorio de archivos de Moodle. Moodle bloqueará el proceso de instalación hasta que no se mueva el directorio a un lugar adecuado.

Una ruta habitual es /var/www/moodledata ya que está fuera de la carpeta pública del servidor, y por tanto no es accesible desde un navegador.

Aquí hay un ejemplo (Unix/Linux) para crear el directorio y establecer los permisos para que cualquier usuario en el servidor escriba en él.

# mkdir /ruta/a/moodledata
# chmod -R 0777 /ruta/a/moodledata
# chown -R root:root /ruta/a/moodledata

Iniciar la instalación de Moodle

Una vez tengas copiados los archivos de Moodle, creada la base de datos y la carpeta moodledata, es el momento de ejecutar el instalador para crear las tablas en la base de datos y configurar tu nuevo sitio.

El método recomendado es utilizar el instalador por línea de comandos (CLI). Si no puedes hacer esto por cualquier motivo (por ejemplo, en un servidor Windows), utiliza el instalador via web.

Instalador por línea de comando (CLI)

Para evitar problemas, es mejor ejecutar la línea de comandos con el usuario web de tu sistema. Los usuarios de las distribuciones Linux más habituales son: 'www-data' para distribuciones basadas en Ubuntu/Debian, y 'apache' para RedHat/Centos/Almalinux)

  • Ejemplo de uso de la línea de comandos (sustituye 'www-data' para el usuario web de tu distribución):
# chown www-data:www-data /ruta/a/moodle
# cd /ruta/a/moodle/admin/cli
# /usr/bin/php install.php
# chown -R www-data:www-data /ruta/a/moodle

El comando chown permite que Moodle escriba un nuevo archivo de configuración, denominado config.php. Puedes encontrar más información sobre las opciones del comando install.php utilizando el parámetro --help

# /usr/bin/php install.php --help

Al iniciar el comando, se solicitará la información necesaria para instalar Moodle, como rutas, idioma, y configuración de la base de datos. Para más información, ver Administración por línea de comando

Nota: En algunas instalaciones, la llamada al pre-procesador PHP puede ser directa sin necesidad de utilizar su ruta. Puedes probar php -v en el terminal y ver si muestra la versión de PHP o un error. Si no muestar un error de comando desconocido, entonces podrás usr php directamente en todos los comandos de Moodle ejecutados desde el directorio /admin/cli

Instalador basado en web

Para facilitar su uso, puedes instalar Moodle a través del navegador web. Se recomienda configurar el servidor web para que la página no sea de acceso público hasta que se complete la instalación.

Para ejecutar la instalación via web, simplemente abre la URL principal de tu Moodle usando el navegador web: https://tudominio.com o https://tudominio.com/moodle

El proceso de instalación te mostrará varias páginas. Se te pedirá la configuración de la base de datos, los detalles de la cuenta del administrador, los detalles del sitio y la confirmación de la licencia GPL. La creación de las tablas de la base de datos puede llevar algún tiempo, así que ten paciencia. Si no hay problemas, debería terminar en la página principal de Moodle con una invitación para crear un nuevo curso.

Es muy probable que Moodle solicite crear el archivo de configuración config.php manualmente si no lo puede crear por si mismo. En ese caso aparecerá en pantalla, y solo hay que copiarlo y pegarlo en un archivo en el directorio raíz denominado config.php. A ese archivo hay que asignarle permisos para que sea legible solo por el usuario web y nunca desde el exterior. Habitualmente los permisos para ese archivo son 640, aunque también se podría asignar 600 para modo paranoico.

Configuración final

Configuraciones dentro de Moodle

Hay varias opciones dentro de las pantallas de Administración del sitio de Moodle accesibles desde el enlace hacia la 'Administración del sitio' situado en el menu principal. Aquí están algunas de las más importantes que probablemente quieras revisar:

  • Administración del sitio > Servidor > Email > Configuración del correo saliente: Configure su servidor SMTP y la Autenticación si se necesita (para que Moodle pueda enviar Emails). El contacto para soporte del sitio también se configura en esta página.
  • 'Administración del sitio > Servidor > Rutas del sistema: Configurar las rutas hacia los binarios de php, du, dot y aspell. Esto ayudará en algunas tareas internas de Moodle.
  • 'Administración del sitio > Servidor > HTTP: Si el sitio está detrás de un cortafuegos (firewall) es posible que sea necesario configurar las credenciales de un proxy en la sección de 'Proxy Web'.
  • Administración del sitio > Ubicación > Ajustes de ubicación > Huso horario por defecto: Revisa estos parámetros para asegurar de que la información sobre la zona horaria está actualizada. (más información en Ubicación)
    • Para configurar la zona horaria local del servidor dentro de php.ini probablemente situado en /etc/php/x.x/apache2/php.ini y /etc/php/x.x/cli/php.ini (donde x.x es la versión de PHP ejecutada), dependiendo de la distribución de Linux utilizada. Busca la seccion Date y cambia la zona horaria:

[Date]

Define la zona horaria usada por funciones de fecha

date.timezone = "LA ZONA HORARIA LOCAL"

Los valores habituales suelen ser: Europe/Madrid para España, y America/la_capital_del_pais para países localizados en América (ver la lista en el enlace anterior)

Trabajos pendientes para finalizar la instalación

  • Configurar el Cron: Las tareas programadas de Moodle (por ejemplo, enviar correos electrónicos del foro y realizar copias de seguridad del curso) se realizan mediante un script que puede configurar para ejecutar en momentos específicos del día. Esto se conoce como un script cron. Consulta las Instrucciones de cron.
  • Configurar las copias de seguridad: Ver Respaldo del sitio y Respaldo de curso automatizado.
  • Comprobar que el correo funciona: Crear un usuario de prueba con una dirección de correo electrónico válida y enviarles un mensaje. ¿Reciben una copia del mensaje por correo electrónico? De lo contrario, comprueba la configuración en Administración del sitio > Servidor > Configuración de correo electrónico > Correo saliente. No omitas este paso, el correo electrónico se usa para recuperar contraseñas perdidas, incluida la contraseña de administrador cuando la olvida!!!
  • Asegurar Moodle: Lee las Recomendaciones de Seguridad.
  • Aumento del tamaño máximo de subida: Consulte Instalación FAQ Tamaño máximo del archivo de subida: ¿cómo cambiarlo?

La instalación está completa :)

  • Crea un nuevo curso: ahora puedes acceder a Moodle a través del navegador web (utilizando la misma URL que configuraste durante el proceso de instalación), inicia sesión como usuario administrador (admin) y crea un nuevo curso. Ver crear un curso nuevo.

Si no quieres crear un curso desde cero, siempre puedes descargar uno desde https://moodle.net donde encontrarás cursos de diferentes temas y en varios idiomas.

Si algo sale mal...

Aquí hay algunas cosas que puede probar ...

  • Comprueba cuidadosamente los permisos de los archivos (es un problema muy habitual). ¿Puede el servidor web leer (pero no escribir) los archivos de programa de Moodle? ¿Puede el servidor web leer y escribir el directorio de datos moodledata? Si no comprendes cómo funcionan la propiedad y los permisos de los archivos en el sistema operativo, sería un tiempo muy bien empleado para averiguarlo.
  • Comprueba los permisos de la base de datos. ¿Has configurado el usuario de la base de datos con los derechos y permisos correctos para su configuración (especialmente si el servidor web y el servidor de base de datos son equipos diferentes)?
  • Crea tu archivo de configuración (config.php) a mano. Copie config-dist.php (en la raíz del directorio del programa Moodle) para configurarlo, editarlo y establecer las opciones de su base de datos / sitio allí. La instalación continuará desde el lugar correcto y asígnale los permisos correctos.
  • Una vez tengas un archivo config.php (consulta el consejo anterior) podrás editarlo para activar la depuración (en la sección 8). Esto puede mostrarte información adicional para ayudar a rastrear un problema. Si tienes acceso, compruebe los registros de errores del servidor web (error.log)
  • Vuelve a verificar la configuración de php.ini o .htaccess. ¿Son apropiados (por ejemplo, memory_limit), editaste el archivo php.ini / .htaccess correcto y, si es necesario, ¿reiniciaste el servidor web después de realizar cambios?
  • ¿Incluiste alguna extensión de terceros, temas, u otro código antes de iniciar el script de instalación? Si es así, elimínalo e inténtalo de nuevo (puede ser incompatible con la versión de Moodle utilizada).

POR FAVOR indica el máximo de información posible: versiones de Moodle, PHP, módulo de base de datos y su versión, y todo lo que pueda ayudar a solventar el problema, como extensiones instaladas, tipo de servidor, etc

Explica lo que hiciste, lo que sucedió, y los mensajes de error que se mostraron (si los hubo); y explica lo que intentaste (si lo hiciste). No existe tal cosa como 'nada', ¡incluso una página en blanco es algo!

Instrucciones específicas para cada plataforma

Nota: Gran parte de esta información es proporcionada por la comunidad. Es posible que no se haya comprobado y que esté desactualizado. Por favor, lea junto con las instrucciones de instalación anteriores.


Vea también