Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.
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.
Antes de comenzar
Echa un vistazo a nuestro servicio de alojamiento para Moodle Edición comunitaria. ¡Puedes empezar a utilizar el LMS sin necesidad de instalarlo!
Requisitos previos
- Instalar un servidor VPS con Ubuntu 22.04 en él
- Obtenga un totalmente calificado nombre de dominio pointing to your server’s IP address, such as “moodle.example.org”
Para ejemplos en esta guía usaremos dominio moodle.ejemplo.org, cámbielo a su propio nombre de dominio.
Preparando el servidor Ubuntu para la instalación de Moodle
Actualizar el sistema
First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.
$ sudo apt update && apt upgrade -y

Instalar Apache, PHP-8.1, servidor MariaDB MySQL
Luego 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
Cuando se complete 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 al arrancar.
$ sudo systemctl start php8.1-fpm $ sudo systemctl enable php8.1-fpm
2. Para usar PHP-FPM con Apache necesitamos habilitar proxy_fcgi y los módulos proxy.
sudo a2enmod proxy_fcgi proxy
3. Cree el archivo de configuración de Apache para Moodle.
$ sudo nano /etc/apache2/sites-available/moodle.conf
Ingrese la siguiente configuración en moodle.conf. Reemplazar Nombre del servidor, raíz del documento, directorio con tus valores.
<VirtualHost *:80>
ServerName moodle.ejemplo.org
ServerAlias www.moodle.ejemplo.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>
Guarde y cierre el archivo con CTRL X, luego Y, luego Enter.
4. Habilite el nuevo host virtual y vuelva a cargar el servidor web Apache.
$ a2ensite moodle $ systemctl reload apache2
5. Also it’s nice to have a rewrite and SSL modules enabled
# a2enmod rewrite # a2enmod ssl # systemctl restart apache2
Crear 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 tengamos configurado Apache, PHP y MySQL podemos proceder con la instalación del código Moodle.
Instalar código Moodle
1. Cree 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 código de Moodle más reciente y extráigalo al directorio público.
Puede descargar la última versión de Moodle desde https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”
Ejecute la instalación en el navegador
Antes de continuar con este paso final, debe indicar su nombre de dominio a la dirección IP de su servidor. Cuando DNS está configurado, puede ejecutar la instalación de Moodle en un navegador.
1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.
2. Choose website’s language. We will keep English.

3. Confirmar rutas
En el siguiente paso, confirme que la dirección web, el directorio de Moodle y el directorio de datos sean correctos. Faltaba el directorio de datos en nuestra instalación, por lo que lo creamos en este paso.
# mkdir /home/moodle/moodledata # chown www-data:www-data /home/moodle/moodledata

4. Elija un servidor de base de datos
Usamos MariaDB para esta guía. Seleccione MariaDB en el menú desplegable.

5. Ingrese la configuración de la base de datos
Ingrese el nombre de la base de datos, el usuario de la base de datos y la contraseña que creamos anteriormente.

6. Cree el archivo config.php
After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).
7. Aceptar licencia
Debe leer y aceptar el acuerdo de licencia de Moodle en este paso.
8. Pasar las comprobaciones del servidor
Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.
$ nano /etc/php/8.1/fpm/php.ini $ systemctl reload php8.1-fpm

9. Configura tu cuenta de administrador principal
En este paso debes configurar la cuenta de administrador. Ingrese el nombre de usuario del administrador, la contraseña y otros detalles requeridos.
10. Ingrese a la configuración de inicio del sitio
Configure el nombre del sitio, el nombre corto del sitio, el resumen de inicio del sitio y otra información.

¡Crea tu primer curso!
After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!







