linux sysadmin installs moodle lms on ubuntu server

Cómo instalar Moodle en Ubuntu server 22.04 | 20.04

Moodle es uno de los mejores sistemas de gestión del aprendizaje disponibles. Se trata de un software abierto, publicado bajo la ‘Licencia Pública General GNU’ de código abierto, lo que lo hace muy flexible y personalizable. En esta guía aprenderás a instalar Moodle en el servidor Ubuntu 20.04/22.04. Empecemos.

We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.

Requisitos previos

  • Instalar un servidor VPS con Ubuntu 22.04
  • Obtener un nombre de dominio que apunte a la dirección IP de tu servidor, como “moodle.ejemplo.org”.

Para los ejemplos de esta guía usaremos el dominio moodle.example.org, cámbialo por tu propio nombre de dominio.

Preparación del servidor Ubuntu para la instalación de Moodle

Actualizar el sistema

Lo primero es actualizar el sistema. Para empezar, conéctese a su servidor mediante SSH. A continuación, ejecute los comandos “apt update” y “apt upgrade” para actualizar los paquetes del sistema a la última versión.

$ sudo apt update && apt upgrade -y

ejecutando los comandos apt update y apt upgrade para actualizar el servidor Ubuntu antes de proceder a la instalación de moodle

Instalar Apache, PHP-8.1, MariaDB servidor MySQL

A continuación, instale las dependencias de Moodle. Necesitamos instalar el servidor web Apache, PHP 8.1, el servidor SQL MariaDB, el servidor de correo y una lista de extensiones PHP requeridas por Moodle.

$ sudo apt install apache2 php8.1 mariadb-server postfix 
$ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl

Una vez finalizada la instalación, inicie el servidor web apache.

$ sudo systemctl start apache2 
$ sudo systemctl enable apache2

Configurar Apache VirtualHost y PHP-FPM

Ejecutaremos Moodle 4.2 en Apache y PHP-FPM. En el siguiente paso configuraremos PHP-FPM para Apache.

1. Inicie el servicio PHP-FPM y habilítelo en el arranque.

$ sudo systemctl start php8.1-fpm
$ sudo systemctl enable php8.1-fpm

2. Para usar PHP-FPM con Apache necesitamos habilitar los módulos proxy_fcgi y proxy.

sudo a2enmod proxy_fcgi proxy

3. Crear archivo de configuración de Apache para Moodle.

$ sudo nano /etc/apache2/sites-available/moodle.conf

Introduzca la siguiente configuración en moodle.conf. Sustituya ServerName, DocumentRoot, Directory por sus valores.

<VirtualHost *:80>
ServerName moodle.example.org
ServerAlias www.moodle.example.org
DocumentRoot /home/moodle/public_html

<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Guarda y cierra el archivo con CTRL+X, luego Y y, por último, Intro.

4. Habilite el nuevo host virtual y recargue el servidor web Apache.

$ a2ensite moodle
$ systemctl reload apache2

5. También es bueno tener una reescritura y módulos SSL habilitado

# a2enmod rewrite
# a2enmod ssl
# systemctl restart apache2

Crear una base de datos y un usuario de base de datos

1. Inicie y habilite el servidor SQL MariaDB

root@moodle-lms-install:~# systemctl start mariadb 
root@moodle-lms-install:~# systemctl enable mariadb

2. Crear usuario y base de datos MySQL

root@moodle-lms-install:~# mysql
MariaDB [(none)]> create database moodle_dev;
MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password';
MariaDB [(none)]> flush privileges;

Una vez que tenemos Apache, PHP y MySQL configurados podemos proceder a instalar el código de moodle.

Instalar código Moodle

1. Crear un directorio de inicio para el sitio Moodle y un directorio público

$ useradd --create-home -s /bin/sh moodle
$ mkdir -p /home/moodle/public_html
$ chmod 711 /home/moodle

2. Descargue el último código de Moodle y extráigalo en el directorio público.

Puede descargar la última versión de moodle en https://download.moodle.org/releases/latest/. Obtén el código y súbelo al directorio público. En nuestro caso el directorio es “/home/moodle/public_html”

Ejecutar la instalación en el navegador

Antes de proceder a este último paso, debe apuntar su nombre de dominio a la dirección IP de su servidor. Cuando el DNS esté configurado, podrá ejecutar la instalación de Moodle en un navegador.

1. Abra su navegador y navegue hasta el dominio/subdominio de su sitio Moodle. Debería ver la página de instalación de Moodle.

2. Elija el idioma del sitio web. Mantendremos el inglés.

elegir un idioma de moodle durante la instalación
elegir un idioma de moodle durante la instalación

 

3. Confirmar rutas

En el siguiente paso confirme que la dirección web, el directorio moodle y el directorio de datos son correctos. En nuestra instalación faltaba el directorio Data, así que lo creamos en este paso.

# mkdir /home/moodle/moodledata
# chown www-data:www-data /home/moodle/moodledata

confirmar dirección web, directorio moodle, directorio de datos

4. Elija un servidor de base de datos

En esta guía utilizamos MariaDB. Seleccione MariaDB en el menú desplegable.

elija MariaDB en el menú desplegable

5. Introducir la configuración de la base de datos

Introduzca el nombre de la base de datos, el usuario de la base de datos y la contraseña que hemos creado anteriormente.

configuración de la base de datos de entrada

6. Crear archivo config.php

Tras introducir la configuración de la base de datos y hacer clic en “Siguiente”, se generará un archivo config.php. Copie el contenido del archivo y cree “config.php” en el directorio raíz de moodle (/home/moodle/public_html en este ejemplo).

7. Aceptar la licencia

En este paso debe leer y aceptar el acuerdo de licencia de Moodle.

8. Superar las comprobaciones del servidor

La mayoría de los controles se superaron en nuestra instalación. Sólo tuvimos que cambiar “max_input_vars” de su valor por defecto a 5000.

$ nano /etc/php/8.1/fpm/php.ini
$ systemctl reload php8.1-fpm

corregir error max_input_vars durante la instalación de moodle

9. Configure su cuenta de administrador principal

En este paso debe configurar la cuenta de administrador. Introduzca el nombre de usuario y la contraseña del administrador, así como otros datos necesarios.

10. Introduzca la configuración de inicio del sitio

Configure el nombre del sitio, el nombre corto del sitio, el resumen de la página de inicio del sitio y otra información.

 

configurar los ajustes del sitio moodle

Cree su primer curso

Después de unos pocos clics finales verá el salpicadero LMS y Calendario. Vaya a la pestaña “Mis cursos” y cree su primer curso Moodle. ¡Bien hecho!

mi pestaña de cursos en el sitio moodle recién instalado

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.