Você está na página 1de 9

INSTALAÇÃO DO MOODLE

Uma forma de criarmos vários sítios num mesmo servidor e mantê-los com “gestão”
separada é e atribuindo a cada sítio um utilizador (para aceder através de SSH ou SCP, por
exemplo).

Criar utilizador para sítio do Moodle


Executar os passos seguintes utilizando a conta de root:

Criar utilizador:
# useradd moodleuser

Adicionar utilizador ao grupo apache:


# usermod -Gapache moodleuser

É criada automaticamente a pasta /home/moodleuser.


Mudar a palavra-passe do utilizador recém-criado:
# passwd moodleuser

Alterar permissões de acesso à pasta do utilizador recém-criado:


# chmod 711 /home/moodleuser

Adicionar utilizador à lista de ‘sudoers’:


# chmod +w /etc/sudoers
# echo 'moodleuser ALL=(ALL) ALL' >> /etc/sudoers (tudo na mesma linha)
Se não pretender que seja pedida a palavra-passe do utilizador cada vez que
introduzir o comando ‘sudo’, utilizar antes:
# echo 'moodleuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers (tudo na
mesma linha)
# chmod -w /etc/sudoers

A partir de agora, utilizar apenas a nova conta de utilizador


(quando necessário, será indicado para utilizar o comando ‘su’ ou ‘sudo’)

Udar para a pasta raiz do utilizador moodleuser:


# cd /home/moodleuser

Criar pasta para alojar a pasta do Moodledata:


# mkdir moodledata

Mudar direitos da diretoria public_html:


# chown -R moodleuser:apache moodledata
# chmod 770 -R moodledata

Mais informação sobre gestão de utilizadores em Linux disponível em


http://www.ahinc.com/linux101/users.htm
Existem três formas de instalar o Moodle: através de CVS; através de GIT; ou através do
ficheiro disponível para descarregar no sítio do Moodle.org.

De todos, o que o Moodle recomenda é o GIT. No entanto, poderá ser um pouco complicado
para utilizadores inexperientes, e poderá não haver suporte para o GIT aos extras
(funcionalidades não padrão) que se queira instalar. O CVS irá ser mantido durante algum
tempo, mas também não terá suporte a todos os extras. Utilizar o ficheiro disponível no sítio
do Moodle é o mais simples para se fazer uma instalação, mas o que provoca maiores
dificuldades para se atualizar.

Deste modo, não se recomenda a utilização do ficheiro, pelo que se deverá optar por uma
das outras soluções – GIT ou CVS. Os procedimentos para ambas são apresentados de
seguida:

OPÇÃO 1 - Instalar o MOODLE via CVS

Neste caso, iremos instalar o Moodle 2.1+ para a diretoria /home/nome-


utilizador/public_html, utilizando o servidor de CVS ‘eu.cvs.moodle.org’.

Instalação do Moodle via CVS


Aceder à pasta raiz do utilizador
# cd /home/moodleuser/
Para estabelecer a ligação e efetuar o login pela primeira vez num servidor de CVS,
utilizar o comando:
# cvs -d:pserver:anonymous@eu.cvs.moodle.org:/cvsroot/moodle login
Não existe palavra-passe – ao ser pedida uma, pressionar a tecla ENTER.

Para fazer o checkout (descarregar) o código inteiro do Moodle pela primeira vez,
para a diretoria /home/nome-utilizador/public_html, utilizar os comandos:
# cd /home/moodleuser/
# cvs -z3 -d:pserver:anonymous@eu.cvs.moodle.org:/cvsroot/moodle co -P -d
public_html -r MOODLE_22_STABLE moodle (tudo numa só linha)

Atualização do Moodle via CVS


Para atualizar a cópia local do Moodle para a versão atualizada (do mesmo ramo)
existente no CVS, basta mudar para a pasta do Moodle:
# cd /home/moodleuser/public_html
E correr o comando:
# cvs update -dP -r MOODLE_22_STABLE | tee upgrade.log

Depois, procurar as linhas começadas por "C" (conflito) no ficheiro upgrade.log:


# grep '^C' upgrade.log
Mais tarde, para atualizar a cópia local do Moodle para uma versão corrente (mais
recente, por exemplo, do ramo Moodle_22) existente no CVS, basta mudar para a
pasta do Moodle:
# cd /home/moodleuser/public_html
E correr o comando:
# cvs update -dP -r MOODLE_22_STABLE | tee upgrade.log

Depois, procurar as linhas começadas por "C" (conflito) no ficheiro upgrade.log:


# grep '^C' upgrade.log

Significado dos códigos do CVS:


• P = “Patch” - pequeno patch adicionado a um ficheiro.
• U = Upgrade - ficheiro atualizado.
• ? = Nada feito - quer dizer que o ficheiro não consta no repositório

Os conflitos poderão surgir no caso de se ter alterado manualmente os ficheiros


fonte. Temos de resolver esses conflitos antes de utilizar o sítio.
Ver "CVS for Developers" para mais detalhes.

OPÇÃO 2 - Instalar o MOODLE 2.2x via Git


Aceder à pasta raiz do utilizador
# cd /home/moodleuser/
Executar os passos seguintes:
1) Inicializar um novo repositório local como um clone do repositório de upstream
Moodle.git:
# git clone git://git.moodle.org/moodle.git public_html (tudo na mesma
linha)
# cd public_html
Este repositório de upstream é, por norma, conhecido como repositório ‘origin’
remoto.
2) Listar todos os ramos (branches) existentes:
# git branch -a
3) Criar um novo ramo (branch) designado ‘local_22_STABLE’ e defini-lo para
seguir o repositório ‘MOODLE_22_STABLE’ do repositório de upstream (à
data, a versão estável mais recente):
# git branch --track local_22_STABLE origin/MOODLE_22_STABLE
4) Mudar para o ramo local recém criado:
# git checkout local_22_STABLE
As duas últimas linhas (3 + 4) poderiam ser digitadas numa só:
# git checkout -b local_22_STABLE origin/MOODLE_22_STABLE

Atualizar o MOODLE 2.2x via Git


A equipa de desenvolvimento do Moodle executa a integração e testes dos bugs
corrigidos às segundas-feiras e terças-feiras. Na quarta-feira pode-se instalar todas as
correções atualizando o código.
Para verificar se o repositório oficial foi atualizado ou não, visitar o shortlog
(http://git.moodle.org/gw?p=moodle.git;a=summary), na secção heads.
Começar por aceder à diretoria onde está instalado o Moodle:
# cd /home/moodleuser/public_html
1) Descarregar as novas atualizações do repositório remoto SEM tocar no checkout
local:
# git fetch
2) Mostra informações sobre eventuais diferenças entre as versões local e remota:
# git status
3) Modificar os ficheiros locais com as atualizações:
# git merge origin/MOODLE_22_STABLE
Os comandos 1+3 podem ser executados de uma só vez com:
# git pull

Atualizar a versão do MOODLE 2.2.x para a 2.3 via Git


Começar por aceder à diretoria onde está instalado o Moodle:
# cd /home/moodleuser/public_html
1) Alterar o “branch” local e remoto:
# git checkout -b local_23_STABLE origin/MOODLE_23_STABLE
2) Atualizar o novo branch:
# git pull
3) Apagar a versão anterior (apenas após confirmar que tudo está funcional – deixar
uma semana a nova versão e depois executar o comando):
# cd /home/moodleuser/public_html
# git branch -d local_22_STABLE

Instalar extensões via Git (módulos, plugins, temas, etc.)

Neste caso, vamos mostrar como instalar o tipo de perguntas DDMatch


1) Mudar para a pasta question/type dentro da diretoria public_html do clone local
do Moodle:
# cd /home/moodleuser/public_html/question/type
2) Criar uma nova subdiretoria ddmatch e transformá-la num clone local do
repositório do Andreev Artem:
# git clone git://github.com/andreev-
artem/moodle_question_type_ddmatch.git ddmatch (tudo na mesma linha)
# cd ddmatch
3) Ver quais os ramos remotos que existem (para verificar se existe uma versão do
tipo de perguntas para a versão 2.1):
# git branch -a
Neste caso existe e tem a designação remotes/origin/MDL_21
4) Criar um ramo local que irá seguir o ramo remoto com uma versão do tipo de
perguntas para a versão 2.1:
# git checkout -b local_21_STABLE origin/MDL_21
5) Ver os ramos que foram instalados:
# git branch -a
Neste caso, verificamos que, para além do local_21_STABLE, foi automaticamente
criado o master, neste caso com o nome MDL_21
6) Apagar o master que foi automaticamente criado pelo passo 2, uma vez que não
queremos fazer o checkout desta versão de produção:
# git branch -d MDL_21

Agora deve-se colocar a nova diretoria question/type/ddmatch/ na lista de ficheiros


ignorados do clone principal do Moodle:
# cd /home/moodleuser/public_html
# echo /question/type/ddmatch >> .git/info/exclude

Como instalar o tipo de perguntas Order


1) Mudar para a pasta question/type dentro da diretoria public_html do clone local
do Moodle:
# cd /home/moodleuser/public_html/question/type
2) Criar uma nova subdiretoria order e transformá-la num clone local do repositório
do Andreev Artem:
# git clone git://github.com/andreev-
artem/moodle_question_type_order.git order (tudo na mesma linha)
# cd order
3) Ver quais os ramos remotos que existem (para verificar se existe uma versão do
tipo de perguntas para a versão 2.1):
# git branch -a
Neste caso existe e tem a designação remotes/origin/MDL_21
4) Criar um ramo local que irá seguir o ramo remoto com uma versão do tipo de
perguntas para a versão 2.1:
# git checkout -b local_21_STABLE origin/MDL_21
5) Ver os ramos que foram instalados:
# git branch –a
Neste caso, verificamos que, para além do local_21_STABLE, foi automaticamente
criado o master, neste caso com o nome MDL_19
6) Apagar o master que foi automaticamente criado pelo passo 2, uma vez que não
queremos fazer o checkout desta versão de produção:
# git branch -d MDL_21

Agora deve-se colocar a nova diretoria question/type/order/ na lista de ficheiros


ignorados do clone principal do Moodle:
# cd /home/moodleuser/public_html
# echo /question/type/order >> .git/info/exclude

Como instalar o tipo de perguntas gapselect


1) Mudar para a pasta question/type dentro da diretoria public_html do clone local
do Moodle:
# cd /home/moodleuser/public_html/question/type
2) Criar uma nova subdiretoria gapselect e transformá-la num clone local do
repositório do Tim Hunt:
# git clone git://github.com/timhunt/moodle-qtype_gapselect.git gapselect
(tudo na mesma linha)
# cd gapselect
3) Ver quais os ramos remotos que existem (para verificar se existe uma versão do
tipo de perguntas para a versão 2.1):
# git branch -a
Neste caso existe e tem a designação remotes/origin/HEAD
4) Criar um ramo local que irá seguir o ramo remoto com uma versão do tipo de
perguntas para a versão 2.1:
# git checkout -b local_21_STABLE origin/HEAD
5) Ver os ramos que foram instalados:
# git branch –a
Neste caso, verificamos que, para além do local_21_STABLE, foi automaticamente
criado o master, neste caso com o nome master
6) Apagar o master que foi automaticamente criado pelo passo 2, uma vez que não
queremos fazer o checkout desta versão de produção:
# git branch -d master

Agora deve-se colocar a nova diretoria question/type/order/ na lista de ficheiros


ignorados do clone principal do Moodle:
# cd /home/moodleuser/public_html
# echo /question/type/gapselect >> .git/info/exclude

Como instalar o tipo de perguntas ddwtos


1) Mudar para a pasta question/type dentro da diretoria public_html do clone local
do Moodle:
# cd /home/moodleuser/public_html/question/type
2) Criar uma nova subdiretoria ddwtos e transformá-la num clone local do
repositório do Tim Hunt:
# git clone git://github.com/timhunt/moodle-qtype_ddwtos.git ddwtos
(tudo na mesma linha)
# cd ddwtos
3) Ver quais os ramos remotos que existem (para verificar se existe uma versão do
tipo de perguntas para a versão 2.1):
# git branch -a
Neste caso existe e tem a designação remotes/origin/HEAD
4) Criar um ramo local que irá seguir o ramo remoto com uma versão do tipo de
perguntas para a versão 2.1:
# git checkout -b local_21_STABLE origin/HEAD
5) Ver os ramos que foram instalados:
# git branch –a
Neste caso, verificamos que, para além do local_21_STABLE, foi automaticamente
criado o master, neste caso com o nome master
6) Apagar o master que foi automaticamente criado pelo passo 2, uma vez que não
queremos fazer o checkout desta versão de produção:
# git branch -d master
Agora deve-se colocar a nova diretoria question/type/order/ na lista de ficheiros
ignorados do clone principal do Moodle:
# cd /home/moodleuser/public_html
# echo /question/type/ddwtos >> .git/info/exclude

Como instalar a atividade book


1) Mudar para a pasta question/type dentro da diretoria public_html do clone local
do Moodle:
# cd /home/moodleuser/public_html/nod
2) Criar uma nova subdiretoria book e transformá-la num clone local do repositório
do Petr Skoda:
# git clone git://github.com/skodak/moodle-mod_book.git book (tudo na
mesma linha)
# cd book
3) Ver quais os ramos remotos que existem (para verificar se existe uma versão do
tipo de perguntas para a versão 2.1):
# git branch -a
Neste caso existe e tem a designação remotes/origin/MOODLE_21_STABLE
4) Criar um ramo local que irá seguir o ramo remoto com uma versão do tipo de
perguntas para a versão 2.1:
# git checkout -b local_21_STABLE origin/MOODLE_21_STABLE
5) Ver os ramos que foram instalados:
# git branch –a
Neste caso, verificamos que, para além do local_21_STABLE, foi automaticamente
criado o master, neste caso com o nome master
6) Apagar o master que foi automaticamente criado pelo passo 2, uma vez que não
queremos fazer o checkout desta versão de produção:
# git branch -d master

Agora deve-se colocar a nova diretoria question/type/order/ na lista de ficheiros


ignorados do clone principal do Moodle:
# cd /home/moodleuser/public_html
# echo /mod/book >> .git/info/exclude

Atualizar extensões via Git (módulos, plugins, temas, etc.)


Para atualizar a instalação do Moodle agora, terá de se visitar todos os repositórios
Git e puxar as alterações do upstream:
# cd /home/moodleuser/public_html
# git pull
# cd /home/moodleuser/public_html/question/type/ddmatch
# git pull
# cd /home/moodleuser/public_html/question/type/order
# git pull
# cd /home/moodleuser/public_html/question/type/gapselect
# git pull
# cd /home/moodleuser/public_html/question/type/ddwtos
# git pull

Talvez seja útil escrever um script de Shell com estas últimas linhas na pasta raiz da
instalação do Moodle. De outro modo, facilmente se esquecerá de quais os
repositórios existentes dentro do repositório principal do Moodle.

Para isso, criar um ficheiro com a extensão .sh na pasta /home/nome-utilizador e


adicionar os comandos anteriores. Depois, gravar e dar direitos de execução (chmod
+w nomeficheiro.sh). Para executar, basta escrever
# ./nomeficheiro.sh

Configurar permissões da pasta public_html


Mudar direitos da diretoria public_html:
# cd /home/moodleuser/
# chown -R moodleuser:apache public_html
# chmod 770 -R public_html

MySQL - Criar uma nova base de dados


Para criar uma base de dados com o nome 'moodledb':
mysql > create database moodledb;
mysql > ALTER DATABASE moodledb DEFAULT CHARACTER SET utf8 COLLATE
utf8_unicode_ci;

MySQL - Criar um utilizador e atribuir-lhe direitos totais sobre a base de dados criada
Para criar um utilizador 'moodleuser' com privilégios totais ('all privileges') na
base de dados 'moodledb':
mysql > GRANT ALL ON moodledb.* TO 'moodleuser'@'localhost' IDENTIFIED
BY 'palavra-passe' WITH GRANT OPTION;
mysql> USE mysql;
mysql> UPDATE user SET PASSWORD=PASSWORD('palavra-passe') WHERE
user='moodleuser';
mysql > quit

Recarregar as tabelas de Permissões (GRANT):


# mysqladmin -u root -p reload
Enter Password: <palavra-passe>

Configurar o sítio do Moodle no Apache


Chegou agora a altura de se configurar o Apache de forma a responder aos pedidos
de páginas do Moodle e reencaminhar esses pedidos para a pasta onde se instalou os
ficheiros de código-fonte do Moodle. Para isso, é necessário alterar o ficheiro
httpd.cnf.

Alterações ao ficheiro httpd.conf


No exemplo que se apresenta de seguida, vamos utilizar o URL moodle.dominio.net.
O ficheiro httpd.cnf está localizado na diretoria /etc/httpd/conf. Para o editar, utilizar
o comando:
# sudo nano /etc/httpd/conf/httpd.conf
Procurar (CTRL+W) e alterar os seguintes parâmetros (o parâmetro DocumentRoot
indica a pasta predefinida para todo o servidor Web):
<VirtualHost *:80 *:443>
ServerAdmin webmaster@dominio.net
DocumentRoot /home/moodleuser/public_html
ServerName moodle.dominio.net
DirectoryIndex index.php
ErrorLog logs/moodle.dominio.net-error_log
CustomLog logs/moodle.dominio.net-access_log common
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>

Configurar o sítio do Moodle


Finalmente, é altura de aceder ao URL do sítio do Moodle
(http://moodle.dominio.net) e configurar o Moodle.

NÃO ESQUECER: Se tiver sido ativada a opção “skip-networking” no ficheiro de


configuração do MySQL (“my.cnf”), terá de utilizar-se a opção “Socket Unix” na
janela das ligações à base de dados:

(faltam os passos da instalação)

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 Portugal


License.

Você também pode gostar