Moodle na VPS: como instalar passo a passo
Aprenda a instalar o Moodle 5.3 no seu servidor: requisitos, pasta public, moodledata fora da área web, instalação pelo terminal, cron a cada minuto e atualização.
Por Redação Eleven Host · @robson.direitodigital · 1 de novembro de 2026 · 8 min de leitura

Capa da Redação Eleven Host para o guia: Moodle na VPS: como instalar passo a passo Arte: Eleven Host
O Moodle na VPS é o Moodle instalado no seu próprio servidor. Você instala com servidor web, PHP e banco de dados, cria a pasta moodledata fora da área pública e liga o cron.
O que é o Moodle e para quem serve
O Moodle é um sistema de gestão de aprendizagem (LMS), que você instala e mantém no seu próprio servidor.
Ao instalar por conta própria, o site e os arquivos ficam no seu servidor, e a manutenção também. Se ainda está conhecendo servidores, o guia de iniciantes sobre servidor VPS explica o básico antes de começar.
Na versão 5.3, o Moodle pede PHP 8.3 ou mais novo, um banco de dados recente, a pasta moodledata fora da área pública e o cron rodando a cada minuto.
A versão 5.3 é uma LTS, ou seja, de suporte longo, e foi lançada no início de outubro de 2026. Segundo a tabela de lançamentos do projeto, o suporte geral vai até 4 de outubro de 2027 e as correções de segurança vão até 1 de outubro de 2029.
Requisitos da versão 5.3
Estes são os requisitos que as notas de lançamento e a documentação do Moodle trazem para a 5.3. Antes de instalar, confira o que o seu sistema oferece, porque alguns mínimos subiram nesta versão.
- PHP: mínimo de 8.3.0, e o 8.4 também é suportado. Só há suporte a PHP de 64 bits.
- Configurações do PHP: a extensão
sodiumé obrigatória, a opçãomax_input_varsdeve ser 5000 ou mais,memory_limitdeve ter pelo menos 96M (a documentação recomenda 128M) efile_uploadsprecisa estar ligada. - Extensões do PHP:
ctype,curl,dom,gd,iconv,intl,json,mbstring,pcre,simplexml,spl,xml,zipe a do banco que você usar (pgsqloumysqli, por exemplo). A documentação recomenda aindaopenssl,soap,tokenizerexmlrpc. - Banco de dados: PostgreSQL a partir da 17, MySQL a partir da 8.4, MariaDB a partir da 11.4.0 ou SQL Server 2019. O Oracle deixou de ser suportado desde a 5.0.
- Disco: 200 MB para o código do Moodle, mais o espaço que você precisar para o conteúdo.
A documentação diz que o Moodle é desenvolvido principalmente em Linux, com Apache, e recomenda usar a versão de correção mais recente da série de cada componente. Para montar o servidor web, veja o guia Instalar Apache no Ubuntu: passo a passo na VPS.
Quem já tem um Moodle pode atualizar para a 5.3 apenas a partir da versão 4.4 ou mais nova.
Passo a passo: baixar o Moodle
Você pode baixar o zip da versão em moodle.org/downloads ou usar o Git. Com o Git, segundo a documentação de administração, o comando para a tag da versão 5.3.0 é este (troque o caminho final pela pasta em que o Moodle ficará):
git clone -b v5.3.0 https://github.com/moodle/moodle.git /path/to/your/moodle/storage/area
Desde a versão 5.1, o Moodle usa uma pasta chamada public para todos os arquivos acessíveis pela web, e o servidor web deve ser configurado para servir os arquivos dessa pasta. Isso significa que o DocumentRoot do Apache (ou a raiz do site, em outro servidor) aponta para public, e não para a raiz do Moodle. A documentação também cita a opção de criar um link simbólico para ela. Um tutorial antigo que aponte o servidor para a raiz do Moodle está errado para a 5.1 em diante.
Na documentação de atualização, a mudança vem com um motivo: a configuração e outros arquivos sensíveis ficam fora dessa pasta, para mais segurança.
Crie também a pasta moodledata, onde o Moodle guarda os arquivos enviados. A documentação é direta: ela não deve ficar dentro de uma área acessível pela web, como public_html/moodledata/.
Sobre permissões, a documentação diz que é vital que os arquivos do Moodle não sejam graváveis pelo usuário do servidor web. O exemplo dela é:
chown -R root /path/to/moodle
chmod -R 0755 /path/to/moodle
Crie também o banco de dados para o Moodle. A documentação manda não usar a conta root ou de superusuário do banco: crie um usuário próprio para o Moodle.
Instalar pelo navegador ou pela linha de comando
Se o instalador do Moodle não criar o arquivo de configuração, a documentação manda copiar o config-dist.php, que fica na raiz do Moodle, para config.php.
Para instalar pelo terminal, a documentação usa o script install.php. Os exemplos dela usam o usuário apache; no Debian e no Ubuntu, a documentação do cron confirma o www-data, que usamos abaixo. Na pasta admin/cli do Moodle, o comando é:
cd /path/to/moodle/admin/cli
sudo -u www-data /usr/bin/php install.php
Para ver as opções do instalador, use a ajuda:
sudo -u www-data /usr/bin/php admin/cli/install.php --help
Se o seu servidor web roda com outro usuário, troque o www-data por ele.
Está escolhendo uma VPS? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Ver os planos de VPS
Ligar o cron do Moodle
O cron não é opcional. A documentação avisa que, sem ele, o site não funciona direito, e a frequência indicada é a cada minuto. A linha da documentação é esta:
* * * * * /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null
No Debian e no Ubuntu, a documentação manda colocar a linha no crontab do usuário www-data, que é o usuário com o qual o Apache roda. Troque /path/to/moodle pelo caminho real do Moodle no seu servidor.
Se algo não funcionar depois de mexer no servidor web, o guia systemctl: como iniciar, parar e ver serviços na VPS mostra como conferir se o serviço está rodando.
Atualizar o Moodle e fazer backup
Antes de atualizar, a documentação manda guardar três coisas: o software do Moodle, os arquivos enviados (a pasta moodledata) e o banco de dados, com um dump do Postgres ou do MySQL, por exemplo. Para gerar o dump, use a ferramenta do seu banco. Recomendamos guardar as cópias fora da VPS.
Depois, coloque o site em modo de manutenção e espere o cron terminar o que estiver rodando. A documentação deixa um aviso claro: não copie os arquivos novos por cima dos antigos.
Se você instalou pelo Git, a atualização por tag usa estes comandos (troque v5.3.x pela tag desejada):
git fetch origin
git checkout v5.3.x
Se acompanha o branch, o caminho é este:
git fetch origin
git rebase origin/MOODLE_503_STABLE
Depois de trocar o código, a documentação de linha de comando traz a sequência abaixo, aqui com www-data no lugar de apache. O script de atualização não liga o modo de manutenção por você, por isso o primeiro comando existe:
sudo -u www-data /usr/bin/php admin/cli/maintenance.php --enable
sudo -u www-data /usr/bin/php admin/cli/upgrade.php
sudo -u www-data /usr/bin/php admin/cli/maintenance.php --disable
Quem vem da versão 5.0 ou de uma anterior precisa também mudar a configuração do servidor web para usar a pasta public.
E o Docker?
O projeto oficial moodle-docker, do projeto moodlehq, é voltado a desenvolvedores e testadores: a descrição dele fala em implantar um ambiente de teste. Por isso, para um site de cursos de verdade, o caminho descrito aqui é a instalação tradicional, com servidor web, PHP e banco de dados.
Cuidados de segurança
A documentação manda ler a página de recomendações de segurança e conferir o relatório Security Checks, em Site Administration. Ela também desaconselha o instalador de plugins com arquivos graváveis em sites de produção.
Checklist depois de instalar
- O servidor web aponta para a pasta
publicdo Moodle. - A pasta
moodledataestá fora da área pública. - Os arquivos do Moodle não são graváveis pelo usuário do servidor web.
- O Moodle usa um usuário de banco próprio, e não o root.
- O cron roda a cada minuto, no crontab do
www-data. - Conferi o relatório Security Checks em Site Administration.
- Fiz cópia do código, da
moodledatae do banco antes de atualizar.
Um endereço próprio para os seus cursos
Com a plataforma no ar, vale pensar no endereço que os alunos vão digitar. Um domínio próprio, apontado para a VPS, deixa o acesso mais fácil de lembrar. O guia Site com e sem www: como fazer abrir nos dois endereços ajuda a deixar o endereço consistente.
Ainda não tem um domínio para a sua plataforma de cursos? Registre o seu na Eleven Host. Registrar domínio
Perguntas frequentes
Qual versão do PHP o Moodle 5.3 pede?
No mínimo o PHP 8.3.0, e o 8.4 também é suportado, segundo as notas de lançamento. A extensão sodium é obrigatória.
O cron do Moodle é obrigatório?
Sim. A documentação avisa que o site não funciona direito sem ele, e a frequência indicada é a cada minuto.
Para onde o servidor web deve apontar?
Desde a versão 5.1, para a pasta public dentro do Moodle, e não para a raiz.
Posso instalar o Moodle com Docker?
O projeto oficial moodle-docker é voltado a desenvolvedores e testadores. Para um site de verdade, a documentação descreve a instalação tradicional.
Posso pular direto da versão 4.3 para a 5.3?
Não. A documentação diz que só é possível atualizar para a 5.3 a partir da versão 4.4 ou mais nova.