Cómo instalar Moodle en Debian 9 Stretch

Cómo instalar Moodle en Debian 9 Stretch

En esta entrada vamos a ver cómo instalar Moodle en Debian 9 Stretch paso a paso, para poder poner en marcha este sistema de eLearning en tu intranet, tu servidor o tu VPS Debian. Haremos hincapié en configurar bien todos los pre-requisitos sobre nuestro sistema Debian 9 para que la instalación de Moodle transcurra con total suavidad.

Antes de instalar Moodle en Debian 9 Stretch

Para poder completar esta guía de instalación de Moodle en Debian 9 debemos cumplir una serie de requisitos mínimos:

  • Un sistema Debian 9 actualizado.
  • Una pila LAMP o similar, es decir, servidor web con PHP y sistema de bases de datos.
  • Versión 7.1 o superior de PHP.
  • Los paquetes ca-certificates y wget.
  • Acceso por terminal como root o usuario con privilegios de sudo.
  • Conexión a Internet.

En este tutorial usamos Apache como servidor web y MariaDB como sistema de bases de datos, pero podrías usar Nginx, MySQL, etc. La instalación de Moodle se puede realizar como la página web principal del servidor, como parte de esta página web o como un servidor virtual independiente. Por brevedad y simplicidad de este tutorial, instalaremos Moodle como parte de la página web por defecto del sistema. También es importante configurar el servidor web con acceso seguro HTTPS, aunque por el mismo motivo hemos realizado el ejemplo del tutorial sobre HTTP.

Con todo esto aclarado, abrimos una consola de comandos y nos ponemos manos a la obra.

Cómo descargar Moodle para Debian 9 Stretch

Vamos a descargar Moodle para Debian 9 Stretch directamente desde la web oficial del proyecto, ya que no forma parte del software que se ofrece en los repositorios de Debian 9.

como descargar moodle para debian 9 stretch

Accediendo a la sección de descargas encontraremos el enlace a la versión más reciente de Moodle, donde se nos ofrecen dos posibilidades:

descargar moodle para debian 9 stretch

Por un lado tenemos una versión totalmente actualizada (suelen ser lanzamientos semanales), con las últimas correcciones incorporadas, y su número de versión termina con un signo +.

Por otro lado tenemos la versión oficial original, tal como salió en su momento.

En principio la versión más interesante para descargar en nuestro sistema Debian sería la primera opción, la más reciente y actualizada.

Moodle se nos ofrece en paquetes en formato TGZ y en formato ZIP. Puedes descargar el que quieras, aunque para Debian 9 lo aconsejable es elegir el formato TGZ.

Al elegir cualquiera de los paquetes no se descarga directamente, sino que accedemos a una página que inicia la descarga de forma automática. Si estás visitando la página de descargas directamente sobre el sistema Debian en que vas a instalar Moodle puedes aceptar la descarga y continuar.

En mi caso administro la máquina Debian remotamente desde terminal, por lo que cancelo la descarga automática de Moodle y copio en enlace etiquetado como «click here to download manually«.

Con el enlace copiado, lo pegaré como argumento del comando wget para realizar la descarga desde el terminal:

~$ wget https://download.moodle.org/download.php/direct/stable37/moodle-latest-37.tgz

Antes de iniciar la instalación de Moodle, nos centraremos en los preparativos del sistema, que no son pocos y nos pueden generar muchos quebraderos de cabeza si nos saltamos alguno.

Preparativos para instalar Moodle en Debian 9

Directorios web

Para su funcionamiento Moodle necesita dos directorios:

  • El directorio de la aplicación web, accesible vía navegador y que debe ser escribible por el servidor web.
  • El directorio de datos de la aplicación web, NO accesible a través de navegador pero sí escribible por el servidor web.

Aunque puedes encajar Moodle dentro de tu estructura de servicios web como creas conveniente, en esta guía lo vamos a incluir como parte de la página web por defecto de Debian 9. Para ello crearemos la ruta /var/www/html/moodle/ que será el directorio de la aplicación, y también crearemos la ruta /var/www/moodledata/ como directorio de datos de la aplicación.

Directorio de la aplicación

Lo más sencillo es descomprimir el paquete de Moodle que acabamos de descargar directamente en la estructura de la página web por defecto de Apache en Debian:

~$ sudo tar xzf moodle-latest-37.tgz -C /var/www/html/

Como indiqué antes, el servidor web debe poder escribir en este directorio para poder guardar el archivo de configuración config.php. Una forma sencilla de dar permisos de escritura al servidor web es cambiar el propietario y grupo de esta carpeta al usuario y grupo del servidor web (www-data en el caso de Apache):

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

Directorio de datos

Ahora creamos la carpeta de datos de la aplicación y concedemos idénticos permisos al servidor web:

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

Y con esto tenemos todo listo en lo referente al servidor web.

Preparativos de PHP

Moodle en Debian 9 necesita tener instalados un buen número de módulos de PHP que pueden no estar presentes en la instalación mínima de una pila LAMP. Estamos hablando de módulos como php-curl, php-gd, php-intl, php-mbstring, php-soap, php-xml, php-xmlrpc y php-zip. Vamos a proceder a su instalación.

En primer lugar actualizamos la información de los repositorios de Debian:

~$ sudo apt update

Ya podemos instalar todos los módulos necesarios:

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

Para que los nuevos módulos funcionen es necesario recargar la configuración del servidor web:

~$ sudo systemctl reload apache2

Preparativos del sistema de bases de datos

Moodle exige que el sistema de bases de datos tenga cierta configuación. En el caso de MariaDB (usado en esta guía) se requiere:

  • El uso del sistema de archivos Barracuda para las tablas.
  • Activar la opción innodb_large_prefix.

Editamos el archivo de configuración del servidor de bases de datos, en este caso sería /etc/mysql/mariadb.conf.d/50-server.cnf:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Buscamos la sección server y añadimos un par de líneas:

...
[server]
...
innodb_file_format = Barracuda
innodb_large_prefix = on
...

Guardados los cambios, hay que reiniciar el servicio de bases de datos:

~$ sudo systemctl restart mariadb

Creación de la base de datos y del usuario

Necesitamos crear una base de datos específica para Moodle y un usuario que la administre. Estos datos los proporcionaremos posteriormente al instalador. Para preparar la base de datos, en esta guía sobre MariaDB/MySQL, abrimos el cliente mysql en un terminal con nuestro usuario administrador (se puede hacer de forma similar con phpMyAdmin si lo tienes instalado):

~$ mysql -u root -p

Y creamos la base de datos:

> create database moodle_db;

A continuación creamos el usuario que Moodle usará para trabajar con la nueva base de datos. Si usas MariaDB o MySQL 5.x usa esta sentencia:

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

En cambio, si usas MySQL 8 asegúrate de especificar el plugin de autenticación mysql_native_password para el nuevo usuario:

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

Y concedemos los permisos necesarios a este usuario sobre la base de datos:

> grant all privileges on moodle_db.* to moodle_user@localhost;

Refrescamos la tabla de permisos y cerramos el cliente mysql:

> flush privileges;
> exit

Anota el nombre de la base de datos, el usuario y la contraseña para usarlos más adelante.

Cómo instalar Moodle en Debian 9

Si has llegado hasta aquí lo más difícil ya está hecho. Por fin empieza la instalación de Moodle propiamente dicha a través del instalador web. Abriremos un navegador y accederemos ya sea de forma local o remota a la página web de nuestro sitio Moodle mediante dirección IP, dominio, etc.

En este tutorial Moodle se instala como un subdirectorio de la web por defecto de Debian 9, por lo que a la dirección IP o dominio de la máquina tendremos que añadir el sufijo /moodle/. En mi caso, accedo a través del dominio debian9.local, por lo que visitaré la dirección http://debian9.local/moodle/.

como instalar moodle en debian 9 stretch

La página inicial del instalador web permite elegir el idioma de la instalación. Seleccionamos el idioma que nos interese y continuamos.

La siguiente página nos mostrará la URL base para acceder a Moodle, la ruta de la aplicación web en el sistema y la ruta del directorio de datos.

instalar moodle en debian 9 stretch

A no ser que hayas decidido crear el directorio de datos de Moodle en una ubicación distinta, no debemos modificar nada, simplemente continuar.

En la siguiente página de la instalación se nos pregunta qué controlador de bases de datos utilizar:

instalacion de moodle en debian 9 stretch

En el ejemplo de esta guía, usando MariaDB Server el controlador MariaDB (nativo/mariadb) es la opción correcta. Si tienes otra base de datos instalada, elige la opción correspondiente.

El siguiente paso es proporcionar los datos de conexión a la base de datos:

Proporcionamos el nombre de la base de datos, el usuario y su contraseña. El resto de campos se pueden dejar por defecto o en blanco, ya que el servicio de bases de datos suele encontrarse en el mismo sistema Debian 9 que el servidor web, funcionando bajo los parámetros por defecto.

Una vez configurado el acceso a la base de datos, podemos continuar para llegar a la página de aceptación de términos del servicio:

Debemos leer las condiciones de servicio y entenderlas para poder continuar.

Hecho esto la siguiente página comprobará todos los requisitos para la instalación de Moodle en Debian 9:

Si has seguido escrupulosamente todos los pasos previos, aplicando las particularidades propias de tu sistema, deberías acceder a una larga lista de requisitos verificados. En este ejemplo falla el protocolo HTTPS porque el servidor que estoy configurando no tiene instalado el certificado SSL. Si estás preparando un entorno de producción deberías instalar un certificado y trabajar bajo HTTPS. En cualquier caso, podemos continuar y comenzará la verdadera instalación:

La siguiente página que aparece va registrando la instalación de todos y cada uno de los componentes de Moodle, informando del resultado de la operación. Al final de esta larga lista aparecerá el botón de continuar.

Pasaremos a cumplimentar la información del administrador del sitio:

Actualizado el perfil del administrador, pasamos a actualizar la información de la página principal y algún dato más:

Guardados los cambios de esta configuración se nos redirecciona a la página de administración del sitio con el formulario de registro de nuestro sitio en Moodle.net:

moodle en debian 9 stretch

El registro es opcional y podemos saltárnoslo pinchando el enlace «Skip» bajo el botón de registro. En cualquier caso, una vez enviado o saltado el registro se nos envía a la página de nuestra área personal:

moodle para debian 9 stretch

Como es la primera vez que entramos en nuestra área personal, un breve asistente nos mostrará las secciones principales de la página.

A partir de ahora ya estamos listos para la gestión de usuarios y cursos, pero eso ya es materia fuera del alcance de esta guía.

Conclusión

Ahora que ya sabes cómo instalar Moodle en Debian 9 tienes a tu disposición una de las plataformas más potentes de eLearning. Recuerda que es importante montar la plataforma sobre un servidor web con seguridad SSL, prácticamente obligatorio si es accesible a través de Internet.

En caso de que tengas cualquier duda, pregunta, notificación de errores, sugerencia, etc. déjame un comentario.

Ah, y si te ha servido esta guía de instalación de Moodle en Debian 9, ¡nada te impide invitarme a un café!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)
Cargando…

Esta entrada tiene 2 comentarios

  1. Genial!
    En Debian 10, en el 50-server-cnf he debido hacer:
    innodb_large_prefix = on

    innodb_large_prefix, sin más me daba error.

    Y también instalar php-mysql (se debía suponer, pero ando algo pez)

    Gracias!

    1. Claro, en Debian 9 no es necesario añadir el «on», aunque funcionaría igual. Por otro lado, siendo requisito una pila LAMP se entiende que la extensión php-mysql ya debería estar presente en el sistema.

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies