Cómo instalar Moodle en FreeBSD 12

En esta ocasión vamos a ver cómo instalar Moodle en FreeBSD 12 paso a paso, de modo que al final de este tutorial tendrás lista para empezar a trabajar esta famosa plataforma de eLearning sobre tu servidor o VPS FreeBSD.

Antes de instalar Moodle en FreeBSD 12

Para seguir esta guía de instalación de Moodle en FreeBSD 12 debes partir de los siguientes requisitos mínimos:

  • Un sistema FreeBSD 12 actualizado.
  • Una pila FAMP o similar, es decir, servidor web con PHP hasta 8.0 y servidor de bases de datos.
  • Paquetes instalados: ca_root_nss.
  • Acceso a consola de órdenes como usuario con permisos de sudo o el propio root.
  • Conexión a Internet.

En esta guía vamos a utilizar el servidor web Apache y como servicio de bases de datos usaremos MariaDB/MySQL. Si aún no tienes este tipo de entorno, puedes consultar la guía de instalación FAMP en FreeBSD 12.

¿Instalar Moodle en FreeBSD 12 desde los repositorios o desde la web oficial?

En FreeBSD 12 existen paquetes de Moodle bastante actualizados (versión 3.10) para distintas versiones de PHP (desde 7.3 a 8.0). A priori parecería una buena idea realizar la instalación desde los repositorios; sin embargo, el paquete depende de MySQL 5.7, por lo que no es compatible ni con MySQL 8 ni con MariaDB.

Por esa razón, en este tutorial instalaremos Moodle en FreeBSD 12 descargando el paquete oficial desde la web del proyecto.

Cómo descargar Moodle para FreeBSD 12

Vamos a descargar Moodle para FreeBSD 12 visitando la página web oficial del proyecto.

como descargar moodle para freebsd 12

En el portal de descargas encontraremos fácilmente un enlace hacia la última versión estable de Moodle, donde podremos ver todas las opciones de descarga de Moodle disponibles, tanto las últimas revisiones parcheadas y corregidas (con número de versión acabado en +) como los formatos de archivo, (.tgz y .zip):

descargar moodle en freebsd 12

Normalmente optaremos por la versión con versión acabada en + (si existe) y en formato .tgz, ya que está más comprimida y estamos más habituados a usar este formato en FreeBSD 12.

Los enlaces conducen a una página que provoca la descarga automática, así que puedes aceptar la descarga si estás navegando en el sistema FreeBSD 12 sobre el que realizarás la instalación de Moodle, o si tienes medios para cargar ese paquete en el citado sistema.

En mi caso copio el enlace de descarga manual, etiquetado como «click here to download manually» y realizo la descarga a través de consola con fetch (necesitarás que el paquete ca_root_nss esté instalado):

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

Preparativos para instalar Moodle en FreeBSD 12

Con el paquete de Moodle ya descargado en nuestro sistema empezaremos a realizar una serie de tareas previas al proceso en sí de instalación.

Preparación de los archivos

Vamos a instalar Moodle como parte de la página web por defecto de nuestro sistema FreeBSD 12. Tienes más posibilidades, como reemplazar por completo la página web por defecto con Moodle, crear un servidor virtual, etc.

La web por defecto de FreeBSD 12 se encuentra en /usr/local/www/apache24/data/, así que es ahí donde podemos descomprimir el paquete de Moodle:

$ sudo tar xf moodle-latest-400.tgz -C /usr/local/www/apache24/data/

Cambiaremos el propietario de los archivos de Moodle, especificando el usuario y grupo con el que corre el servidor web en FreeBSD 12 (www en el caso de Apache), ya que Moodle necesitará crear un archivo de configuración en esta carpeta:

$ sudo chown -R www:www /usr/local/www/apache24/data/moodle/

Si no quieres hacer esto, podrás descargar el archivo de configuración durante la instalación y copiarlo manualmente en la carpeta de Moodle.

Ahora necesitamos una carpeta donde Moodle almacenará datos, la crearemos fuera del alcance de los archivos que sirve el servidor web, por ejemplo en /usr/local/www/apache24/:

$ sudo mkdir /usr/local/www/apache24/moodledata

El servidor web debe poder escribir en esta carpeta, así que realizaremos la misma operación que en el paso anterior:

$ sudo chown www:www /usr/local/www/apache24/moodledata/

Hemos terminado con la preparación de los archivos.

Preparación de la base de datos

Moodle necesitará una base de datos y un usuario que pueda manejarla, así que conectaremos al servicio de bases de datos de nuestro sistema FreeBSD 12 para crearlos.

MariaDB/MySQL

En este ejemplo conectamos mediante el cliente mysql:

$ sudo mysql

Si en tu sistema FreeBSD 12 tu usuario root del servicio de base de datos accede por contraseña, o usas otro usuario, tendrás que especificarlo:

$ mysql -u tu_usuario -p

En cualquier caso, una vez iniciada sesión, crearemos la base de datos para Moodle:

> create database moodle charset utf8mb4 collate utf8mb4_unicode_ci;

A continuación creamos el usuario que la manejará. En el caso de MariaDB o MySQL 5 lo haremos como de costumbre:

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

En el caso de MySQL 8 además se debe especificar el plugin adecuado, por si estuviese configurado por defecto otro plugin incompatible:

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

A continuación concedemos los permisos necesarios sobre la base al usuario:

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

Sólo queda salir del cliente:

> exit

PostgreSQL

En el caso de usar este motor de bases de datos, creamos un rol con contraseña:

~$ sudo -u postgres createuser -P moodle

Y creamos la base de datos para Moodle, asociada al rol:

~$ sudo -u postgres createdb moodle -O moodle

Podemos continuar.

Preparativos de PHP

Moodle exige que tengamos una serie de extensiones de PHP presentes en nuestro sistema FreeBSD 12. En esta guía asumimos la versión 7.3 de PHP, así que las extensiones que necesitamos serían curl, ctype, dom, fileinfofilter, gd, hash, iconv, intl, json, mbstring, opcache, openssl, session, simplexml, soap, tokenizer, xml, xmlreader, xmlrpc, zip y zlib.

Todas estas extensiones se descargan desde los repositorios, por tanto, como primer paso es buena idea actualizar la información de las listas de paquetes:

$ sudo pkg update

Y ahora es el momento de instalar los paquetes necesarios, para PHP 7.3, por ejemplo:

$ sudo pkg install -y php73-{curl,ctype,dom,exif,fileinfo,filter,gd,hash,iconv,intl,json,mbstring,opcache,openssl,session,simplexml,soap,sodium,tokenizer,xml,xmlreader,xmlrpc,zip,zlib}

Para PHP 7.4:

~$ sudo pkg install -y php74-{curl,ctype,dom,exif,fileinfo,filter,gd,iconv,intl,json,mbstring,opcache,openssl,session,simplexml,soap,sodium,tokenizer,xml,xmlreader,xmlrpc,zip,zlib}

Y para PHP 8.0:

~$ sudo pkg install -y php80-{curl,ctype,dom,exif,fileinfo,filter,gd,iconv,intl,mbstring,opcache,openssl,pecl-xmlrpc,session,simplexml,soap,sodium,tokenizer,xml,xmlreader,zip,zlib}

Habrá que instalar también la extensión correspondiente al conector de la base de datos con la que vamos a trabajar (teniendo en cuenta tu versión de PHP):

~$ sudo pkg install -y phpXX-mysqli phpXX-pgsql

Con esto se descargarán e instalarán todas las extensiones necesarias junto con sus dependencias.

También habrá que hacer algún ajuste en el archivo php.ini:

~$ sudo nano /usr/local/etc/php.ini

Buscamos la directiva max_input_vars:

...
;max_input_vars = 1000
...

Habrá que activarla eliminando el carácter ; inicial y cambiar su valor por el que requiere Moodle:

...
max_input_vars = 5000
...

Una vez guardado el archivo, para que las extensiones y los ajustes estén disponibles, es necesario recargar la configuración del servidor web:

~$ sudo service apache24 reload

Cómo instalar Moodle en FreeBSD 12 con el instalador web

Terminadas las tareas previas, llega el momento de instalar Moodle en FreeBSD 12 a través del instalador web. Para ello conectaremos con la máquina FreeBSD 12 a través de un navegador y usando la URL adecuada.

En este ejemplo la máquina FreeBSD 12 responde al dominio freebsd12.local.lan, así que teniendo en cuenta la ruta en la que hemos instalado los arhivos de Moodle, la URL http://freebsd12.local.lan/moodle sería válida.

También podríamos haber usado la dirección IP del servidor FreeBSD 12 para acceder, añadiendo igualmente el sufijo /moodle.

En cualquier caso, en la primera pantalla debemos elegir el idioma en el que se ejecutará la instalación, que será usado como idioma principal del nuevo sitio Moodle:

como instalar moodle en freebsd 12

Hecha la selección continuamos, y se nos presentará la configuración de las rutas de instalación:

instalar moodle en freebsd 12

En realidad sólo podemos cambiar la ubicación de la carpeta para datos, pero si has seguido las indicaciones anteriores no hará falta modificar nada, ya que hemos creado esta carpeta en la ruta que el instalador establece por defecto.

A continuación comenzaremos con la configuración del servicio de bases de datos:

instalacion de moodle en FreeBSD 12

El primer dato que debemos elegir es el motor de base de datos que estamos usando. Hecho esto tendremos que rellenar los datos de conexión:

instalador de moodle para FreeBSD 12

Facilitaremos el nombre de la base de datos y el usuario y su contraseña, tal como creamos anteriormente. Es posible que como dirección del servidor no funcione localhost, si es así usa 127.0.0.1.

En la siguiente página debemos aceptar los términos y condiciones de Moodle:

instalando moodle en freebsd 12

Tras aceptar estos términos, el instalador hará una comprobación de los requisitos de Moodle sobre tu sistema FreeBSD 12:

configurar freebsd 12 para moodle

Si has seguido al pie de la letra las instrucciones previas a la instalación, pasarás los requisitos a la primera. En este ejemplo se cumplen los requerimientos, únicamente se presenta un aviso de que el sitio corre sobre protocolo HTTP en lugar de HTTPS (que es lo recomendable).

Continuamos con la instalación, generándose al vuelo una enorme lista de tareas que el instalador va realizando:

Igualmente, en esta etapa tampoco deberías obtener ningún aviso o mensaje de error, por lo que podremos continuar con la página en la que configuraremos el usuario administrador:

Actualizada toda la información del administrador, debemos configurar la información de la página principal del sitio:

moodle para freebsd 12

Terminada esta parte, por fin accedemos al área personal del administrador, con la sesión iniciada de forma automática:

moodle en freebsd 12

Desde ahí tendremos acceso a toda nuestra información de usuario y acceso a la administración del sitio.

Ya tienes la plataforma lista para crear y gestionar cursos, alumnos, etc.

Mantenimiento en segundo plano de la plataforma

Moodle debe realizar una serie de procesos en segundo plano para mantener el funcionamiento de la plataforma, usando el servicio Cron de FreeBSD 12. Para ello crearemos una tarea programada para el usuario con el que corre el servicio web:

~$ sudo -u www crontab -e

Se abrirá el editor vi e introduciremos la siguiente línea:

*/1 * * * * /usr/local/bin/php /usr/local/www/apache24/data/moodle/admin/cli/cron.php

Guardados los cambios la tarea será lanzada a intervalos regulares de 1 minuto, que es la frecuencia que recomienda Moodle.

Conclusión

Ahora que sabes cómo instalar Moodle en FreeBSD 12 puedes sacar todo el partido posible a esta plataforma de eLearning. Son bastantes los requisitos y preparativos iniciales, pero siguiendo el orden correcto no debes tener ningún problema. Si tienes instalada la versión 5.7 de MySQL puedes optar por la instalación desde los repositorios, que resolverá automáticamente las dependencias.

Si tienes dudas, sugerencias, preguntas, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Has conseguido instalar Moodle en tu sistema FreeBSD 12? ¿Pensabas que iba a ser una tarea más difícil? Si te hemos servido de ayuda y quieres agradecérnoslo, cualquier mínima contribución al mantenimiento de este sitio es bienvenida.

Puedes ayudarnos dejando 1 $ de propina en PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

Deja un comentario

Ads Blocker Image Powered by Code Help Pro

¡Detectado un bloqueador de publicidad!

Hemos detectado que está usando extensiones para bloquear anuncios prublicitarios. Por favor, ayúdenos desactivando dicho bloqueador para este sitio web. ¡Gracias!