Instalando o Moodle

Não entre em pânico!

Este guia explica como instalar o Moodle pela primeira vez. Alguns desses passos são bem detalhados para tentar cobrir a maioria das configurações possíveis de servidores web, o que pode fazer este documento parecer longo e complicado. Não entre em pânico, quando você souber como fazê-lo a instalação do Moodle será efetuada em poucos minutos!

Se você tiver algum problema, por favor, leia este documento cuidadosamente - as questões mais frequentes estão respondidas aqui. Se você ainda tiver problemas, pode procurar ajuda no Moodle Help (em inglês) ou visitar a Comunidade Moodle Brasileira.

Outra opção é contactar uma empresa de hospedagem web que possa manter por completo o Moodle para você, assim você pode ignorar tudo isso aqui e ir direto para as atividades educacionais!

 

Seções neste documento:

  1. Pré-requisitos
  2. Download e cópia dos arquivos nos devidos lugares
  3. Estrutura do site
  4. Rode o script de instalação para criar o config.php
  5. Vá para a página de administração para continuar a configuração
  6. Configure o cron
  7. Crie um novo curso

 

1. Pré-requisitos

O Moodle é essencialmente desenvolvido em Linux utilizando Apache, MySQL e PHP (algumas vezes conhecido como plataforma LAMP), mas também é regularmente testado com o PostgreSQL e nos sistemas operacionais Windows XP, Mac OS X e Netware 6.

Os pré-requisitos são os seguintes:

  1. Software de servidor web. A maioria das pessoas usam o Apache, mas o Moodle deve trabalhar bem em qualquer servidor web que suporte PHP, tal como o IIS das plataformas Windows.
  2. Linguagem de Script PHP (versão 4.1.0 ou posterir). O PHP 5 é suportado no Moodle 1.4.
  3. Um servidor de banco de dados: o MySQL ou PostgreSQL são inteiramente suportados e recomendados para serem usados com o Moodle.

A maioria das empresas de hospedagem de sites suporta todas essas características como padrão. Se você contratou uma das poucas empresas de hospedagem de websites que não suportam essas características, pergunte a eles o porquê e pense na possibilidade de hospedar seu site em algum outro lugar.

Se você quer rodar o Moodle no seu computador e tudo isso parece um pouco assustador, então, por favor, veja o nosso guia: Instalando o Apache, MySQL e PHP. Ele apresenta instruções passo-a-passo para instalar tudo isso nos principais sistemas operacionais.

 

2. Download e copia dos arquivos nos devidos lugares

Existem duas maneiras de conseguir o Moodle, como um arquivo zipado ou através do CVS. Isto é explicado em detalhes na página de download: http://moodle.org/download/

Depois de efetuar o download e descompactar o arquivo, ou verificar os arquivos através do CVS, você terá um diretório chamado "moodle", contendo um certo número de arquivos e pastas.

Você pode copiar esse diretório na raiz do seu servidor web, neste caso a localização do site será http://seuservidorweb.com.br/moodle, ou você pode copiar somente o conteúdo diretamente na raiz do seu servidor web, quando então o site será somente http://seuservidorweb.com.br.

Se você pensa em baixar o Moodle no seu computador e depois efetuar a transferência para seu web site,  saiba que é melhor transferir o  arquivo compactado e depois descompactá-lo no seu servidor web. Mesmo interfaces de empresas de hospedagem como o Cpanel permitem descompactar arquivos na opção "Gerenciador de Arquivos".

 

3. Estrutura do site

Você pode seguramente pular esta seção, mas aqui está um rápido resumo do conteúdo do diretório Moodle, para melhor orientá-lo:

config.php - contém configurações básicas. Este arquivo não vem com o Moodle - você vai criá-lo.
install.php - o script que você vai rodar para criar o config.php
version.php - define a versão corrente do código do Moodle
index.php - a página frontal do site
  • admin/ - código para administrar todo o sevidor
  • auth/ - módulos plugin para autenticar os usuários
  • blocks/ - módulos plugin para os blocos laterais em muitas páginas
  • calendar/ - todos os códigos para administração e apresentação de calendários
  • course/ - código para mostrar e administrar cursos
  • doc/ - documentação de ajuda do Moodle (por exemplo, está página)
  • files/ - código para mostrar e administrar upload de arquivos
  • lang/ - textos em diferentes idiomas, um diretório por idioma
  • lib/ - bibliotecas do núcleo do código do Moodle
  • login/ - código para manipular login e criação de contas
  • mod/ - todos os principais módulos dos cursos do Moodle estão aqui
  • pix/ - gráficos genéricos do site
  • theme/ - pacotes de temas/skins para alterar a aparência do site
  • user/ - código para mostrar e administrar usuários

 

4. Rode o script de instalação para criar o config.php

Para rodar o script de instalação (install.php), simplesmente acesse a página principal do seu Moodle usando um Navegador Internet, ou acesse http://seuservidor/install.php diretamente.

(O instalador tentará utilizar uma sessão com cookie. Se você receber um alerta através de uma janela popup, certifique-se de aceitar esse cookie!)

O Moodle vai detectar que é necessário efetuar a configuração e o levará a algumas telas para ajudá-lo a criar um novo arquivo de configuração chamado config.php. No final do processo o Moodle vai tentar escrever o arquivo no local certo, caso contrário pressione o botão para baixá-lo do instalador e então transfira o config.php para o diretório principal do Moodle no servidor.

Enquanto o instalador estiver rodando ele irá testar o ambiente do seu servidor e dará sugestões para resolver qualquer problema. Para as questões mais comuns estas sugestões serão suficientes, mas se você travar em algum ponto, dê uma olhada abaixo para mais informações sobre as coisas mais comuns que podem estar criando dificuldades.

4.1 Configurações do servidor web

Primeiro certifique-se que o seu servidor web está configurado para usar index.php como página principal (talvez como uma outra opção a index.html, default.htm e assim por diante).

No Apache, isto é feito usando o parâmetro DirectoryIndex no arquivo httpd.conf. O meu normalmente parece com o seguinte:

DirectoryIndex index.php index.html index.htm 

Simplesmente certifique-se que index.php está na lista (e de preferência bem no início da lista, para maior eficiência).

Em segundo lugar, se você está usando Apache 2, então você deve ativar a variável AcceptPathInfo, a qual permite passar argumentos para scripts na forma http://server/file.php/arg1/arg2. Isto é essencial para permitir links relativos entre seus recursos, e também fornece um aumento de performance para as pessoas que usarem deu web site Moodle. Você pode ativar isso adicionando a seguinte linha no seu arquivo httpd.conf :

AcceptPathInfo on 

Terceiro, o Moodle requer um certo número de configurações ativadas no PHP para que possa trabalhar. Na maioria dos servidores isso já vem ativado por padrão. Contudo, alguns servidores PHP (e algumas das versões mais recentes do PHP) podem ter configurações diferentes. Elas são definidas no arquivo de configuração do PHP (normalmente chamado de php.ini):

magic_quotes_gpc = 1    (preferível, mas não necessário)
magic_quotes_runtime = 0    (necessário)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0
  

Se você não tem acesso ao httpd.conf ou ao php.ini no seu servidor, ou você tem o Moodle num servidor com outras aplicações que necessitam configurações diferentes, não se preocupe, normalmente você ainda pode sobrepor as configurações padrão.

Para fazer isso, você precisa criar um arquivo chamado .htaccess no diretório principal do Moodle, que contenha as linhas abaixo. Isso só vai funcionar em servidores Apache e somente se for permitido sobreposição na configuração principal (httpd.conf).

DirectoryIndex index.php index.html index.htm

<IfDefine APACHE2>
     AcceptPathInfo on
</IfDefine>

php_flag magic_quotes_gpc 1
php_flag magic_quotes_runtime 0
php_flag file_uploads 1
php_flag session.auto_start 0
php_flag session.bug_compat_warn 0

Você também pode fazer outras coisas, como por exemplo definir o tamanho máximo de arquivos que serão enviados ao servidor:

LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M
     

A coisa mais simples a fazer é copiar o arquivo de amostra de lib/htaccess e editá-lo para que atenda suas necessidades. Ele contém mais instruções. Por exemplo, numa linha de comandos UNIX:

cp lib/htaccess .htaccess

 

4.2 Criando um banco de dados

Você precisa criar um banco de dados vazio (por exemplo, "moodle") no seu sistema de banco de dados, com um usuário especial (por exemplo, "usuáriomoodle") que tenha acesso a esse banco de dados (e somente a esse banco de dados). Você pode usar o usuário "root" se você está trabalhando com um servidor de teste, mas isto não é recomendado para um sistema em produção: se hackers descobrirem a senha, então todo o seu sistema de banco de dados estaria em risco, ao invés de apenas um banco de dados.

Se você está utilizando um provedor de hospedagem, provavelmente eles têm uma interface web de painel de controle para você criar seu banco de dados.

A aplicação Cpanel é uma das mais populares. Para criar um banco de dados no Cpanel,

  1. Clique no ícone "MySQL Databases".
  2. Digite "moodle" no campo banco de dados e clique "Add Database".
  3. Digite um nome de usuário e senha (diferente dos usados em outros lugares) nos respectivos campos e clique "Add User".
  4. Agora utilize o botão "Add User to Database" para dar direitos totais ("ALL") para este novo usuário acessar o novo banco de dados. 
  5. Observe que o nomes do usuário e do banco de dados podem receber o prefixo da sua conta no Cpanel. Quando entrar com essas informações no instalador do Moodle - use os nomes completos.

Se você tem acesso a linhas de comando do UNIX, então você pode efetuar o mesmo tipo de coisa digitando comando.

Aqui estão alguns exemplos de linhas de comando Unix para o MySQL:

   # mysql -u root -p
   > CREATE DATABASE moodle; 
   > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* 
           TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; 
   > quit 
   # mysqladmin -p reload
    

E algumas linhas de comando para o PostgreSQL:

   # su - postgres
   > psql -c "create user moodleuser createdb;" template1
   > psql -c "create database moodle;" -U moodleuser template1
   > psql -c "alter user moodleuser nocreatedb;" template1

 

4.3 Criando um diretório de dados

O Moodle vai precisar também de algum espaço no HD do seu servidor para armazenar arquivos recebidos, tais como documentos dos cursos e fotos dos usuários.

O instalador do Moodle faz o maior  esforço para criar esse diretório para você, mas se ele falhar então você vai ter que criar um diretório com essa finalidade manualmente.

Por razões de segurança, é melhor que este diretório não tenha acesso diretamente da Internet. A melhor maneira de fazer isto é criando-o FORA do diretório raiz da web, mas se você precisa tê-lo no diretório raiz da web, então proteja-o criando um arquivo no diretório de dados chamado .htaccess, contendo a seguinte linha:

deny from all
AllowOverride None

Para certificar-se que o Moodle pode salvar arquivos recebidos nesse diretório, verifique se o software de servidor web (por exemplo, o Apache) tem permissões para ler, escrever e executar nesse diretório.

Em máquinas Unix, isto significa configurar o "owner" do diretório para ser algo como "nobody" ou "Apache" e dando para aquele usuário permissão para ler, escrever e executar.

Na aplicação Cpanel você pode usar o Gerenciador de Arquivos para localizar o diretório, clique nele, então selecione Alterar Permissões. Em muitos provedores que compartilham hospedagem, provavelmente você vai precisar restringir o acesso a todos os arquivos para o seu grupo (para evitar que outros clientes do provedor de hospedagem vejam ou até alterem seus arquivos), mas forneça acesso total de leitura/escrita para todos (o que permitirá que o servidor web acesse seus arquivos).

Converse com o administrador do seu servidor se você tiver algum problema em configurar com segurança tudo isso. Em particular, alguns sites que usam uma característica do PHP conhecida como Safe Mode podem necessitar que o administrador crie esse diretório de forma apropriada para você.

5. Vá para a página "Administração" para continuar a configuração

Uma vez que a configuração básica de config.php tenha sido criada corretamente no passo anterior, ao acessar a página principal do seu site Moodle você será encaminhado para a página "Administração" para efetuar o resto da configuração.

A primeira vez que você acessa a página "Administração", surgirá um resumo da licença GPL, com a qual você tem que concordar antes de continuar com a configuração.

Agora o Moodle vai iniciar a configuração do seu banco de dados e criar as tabelas para armazenas dados. Primeiro as tabelas principais são criadas. Você deve ver uma série  de comandos SQL, seguidos por mensagens de status (em verde ou vermelho) que parecem com o seguinte:

CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM

SUCESSO

...e assim por diante, seguidos por : Base de dados principal criada com sucesso.

Se você não vê isso, então deve existir algum problema com o banco de dados ou com a configuração que você definiu no config.php. Verifique que o PHP não esteja configurado para o modo restrito no "Safe Mode" (as vezes, alguns provedores de hospedagem ativam o safe mode). Você pode verificar as variáveis PHP criando um pequeno arquivo que contenha <?php phpinfo() ?> e apontando o Navegador Internet para ele. Verifique tudo isso e tente essa página novamente.

Percorra a tela até o final e pressione o link "Continuar"

Você deve ver agora um formulário onde pode-se configurar mais variáveis da sua instalação, tais como o idioma padrão, servidor de correio eletrônico (SMTP), etc. Não se preocupe demais em responder tudo nesse momento - você sempre pode retornar e editar essas informações mais tarde utilizando a interface de administração. Os padrões adotados foram escolhidos para ser úteis e seguros para a maioria dos sites. Percorra a tela até o final e clique em "Salvar mudanças".

Se (e somente se) está página travar, sem condições de continuar, então seu servidor provavelmente tem o que eu chamo de problema "buggy referrer". Isto é fácil de resolver: desative a opção "secure forms", então tente continuar novamente.

A seguir você verá mais páginas aonde surgirão mensagens de status à medida que são configuradas todas as tabelas necessárias pelos vários módulos do Moodle. Como antes, devem estar em  verde.

Percorra a tela até o final da página e pressione o link "Continuar".

A próxima página é um fomulário aonde voce pode definir parâmetros para o seu site Moodle e para a página principal, tais como o nome, formato, descrição e assim por diante. Preencha-o (você sempre pode retornar e alterar isso mais tarde) e então pressione "Salvar mudanças".

Finalmente, você então será questionado para criar um usuário com o maior nível de administração para acesso futuro às páginas de administração. Preencha todos os detalhes com seu próprio nome, email, etc. e então clique "Salvar mudanças". Não é necessário preencher todos os campos, mas se você deixou de preencher algum campo exigido você será convidado a preenchê-lo.

Certifique-se de lembrar o nome de usuário e a senha  que você escolheu para a conta de administração, uma vez que serão necessários para acessar a página de administração no futuro.

(Se por algum motivo sua instalação foi interrompida, ou existe um erro de sistema que de alguma forma o impede de efetuar um login utilizando a conta de administrador, você pode utilizar o usuário padrão "admin", com a senha "admin").

Uma vez que tenha tido sucesso, você retornará para a página principal do seu novo site! Note os links de administração que aparecem do lado esquerdo e abaixo da página (esses itens também aparecem numa página separada de Administração) - esses itens somente serão visíveis para você porque você efetuou o login como um usuário administrador. Todas as tarefas de administração do Moodle agora podem ser efetuadas utilizando-se este menu, tais como:

  • criação e eliminação de curso
  • criação e edição de contas de usuários
  • administração de contas de professores
  • alteração de uma ampla gama de configurações do site, tais como temas, etc.

Mas você não terminou ainda! Existe uma coisa muito importante ainda a fazer (veja a próxima seção sobre o "cron").

 

6. Configure o cron -- IMPORTANTE!

Alguns módlos do Moodle precisam de verificação continua para executar suas tarefas. Por exemplo, o Moodle precisa verificar os forums de discussão de forma que ele possa enviar as mensagens postadas para os assinantes desses forums.

O script que faz tudo isso está localizado no diretório admin e é chamado cron.php. Porém, ele não pode iniciar sua execução sozinho, então você precisa configurar um mecanismo para esse script ser executado regularmente (por exemplo, a cada cinco ou dez minutos). Isso cria "batimento cardíaco" de tal forma que o script possa executar funções em períodos definidos por cada módulo. Esse tipo de mecanismo é conhecido como serviço cron.

Note que a máquina que vai executar o cron não precisa ser a mesma máquina que está rodando o Moodle. Por exemplo, se você tem um serviço de hospedagem limitado, que não possui um seviço cron, então você pode optar por rodas o cron em outro servidor ou  mesmo no seu computador de casa. O que realmente importa é que o arquivo cron.php seja chamado regularmente.

A carga gerada por esse scrip não é muito alta, dessa forma 5 minutos usualmente é razoável, mas se você está preocupado com isso, pode aumentar esse período de tempo para algo como 15 minutos, ou até mesmo para 30 minutos. É bom não selecionar tempo demasiadamente longo para esse período, uma vez que a demora em encaminhar as mensagens postadas no site pode diminuir as atividades de um curso.

Primeiro, teste se o script funciona executando-o diretamente no seu Navegador Internet:

http://example.com/moodle/admin/cron.php

Agora, você precisa conseguir um jeito do script rodar automaticamente a tempos regulares.

Em sistemas Windows

O jeito mais simples é usar este pequeno arquivo  moodle-cron-for-windows.zip, que faz a coisa toda muito fácil, instalando um pequeno serviço Windows. Execute-o e esqueça dele!

Em provedores de hospedagem

O seu painel de controle via web pode ter uma página que permita a você configurar esse processo cron. Por exemplo, na aplicação Cpanel, procure por um botão chamado "Cron jobs" e clique-o. Lá você pode inserir o mesmo tipo de comandos Unix, como os apresentados a seguir.

Utilizando linhas de comando Unix

Existem alguns programas de linha de comando que você pode usar para chamar a página (nosso cron.php) de uma linha de comando. Nem todos eles podem estar disponíveis para um determinado servidor.

Por exemplo, você pode usar um utilitário Unix como o 'wget':

wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Note neste exemplo que a saída é descartada (para o dispositivo nulo /dev/null).

A mesma coisa usando o lynx:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

Em alternativa você pode usar uma versão standalone do PHP, compilada para rodar em linha de comando. A vantagem em fazer isso é que os logs do seu servidor web não serão preenchidos com as constantes chamadas do cron.php. A desvantagem é que você precisa ter acesso a uma versão PHP para linha de comando.

/opt/bin/php /web/moodle/admin/cron.php
         

Utilizando o programa crontab do Unix

Tudo o que o Cpanel faz é prover uma interface web para um utilitário Unix conhecido como crontab. Se você tem acesso a linhas de comando, você pode configurar o crontab por si próprio usando o comando:

crontab -e

e então adicionando um dos comandos acima, como:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Usualmente, o comando "crontab" leva a um editor 'vi'. Você entra no "modo inserir" pressionando "i", então digita a linha acima, e depois sai do modo inserir pressionando ESC. Você salva e sai digitando ":wq", ou abandona sem salvar usando ":q!"(sem as aspas).

 

7. Crie um novo curso

Agora que o Moodle está rodando corretamente, você pode experimentá-lo criando um novo curso de prova.

Selecione "Criar um novo curso" da página de Administração (ou dos links de administração na página principal).

Preencha o formulário, prestando atenção especial para o formato do curso. Você não tem que se preocupar muito com os detalhes neste estágio, uma vez que tudo pode ser alterado mais tarde pelo professor. Note que ícones amarelo de ajuda estão em todos os lugares para prover ajuda contextual em qualquer aspecto.

Pressione "Salvar mudanças" e você terá um novo formulário no qual poderá designar professores para o curso. Você só pode adicionar contas de usuários existentes nesse formulário - se você quer criar uma nova conta de professor então ou terá que pedir para o professor criar uma conta (veja a página de login), ou criar uma para ele usando a opção "Adicionar um novo usuário" na página de Administração.

Uma vez isso feito, o curso está pronto para ser customizado e pode ser acessado através do link "Cursos", na página principal.

Veja o "Manual do Professor" para maiores detalhes na elaboração de cursos.

 

Feliz exploração!

Se você gostar do Moodle, por favor, considere a possibilidade de fazer uma doação para ajudar a cobrir nossos custos!

Índice de todos os textos de ajuda