Cómo instalar Moodle en Debian 10 Buster

Vamos a ver en esta ocasión cómo instalar Moodle en Debian 10 Buster paso a paso, de modo que puedas montar tu propio centro online de recursos educativos con la plataforma más usada en Internet. Al final de esta guía tendrás lista para usar una de las plataformas de eLearning más aclamadas sobre tu servidor o VPS Debian.

Antes de instalar Moodle en Debian 10 Buster

Si quieres seguir esta guía de instalación de Moodle en Debian 10 necesitarías partir de unos requerimientos mínimos que enumero a continuación:

  • Una máquina Debian 10 actualizada.
  • Una pila tipo LAMP, lo que viene siendo servidor web con PHP y servicio de bases de datos.
  • Acceso a consola con root o, mejor aún, un usuario con permisos de sudo.
  • Conexión a Internet.

Para el ejemplo de esta guía usaremos Apache como servidor web y MariaDB como servicio de bases de datos. Puedes consultar la guía de instalación LAMP en Debian 10 Buster si aún no tienes esta configuración en tu sistema.

Cómo descargar Moodle para Debian 10 Buster

Debido a que no está presente en los repositorios de la distribución, tenemos que descargar Moodle para Debian 10 Buster desde la página web de Moodle.

como descargar moodle para debian 10 buster

Accederemos a la sección de descargas donde en primer plano se nos ofrecerá la última versión:

descargar moodle para debian 10 buster

Si en el momento de leer esta guía existe una versión terminada en +, se tratará de la revisión disponible más actualizada, en caso contrario la versión disponible será tan reciente que no hay actualizaciones para aplicar. El paquete está disponible en formato .zip y en formato .tar.gz y ambos enlaces llevan a una página de descarga automática.

Para esta guía elegiremos el paquete en formato .tar.gz y copiaremos el enlace de descarga manual en lugar de descargar a través del navegador, ya que descargaremos desde consola mediante el comando wget:

~$ wget https://download.moodle.org/download.php/direct/stable400/moodle-latest-400.tgz

Una vez que descargamos el paquete es el momento de llevar a cabo toda una serie de preparativos sin los cuales el instalador de Moodle no logrará su objetivo.

Preparativos para instalar Moodle en Debian 10 Buster

Para poder instalar Moodle en Debian 10 no basta con descargar y descomprimir un paquete, hay que preparar directorios y configuraciones. Vayamos paso a paso con estos preparativos.

Preparando los directorios web

Moodle usa dos carpetas para funcionar:

  • La carpeta de la aplicación web, donde se encuentran todos los archivos que forman la aplicación misma, como cualquier otra página web. Por tanto debe ser accesible desde navegador y escribible por el servidor web, ya que Moodle tiene que crear y modificar archivos.
  • La carpeta de datos de Moodle, que debe estar fuera de alcance desde navegador, pero también debe ser escribible por el servidor web.

Por simplicidad de esta guía vamos a integrar Moodle dentro de la página web por defecto de Debian 10, pero nada te impide configurarla como página por defecto por sí misma o como un servidor virtual.

Carpeta de la aplicación

Puesto que vamos a integrar Moodle como parte de la página web por defecto, y esta se encuentra en /var/www/html/, será ahí donde descomprimamos el paquete que acabamos de descargar:

~$ sudo tar xf moodle-latest-400.tgz -C /var/www/html/

Ya tenemos Moodle instalado en la carpeta /var/www/html/moodle/. Falta darle permisos al servidor web para que pueda escribir en ella. Una solución fácil y rápida es asignar la carpeta el usuario y grupo que usar el servidor web:

~$ sudo chown -R www-data: /var/www/html/moodle/

Carpeta de datos

Es el momento de crear el directorio de datos para Moodle:

~$ sudo mkdir /var/www/moodledata

Haremos también para esta carpeta que sea escribible por el servidor web:

~$ sudo chown www-data: /var/www/moodledata/

Hemos elegido /var/www/ para ubicar esta carpeta porque por la configuración de la página web por defecto en Debian 10, no es accesible desde un navegador.

Los preparativos del servidor web están terminados.

Preparando PHP

Extensiones

Para que Moodle pueda funcionar en Debian 10 Buster es necesario incorporar un buen número de módulos de PHP que pueden no estar presentes en una instalación convencional. Estos módulos son curl, gd, intl, mbstring, soap, xml, xmlrpc y zip. Todos se encuentran en los repositorios, así que actualizaremos la información de los mismos:

~$ sudo apt update

Si usamos la versión nativa de PHP para Debian 10, instalaremos los paquetes necesarios de la siguiente forma:

~$ sudo apt -y install php-{curl,gd,intl,mbstring,soap,xml,xmlrpc,zip}

Pero si usamos una versión concreta del repositorio alternativo, habrá que indicarla en el nombre de los paquetes; por ejemplo, para PHP 7.4:

~$ sudo apt install -y php7.4-{curl,gd,intl,mbstring,soap,xml,xmlrpc,zip}

Para otra versión, sustituiremos php7.4- por lo que corresponda en el comando anterior.

También será necesaria la extensión que permita conectar con el servicio de bases de datos que usemos (aplicándose lo dicho para la nomenclatura de los paquetes):

En el caso de trabajar con PostgreSQL:

~$ sudo apt install -y php-pgsql

Y con MariaDB/MySQL:

~$ sudo apt install -y php-mysql

Configuración

Además de las extensiones necesarias también tendremos que hacer algún ajuste en el archivo php.ini:

~$ sudo nano /etc/php/7.3/apache2/php.ini

En el caso de trabajar con otra versión de PHP, modifica adecuadamente la ruta en el comando anterior.

Buscaremos la directiva max_input_vars:

...
; How many GET/POST/COOKIE input variables may be accepted
;max_input_vars = 1000
...

La activaremos eliminando el carácter ; al inicio de línea y le daremos el siguiente valor:

...
max_input_vars = 5000
...

Una vez guardados los cambios, recargamos la configuración del servicio web:

~$ sudo systemctl reload apache2

Preparando la base de datos

Moodle puede trabajar sobre distintos motores de bases de datos, de los que veremos un par de los más populares en Debian 10 Buster.

MariaDB/MySQL

Conectamos al servicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos una nueva base de datos para Moodle:

> create database moodle charset utf8mb4 collate utf8mb4_unicode_ci;

Y creamos el usuario que se utilizará para administrar esta base desde Moodle. En MariaDB y MySQL 5 usaremos esta sentencia:

> create user moodle@localhost identified by 'XXXXXXXX';

Sin embargo, en MySQL 8 especificaremos el plugin de autenticación por si acaso:

> create user moodle@localhost identified with mysql_native_password by 'XXXXXXXX';

Ahora concedemos permisos al usuario sobre la base de datos:

> grant all privileges on moodle.* to moodle@localhost;

Ya podemos cerrar el cliente:

> exit

PostgreSQL

Si este es el servicio de bases de datos que vamos a usar, creamos un rol con contraseña para Moodle:

~$ sudo -u postgres createuser -P moodle

Y creamos una base propiedad del rol:

~$ sudo -u postgres createdb moodle -O moodle

Eso es todo.

Cómo instalar Moodle en Debian 10 Buster

Para instalar Moodle en Debian 10 Buster usuaremos el instalador web. Teniendo en cuenta cómo hayas decidido ubicar Moodle en tu servidor web, tendrás que utilizar la URL de la forma correspondiente. En esta guía hemos instalado Moodle bajo la carpeta moodle/ en la estructura de archivos web de la página por defecto, por lo que añadiremos esta ruta a la dirección (IP, nombre de máquina, dominio) del servidor Debian 10.

La máquina de nuestro ejemplo es accesible desde el dominio debian10.local.lan, por lo que una URL válida sería http://debian10.local.lan/moodle y la utilizaremos en un navegador:

como instalar moodle en debian 10 buster

El primer paso es seleccionar el idioma para la instalación, que se empleará en principio también como idioma del sitio.

Una vez seleccionado, continuamos hasta la pantalla de confirmación de rutas:

instalar moodle en debian 10 buster

La única ruta que se puede modificar es la de la carpeta de datos de Moodle. En este ejemplo nos hemos adelantado al valor por defecto, por lo que en principio no necesitamos modificarla, pero si en tu caso la has ubicado en otro lugar, debes especificarlo.

Continuamos para seleccionar el controlador de base de datos:

instalacion de moodle en debian 10 buster

Tras seleccionar en el desplegable el controlador adecuado a nuestro servicio de bases de datos avanzamos al siguiente paso, que consiste en proporcionar los datos de conexión:

instalador de moodle para debian 10 buster

Introducimos el nombre de la base de datos, el usuario y la contraseña que creamos anteriormente.

En la siguiente página se nos pedirá que confirmemos haber leído y comprendido los términos y condiciones:

Instalando Moodle en Debian 10 Buster

Hecho esto, en la siguiente página aparecerá una lista de comprobación de requisitos para la instalación de Moodle:

como configurar debian 10 buster para moodle

Si has seguido exhaustivamente los preparativos de esta guía, deberías cumplir todos los requerimientos.

En el ejemplo de esta guía el instalador detecta de que el sitio no funciona sobre HTTPS, pero no es un requisitio, sino una recomendación.

Continuamos y por fin comienza el verdadero proceso de instalación, donde una nueva página irá creando una larga lista de tareas realizadas:

Como en el paso anterior, no debería haber ningún problema si hemos preparado el sistema para la instalación.

En el paso siguiente configuraremos el usuario administrador del sitio:

Después le llega el turno a los ajustes generales del sitio, como nombre, descripción, etc.

moodle para debian 10 buster

La dirección de correo electrónico para el contacto de soporte es obligatoria, a pesar de que no se indica nada al respecto, por lo que habrá que introducirla para poder continuar.

Terminado este paso se nos lleva directamente a nuestro sitio Moodle, con la sesión iniciada y en nuestra área personal donde, tras cerrar el aviso sobre el nuevo panel lateral, podremos ver su organización:

moodle en debian 10 buster

Ya estamos listos para empezar a trabajar en nuestro nuevo centro de eLearning, creando cursos y contenidos, gestionando alumnos, etc.

Pero todo eso ya escapa del alcance de esta guía de instalación.

Post-instalación

Cron

Existen una serie de tareas de mantenimiento de Moodle que deben ser realizadas en segundo plano mediante el servicio Cron de Debian 10 Buster. Por tanto crearemos el archivo de configuración de estas tareas:

~$ sudo nano /etc/cron.d/moodle

El contenido del archivo será la siguiente línea:

*/1 * * * * www-data /usr/bin/php /var/www/html/moodle/admin/cli/cron.php

La frecuencia establecida para la repetición de las tareas es de tan sólo 1 minuto, que es el intervalo que el panel de control de Moodle considera adecuado.

Una vez guardado el archivo comenzará a ejecutarse periódicamente la tarea.

Conclusión

Ahora que sabes cómo instalar Moodle en Debian 10 Buster ya puedes montar tu plataforma de eLearning en tu servidor VPS Debian. La instalación se puede complicar si no se prevén los laboriosos preparativos, pero si has seguido los pasos te habrá parecido un pequeño paseo.

Si tienes alguna pregunta, duda, sugerencia o notificación de errores, puedes dejar un comentario.

Y si te ha servido de algo esta guía de instalación de Moodle en Debian 10 Buster, y quieres agradecerlo de alguna forma, puedes ayudarnos librándote de tu calderilla de PayPal dejando 1 $ de propina:

¡Gracias!

5/5 - (2 votos)

19 comentarios en «Cómo instalar Moodle en Debian 10 Buster»

  1. Profe, algún contacto para hacerle algunas preguntas técnicas, queremos implementar en un servidor y levantar el backup que nos dejó el servicio anterior donde teníamos alojada la plataforma y queríamos saber qué pasos seguir. Le estaremos agradeciendo mucho con su ayuda profe.

    Responder
    • Básicamente habría que montar un sistema Debian 10 LAMP o similar (dependiendo del motor de bases de datos usados), cargar la copia de seguridad de la base de datos (a ser posible con el usuario y contraseña usados en la instalación original de Moodle) y desplegar el sistema de archivos (supongo que desde un archivo comprimido) en la ubicación original, de modo que la configuración resulta idéntica a la que existía en el servidor original. La idea es que Moodle levante a la primera, al encontrar todo tal como su configuración especifica.

      Responder
      • Buenos días, profe. Seguí los pasos para instalar Moodle en Debian 10, ahora como le comenté anteriormente quiero levantar un respaldo de un servicio que teníamos en un hosting. Los archivos comprimidos son: moodle, moodledata y moodlesql. ¿Cómo sería los pasos a seguir para poder levantarlo en mi servidor Debian 10 local? Desde ya muchas gracias.

        Responder
    • ¡Hola! Si lo que quieres es instalar Moodle en Debian 10 y necesitas los componentes que mencionas, al principio de este tutorial tienes un enlace que te ayudará a preparar el entorno. Si sólo quieres instalar el servicio de bases de datos, usa el buscador de nuestro sitio web para localizar los tutoriales correspondientes.

      Responder
  2. Hola y muchas gracias por la info, muy buen tutorial. Tengo una consulta, terminé todos los pasos y no lo voy a registrar en Moodle aún, ya que no estoy publicando mi servidor, pero desde mi red interna no logro entrar a la página del servicio solo acceso desde el mismo servidor Debian.

    Responder
    • ¡Hola! No das mucha información del problema, por ejemplo cuál es el error que obtienes al intentar acceder desde la red. ¿Puedes acceder a otras páginas web de ese servidor Debian 10? ¿Podría ser un problema de firewall? ¿Con qué URL accedes a Moodle desde el servidor y con cuál intentas acceder desde la red?

      Responder
  3. Interesante, ante la emergencia están intentando aprender con zoom, pero si pudieras hacer un tutorial para Raspberry Pi sería grandioso.

    Saludos.

    Responder
    • ¿Te refieres a instalar Moodle sobre una Raspberry con sistema operativo Raspbian o similar? Moodle es una plataforma que consume muchos recursos, así que aunque es factible a la hora de trabajar varios usuarios podría llegar a ser desesperante. Aun así se puede intentar.

      Responder
      • Viendo los requerimientos oficiales, realmente es pesado, es necesario un servidor QuadCore y un mínimo de 8Gb de RAM para que Moodle sea realmente funcional, menos que esto solo se puede para pruebas.

        Responder
  4. En esta línea:

    ~$ mysql -u root -p

    Me pide que ingrese una contraseña coloco la de root y me aparece este mensaje:

    Access denied for user ‘root’@’localhost’

    Probé dejando en blanco y me aparece el mismo mensaje.

    Responder
    • ¡Hola! Para eso tu máquina Debian 10 debe tener una dirección IP pública, un dominio configurado, si se trata de un servidor tipo VPS. Y si estás tras un router, este debería tener una dirección IP fija con el puerto del servicio web redireccionado a la máquina Debian 10 que aloja el sitio Moodle.

      Responder
      • ¡¡Hola!! En mi caso yo lo instalé en una máquina física de mi casa, y mi conexión a INTERNET es con un Modem/Router, ¿se puede ver desde fuera o desde la INTERNET? Si tienes un Ejemplo mejor. ¡¡Gracias!!

        Responder
        • Hola. Para que tu instalación de Moodle en Debian 10 sea visible desde Internet los puertos HTTP (80/TCP) y/o HTTPS (443/TCP) en el router deberían estar abiertos y redirigidos a la máquina Debian 10. De esa forma tu contenido web estaría disponible, en principio usando la dirección IP. Para acceder mediante dominio deberías tener un dominio configurado con la IP de tu router (si es una dirección IP estática) o mediante algún sistema de DNS dinámico si la dirección IP va cambiando con el tiempo.

          Responder

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.