Instalação Moodle · 9 min read · Sep 08, 2025

Como Instalar o Moodle LMS no Servidor Debian 12

O Moodle é uma solução aberta para o Sistema de Gestão de Aprendizagem (LMS). É uma plataforma para fins educacionais, desde a criação de cursos online, gerenciamento de escolas online, gerenciamento de conteúdo e oferta de aprendizagem colaborativa. O Moodle é principalmente escrito em PHP com MySQL/MariaDB como banco de dados e pode ser executado em qualquer sistema operacional. Você escolhe entre Apache ou Nginx para a sua instalação do Moodle.

Neste guia, você aprenderá como instalar o Sistema de Gestão de Aprendizagem Moodle em um servidor Debian 12. Você executará o Moodle com a pilha LAMP (Linux, Apache, MariaDB e PHP), protegerá seu servidor Debian com UFW (Firewall Descomplicado) e, em seguida, protegerá o Moodle com HTTP através do Certbot e Letsencrypt.

Pré-requisitos

Certifique-se de ter o seguinte antes de começar:

  • Um servidor Debian 12
  • Um usuário não-root com privilégios de administrador
  • Um nome de domínio apontado para o endereço IP do servidor

Instalando Dependências

O Moodle LMS é escrito em PHP e MySQL, então você deve instalar esses pacotes em seu sistema. Neste exemplo, você executará o Moodle com a pilha LAMP (Linux, Apache, MariaDB e PHP). Portanto, por enquanto, você instalará o LAMP em seu servidor Debian.

Antes de instalar qualquer pacote, execute o comando abaixo para atualizar seu índice de pacotes Debian.

sudo apt update

atualizar repositório

Agora instale as dependências da pilha LAMP (Linux, Apache, MariaDB e PHP) com o seguinte comando. Digite ‘Y’ para prosseguir com a instalação.

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php

instalar lamp

Após a conclusão da instalação, verifique o serviço ‘apache2’ para garantir que o serviço está em execução.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Você pode ver abaixo que o servidor web Apache está em execução e habilitado.

verificar apache2

Agora verifique o serviço ‘mariadb’ executando o seguinte comando.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

Na saída abaixo, você pode ver que o servidor MariaDB está em execução.

verificar mariadb

Por fim, verifique a versão do PHP e liste os módulos habilitados usando o comando abaixo.

php -v  
php -m

Você verá que o PHP 8.2 está instalado com alguns módulos padrão, como ‘curl’, ‘exif’ e ‘date’ habilitados.

verificar php

Instalando UFW (Firewall Descomplicado)

Depois de instalar a pilha LAMP, vamos instalar o UFW (Firewall Descomplicado) para proteger o servidor. E então, abrir portas para os protocolos SSH, HTTP e HTTPS. Por fim, vamos iniciar e habilitar o UFW.

Para instalar o UFW, execute o comando ‘apt’ abaixo.

sudo apt install ufw

instalar ufw

Uma vez que o UFW esteja instalado, execute o comando ‘ufw’ abaixo para abrir portas para OpenSSH, HTTP (80) e HTTPS (443). Você verá uma saída como ‘Regras atualizadas’.

sudo ufw allow OpenSSH  
sudo ufw allow 80/tcp  
sudo ufw allow 443/tcp

Agora execute o comando abaixo para iniciar e habilitar o UFW em sua máquina Debian. Quando solicitado, digite ‘y’ para confirmar e prosseguir. Você verá uma saída ‘Firewall está ativo e habilitado na inicialização do sistema’.

sudo ufw enable

Por fim, verifique o status do UFW com o comando abaixo. Você verá que o UFW está ‘ativo’ com OpenSSH, e as portas ‘80’ e ‘443’ estão ‘ PERMITIDAS ‘.

sudo ufw status

verificar status

Configurando o Servidor MariaDB

Antes de instalar o Moodle, você precisa mudar o mecanismo de armazenamento padrão para ‘innodb’ e configurar ‘Barracuda’ como o formato padrão. Depois disso, você também precisa proteger o servidor MariaDB e configurar a senha ‘root’ usando a ferramenta ‘mariadb-secure-installation’.

Abra a configuração padrão do servidor MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ com o editor ‘nano’.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Insira a configuração abaixo para habilitar o formato ‘Barracuda’ e configurar o mecanismo de armazenamento padrão para ‘InnoDB’.

innodb_file_format = Barracuda   
default_storage_engine = innodb  
innodb_large_prefix = 1  
innodb_file_per_table = 1

Salve o arquivo e saia do editor.

Agora execute o comando ‘systemctl’ abaixo para reiniciar o servidor MariaDB e aplicar suas alterações.

sudo systemctl restart mariadb

Depois disso, execute o comando ‘mariadb-secure-installation’ abaixo para proteger sua instalação do servidor MariaDB.

sudo mariadb-secure-installation

Com isso, você será questionado sobre as configurações do servidor MariaDB:

  • Pressione ENTER quando perguntado sobre a senha root (você a configurará mais tarde)
  • Digite ‘n’ quando perguntado para mudar para a autenticação ‘unix_socket’
  • Digite ‘Y’ para configurar a senha root do MariaDB, em seguida, digite sua nova senha e repita
  • Digite ‘Y’ para remover o usuário anônimo do MariaDB
  • Digite ‘Y’ novamente para desabilitar o login remoto para o usuário root
  • Digite ‘Y’ para remover o banco de dados padrão ‘test’ e seus privilégios
  • Digite ‘Y’ para recarregar os privilégios da tabela e aplicar suas alterações

Uma vez terminado, vá para a próxima etapa para criar um novo banco de dados e usuário.

Criando um Banco de Dados e Usuário para o Moodle

Com o servidor MariaDB configurado, vamos agora criar um novo banco de dados e usuário que serão usados pelo Moodle. Você usará o cliente ‘mariadb’ para fazer login no MariaDB e criar um novo banco de dados e usuário.

Faça login no servidor MariaDB com o comando ‘mariadb’ abaixo. Digite sua senha root do MariaDB quando solicitado.

sudo mariadb -u root -p

Execute as seguintes consultas para criar um novo banco de dados e usuário ‘moodle’ com a senha ‘MoodlePassw0rd’. Certifique-se de alterar as seguintes credenciais do banco de dados com suas informações.

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";  
FLUSH PRIVILEGES;

criar banco de dados e usuário

Agora execute a consulta abaixo para verificar o usuário ‘moodle’. Certifique-se de que o usuário ‘moodle’ pode acessar o banco de dados ‘moodle’.

SHOW GRANTS FOR moodle@localhost;

Por fim, digite ‘QUIT’ para sair do servidor MariaDB.

mostrar privilégios do banco de dados

Configurando o PHP

Agora que você configurou o servidor MariaDB e criou um novo usuário de banco de dados, vamos configurar o arquivo ‘php.ini’ e alterar algumas configurações padrão conforme necessário pelo Moodle.

Abra o arquivo ‘php.ini’ com o editor ‘nano’.

sudo nano /etc/php/8.2/apache2/php.ini

Altere a configuração padrão do PHP com o seguinte. Você pode alterar o ‘memory_limit’ conforme necessário, dependendo da memória do seu servidor.

memory_limit = 256M  
upload_max_filesize = 60M  
max_execution_time = 300  
date.timezone = Europe/Amsterdam  
max_input_vars = 5000

Quando terminar, salve o arquivo e saia do editor.

Por fim, execute o comando ‘systemctl’ abaixo para reiniciar o servidor web ‘apache2’ e aplicar sua nova configuração PHP.

sudo systemctl restart apache2

Baixando o Código Fonte do Moodle

Após configurar o PHP, você está pronto para baixar o código fonte do Moodle, em seguida, configurar o diretório de instalação e o diretório ‘data’ para o Moodle. Neste exemplo, você configurará o diretório de instalação do Moodle para ‘/var/www/moodle’ e o diretório ‘data’ para ‘/var/www/moodledata’.

Vá para o diretório ‘/var/www’ e baixe o código fonte do Moodle com o comando ‘wget’ abaixo.

cd /var/www  
sudo wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgz

Uma vez baixado, execute o comando ‘tar’ abaixo para extrair o código fonte do Moodle e renomear o diretório extraído para ‘moodle’. Com isso, sua instalação do Moodle estará localizada no diretório ‘/var/www/moodle’.

tar -xf moodle-latest-405.tgz

Em seguida, crie um novo diretório ‘/var/www/moodledata’ que será usado como o diretório de dados para sua instalação do Moodle.

mkdir -p /var/www/moodledata

Por fim, execute o comando abaixo para alterar a propriedade dos diretórios ‘/var/www/moodle’ e ‘/var/www/moodledata’ para o usuário ‘www-data’. E então, certifique-se de que o usuário ‘www-data’ pode ler, escrever e executar arquivos dentro desses diretórios.

sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata  
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

configurar diretório moodle

Configurando o Host Virtual do Apache

Agora que você baixou o Moodle, o próximo passo é criar um novo arquivo de host virtual do Apache para o Moodle. Portanto, certifique-se de que você tenha um nome de domínio resolvido/apontado para o endereço IP do servidor.

Crie uma nova configuração de host virtual ‘/etc/apache2/sites-available/moodle.conf’ com o editor ‘nano’.

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

Insira a configuração abaixo para configurar um arquivo de host virtual para o Moodle. Certifique-se de alterar o parâmetro ‘ServerName’ com seu nome de domínio.

  
DocumentRoot /var/www/moodle/  
ServerName moodle.howtoforge.local  
ServerAdmin [email protected]  
  
  
Options +FollowSymlinks  
AllowOverride All  
Require all granted  
  
  
ErrorLog /var/log/apache2/moodle_error.log  
CustomLog /var/log/apache2/moodle_access.log combined  

Salve o arquivo e saia do editor quando terminar.

Agora execute o comando ‘a2enmod’ abaixo para ativar o módulo ‘rewrite’, e em seguida, execute o comando ‘a2ensite’ abaixo para ativar o host virtual ‘moodle.conf’.

sudo a2enmod rewrite  
sudo a2ensite moodle.conf

Em seguida, execute o comando ‘apachectl’ abaixo para verificar sua configuração do Apache. Se você tiver uma configuração adequada do Apache, verá uma saída como ‘A Sintaxe está OK’.

sudo apachectl configtest

configurar apache

Por fim, execute o comando ‘systemctl’ abaixo para reiniciar o servidor web Apache e aplicar suas alterações.

sudo systemctl restart apache2

Protegendo o Moodle com HTTPS

Neste ponto, sua instalação do Moodle está pronta. Antes de continuar, você protegerá o Moodle com HTTPS através do Certbot e Letsencrypt. Faça isso quando estiver instalando o Moodle em um servidor público. Se você estiver no desenvolvimento local, pode pular ou implementar HTTPS através de certificados autoassinados.

Instale o ‘certbot’ e o plugin ‘python3-certbot-apache’ com o seguinte comando ‘apt’. Digite ‘Y’ para confirmar a instalação.

sudo apt install certbot python3-certbot-apache

Após a conclusão da instalação, execute o seguinte comando ‘certbot’ para gerar certificados SSL para o Moodle. Certifique-se de alterar o nome de domínio e o endereço de e-mail a seguir com seu domínio.

sudo certbot --apache --agree-tos --no-eff-email -m [email protected] -d moodle.howtoforge.local

Quando terminar, seus certificados SSL estarão disponíveis no diretório ‘/etc/letsencrypt/live/domain.com’ e sua instalação do Moodle estará rodando sob HTTPS.

Instalação do Moodle

Abra seu navegador web e visite o nome de domínio da sua instalação do Moodle, como https://moodle.howtoforge.local/, e você verá o assistente de instalação do Moodle.

Selecione seu idioma padrão para o Moodle e clique em ‘ Próximo ‘.

selecionar idioma

Digite seu nome de domínio e o diretório de dados do Moodle para ‘ /var/www/moodledata ‘.

selecionar domínio e diretório de dados

Selecione ‘ MariaDB ‘ como o banco de dados padrão para o Moodle.

driver de banco de dados mariadb

Insira os detalhes do seu banco de dados MariaDB, como dbname, dbuser e senha.

configuração mariadb

Clique em ‘ Continuar ‘ na nota de copyright.

copyright

Dentro da seção ‘Verificações do servidor’, certifique-se de que seu servidor Debian atenda aos requisitos do Moodle. O status de cada item deve ser ‘ OK ‘.

verificações do sistema

Agora você verá a instalação do Moodle como a seguinte:

instalação do moodle

Uma vez que a instalação esteja concluída, insira seus detalhes de administrador (nome de usuário, e-mail e senha).

usuário admin

Agora insira as informações do seu site Moodle.

informações do site moodle

Por fim, você verá o seguinte painel de administração do Moodle.

painel

Conclusão

Parabéns! Você concluiu a instalação do Sistema de Gestão de Aprendizagem Moodle (LMS) no servidor Debian 12. Você tem o Moodle em funcionamento com a pilha LAMP (Linux, Apache, MariaDB e PHP) e protegido com UFW (Firewall Descomplicado) e HTTPS através do Certbot e Letsencrypt. A partir daqui, você pode aplicar um novo tema para o Moodle, instalar novos complementos para estender a funcionalidade ou pode aprender o Guia do Usuário do Moodle para gerenciar sua instalação do Moodle.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.