En esta ocasión vamos a ver cómo instalar Moodle en FreeBSD 13 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.
Contenido
Antes de instalar Moodle en FreeBSD 13
Para seguir esta guía de instalación de Moodle en FreeBSD 13 debes partir de los siguientes requisitos mínimos:
- Un sistema FreeBSD 13 actualizado.
- Una pila FAMP o similar, es decir, servidor web PHP 8.1 ó superior y servidor de bases de datos (MariaDB 10.6, MySQL 8.0 ó PostgreSQL 15).
- 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 13.
¿Instalar Moodle en FreeBSD 13 desde los repositorios o desde la web oficial?
En FreeBSD 13 existen paquetes de Moodle para las versiones de la 4.1 a la 4.3 atados a las versiones de PHP 8.1 y 8.2. A pesar de estar paquetizado, esta aplicación requiere bastante configuración manual tras la instalación. Por esa razón, en este tutorial instalaremos Moodle en FreeBSD 13 descargando el paquete oficial de la última versión disponible desde la web del proyecto.
Cómo descargar Moodle para FreeBSD 13
Vamos a descargar Moodle para FreeBSD 13 visitando la página web oficial del proyecto. 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):
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 13.
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 13 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/stable404/moodle-latest-404.tgz
Preparativos para instalar Moodle en FreeBSD 13
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 13. 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 13 se encuentra en /usr/local/www/apache24/data/, así que es ahí donde podemos descomprimir el paquete de Moodle:
~$ sudo tar xf moodle-latest-404.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 13 (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 13 para crearlos.
MariaDB/MySQL
En este ejemplo conectamos mediante el cliente mysql:
~$ sudo mysql
Si en tu sistema FreeBSD 13 tu usuario root del servicio de base de datos accede por contraseña, o usas otro usuario, tendrás que especificarlo:
~$ mysql -u root -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á:
> create user moodle@localhost identified by 'XXXXXXXX';
Y 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 13. que 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 8.1, por ejemplo:
~$ sudo pkg install -y php81-curl php81-ctype php81-dom php81-exif php81-fileinfo php81-filter php81-gd php81-iconv php81-intl php81-mbstring php81-opcache php81-session php81-simplexml php81-soap php81-sodium php81-tokenizer php81-xml php81-xmlreader php81-zip php81-zlib
Para PHP 8.2:
~$ sudo pkg install -y php82-curl php82-ctype php82-dom php82-exif php82-fileinfo php82-filter php82-gd php82-iconv php82-intl php82-mbstring php82-opcache php82-session php82-simplexml php82-soap php82-sodium php82-tokenizer php82-xml php82-xmlreader php82-zip php82-zlib
Y para PHP 8.3:
~$ sudo pkg install -y php83-curl php83-ctype php83-dom php83-exif php83-fileinfo php83-filter php83-gd php83-iconv php83-intl php83-mbstring php83-opcache php83-session php83-simplexml php83-soap php83-sodium php83-tokenizer php83-xml php83-xmlreader php83-zip php83-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 13 con el instalador web
Terminadas las tareas previas, llega el momento de instalar Moodle en FreeBSD 13 a través del instalador web. Para ello conectaremos con la máquina FreeBSD 13 a través de un navegador y usando la URL adecuada.
En este ejemplo la máquina FreeBSD 13 responde al dominio freebsd13.local.lan, así que teniendo en cuenta la ruta en la que hemos instalado los arhivos de Moodle, la URL http://freebsd13.local.lan/moodle sería válida.
También podríamos haber usado la dirección IP del servidor FreeBSD 13 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:
Hecha la selección continuamos, y se nos presentará la configuración de las rutas de instalación:
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:
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:
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:
Tras aceptar estos términos, el instalador hará una comprobación de los requisitos de Moodle sobre tu sistema FreeBSD 13:
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:
Terminada esta parte, por fin accedemos al área personal del administrador, con la sesión iniciada de forma automática:
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 13. 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 (activamos el modo inserción con la tecla [i]):
*/1 * * * * /usr/local/bin/php /usr/local/www/apache24/data/moodle/admin/cli/cron.php
Guardados los cambios (teclas [esc] + [:] + [w] + [q] + [Intro]) 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 13 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 dudas, sugerencias, preguntas, etc. puedes dejar un comentario.
¡Apoya este sitio!
¿Has conseguido instalar Moodle en tu sistema FreeBSD 13? ¿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!