Pesquisa de site

Como instalar a plataforma de aprendizagem Moodle no Ubuntu 20.04


Moodle é a plataforma de gerenciamento de aprendizagem on-line (e-learning) mais popular, robusta, gratuita e de código aberto do mundo, desenvolvida para web e dispositivos móveis. Oferece uma ampla gama de atividades e ferramentas educacionais que permitem que escolas, universidades e instituições relacionadas ofereçam aos alunos uma plataforma de aprendizagem flexível a qualquer hora, em qualquer lugar, sem interrupção do curso e do currículo.

Alguns de seus recursos gerais incluem uma interface moderna e fácil de usar, painel personalizado, ferramentas e atividades colaborativas, calendário completo, gerenciamento conveniente de arquivos, editor de texto simples e intuitivo, notificações e acompanhamento de progresso.

É importante ressaltar que o Moodle também é altamente extensível usando mais de mil plug-ins que suportam atividades extras, blocos, temas e muito mais.

Neste artigo, você aprenderá como instalar a versão mais recente da Moodle Learning Platform com NGINX e banco de dados MySQL/MariaDB no Ubuntu 20.04 e versões mais antigas.

Requisitos do servidor:

  • Um servidor Ubuntu 20.04 recém-instalado com LEMP Stack instalado.

Depois de instalar a pilha LEMP no servidor Ubuntu, você pode prosseguir para configurar o Moodle no servidor conforme explicado abaixo.

Nesta página

  • Configurando registro DNS para aplicativo Moodle
  • Instalando o Moodle no servidor Ubuntu
  • Configurando o NGINX para servir o aplicativo Moodle
  • Concluindo a instalação do Moodle via Web Installer
  • Habilite HTTPS no aplicativo Moodle usando Let's Encrypt

Configurando registro DNS para aplicativo Moodle

1. Para que os usuários acessem sua instância do Moodle você precisa criar um subdomínio para ela, portanto, você precisa criar um DNS Um registro para conseguir isso. Para este guia, nosso domínio de teste é testprojects.me, então precisamos criar um subdomínio, por exemplo, learning.testprojects.me.

Então, faça login no console web do seu registrador de domínio e acesse as configurações avançadas do seu domínio, clique em Adicionar novo registro do tipo A, um host deve estar aprendendo (ou qualquer palavra de sua escolha) e o valor deve ser o endereço IP público do seu servidor Ubuntu.

Instalando o Moodle no servidor Ubuntu

2. Em seguida, você precisa instalar as extensões e bibliotecas PHP exigidas pelo Moodle usando o gerenciador de pacotes apt conforme mostrado.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Em seguida, crie um banco de dados para seu sistema Moodle. Faça login no shell de administração do banco de dados MySQL e crie o banco de dados conforme mostrado:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Conforme mencionado anteriormente, para este guia, baixaremos e instalaremos a versão mais recente do Moodle (versão 3.9 no momento da redação deste artigo). Execute o seguinte comando wget para obter o pacote Moodle e use o comando tar para extraí-lo, respectivamente. Em seguida, use o comando ls para confirmar se o diretório moodle existe em /var/www/html/ conforme mostrado.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Em seguida, defina as permissões apropriadas no diretório Moodle executando os seguintes comandos.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Em seguida, crie o diretório dados do Moodle, um local onde o Moodle pode salvar os arquivos enviados e definir suas permissões conforme mostrado.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Em seguida, crie o arquivo de configuração principal do Moodle a partir do arquivo de configuração de amostra fornecido com o pacote e abra-o.

cd /var/www/html/moodle/
sudo cp config-dist.php config.php
sudo vim config.php

Procure a seção de configuração do banco de dados e configure o banco de dados onde todos os dados do Moodle serão armazenados, conforme mostrado na imagem a seguir:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Além disso, configure a localização do site Moodle, bem como a localização do diretório de dados do Moodle, conforme mostrado.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Salve e feche o arquivo. Em seguida, configure o NGINX para servir seu site Moodle conforme descrito na próxima seção.

Configurando o NGINX para servir o aplicativo Moodle

8. Para que o NGINX sirva seu site Moodle, você precisa criar uma nova configuração de bloco de servidor na configuração NGINX, no diretório >/etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Copie e cole a seguinte configuração nele, substitua learning.testprojects.me pelo seu subdomínio. Além disso, a diretiva fastcgi_pass deve apontar para o endereço no qual o PHP-FPM está aceitando solicitações FastCGI (verifique o /etc/php/7.4/fpm/pool.d/www.conf para obter mais informações).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Salve o arquivo e feche-o.

9. Em seguida, verifique se a configuração do NGINX está correta após fazer as alterações acima e reinicie normalmente o serviço NGINX.

sudo nginx -t
sudo systemctl reload nginx

Concluindo a instalação do Moodle via Web Installer

10. Agora abra um navegador da web e navegue usando seu subdomínio, por exemplo, learning.testprojects.me para acessar o instalador da web Moodle.

http://learning.testprojects.me

Assim que a página de boas-vindas for carregada, leia a mensagem e clique em Continuar.

11. Em seguida, o instalador irá verificar se o seu sistema atende aos requisitos, se tudo estiver OK, role para baixo e clique em Continuar para iniciar a instalação real dos arquivos e configurar o banco de dados esquema.

Observe que o instalador mostrará um aviso sobre o site não estar rodando em HTTPS, ignore o aviso por enquanto. Na última seção, abordaremos como ativar HTTPS no Moodle usando certificados Let’s Encrypt gratuitos.

Assim que a instalação for concluída, clique em Continuar.

12. Em seguida, configure a conta de administrador do seu site Moodle criando o nome de usuário, senha, nome e sobrenome da conta e endereço de e-mail. Em seguida, role para baixo e clique em Atualizar conta.

13. Em seguida, defina as configurações da página inicial do site Moodle conforme mostrado na captura de tela a seguir. Em seguida, role para baixo e clique em Atualizar.

14. O instalador da web fará login automaticamente no novo site Moodle. Você pode concluir o registro do site seguindo as instruções na tela.

Configurando HTTPS no aplicativo Moodle usando Let’s Encrypt

15. Para proteger seu site Moodle, você precisa ativar o HTTPS. Para este guia, usaremos certificados SSL/TLS gratuitos e confiáveis Let’s Encrypt. Outra vantagem de usar o Let’s Encrypt é que ele é automatizado.

Então, volte ao seu terminal e execute o seguinte comando para instalar o certbot no Ubuntu (uma ferramenta gratuita e de código aberto para usar automaticamente certificados Let’s Encrypt para habilitar HTTPS em sites administrados manualmente).

sudo snap install --classic certbot

16. Em seguida, emita o seguinte comando para obter um certificado e faça com que o Certbot edite sua configuração do NGINX para configurar automaticamente o novo certificado.

sudo certbot --nginx

17. Em seguida, volte ao arquivo de configuração do site Moodle.

sudo vim /var/www/html/moodle/config.php 

e altere o URL de HTTP para HTTPS conforme mostrado na captura de tela a seguir.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Finalmente, verifique no navegador se o seu site Moodle agora está rodando em HTTPS.

https://learning.testprojects.me

É tudo por agora! Acesse a documentação do Moodle 3.9 para obter mais informações, opções de configuração e guia de uso.