Desenvolver uma plataforma de aprendizado online com o Open edX no SoftLayer

Comments

O edX é uma iniciativa online, sem fins lucrativos, criada por Harvard e pelo MIT como sócios fundadores, que agora inclui dezenas de instituições globais líderes, o xConsortium. O edX oferece aulas online grátis e interativas e cursos online abertos em grande escala (MOOCs) dos melhores alunos e universidades do mundo.

O Open edX é uma iniciativa de software livre em que os desenvolvedores e instituições educacionais do mundo todo trabalham em conjunto para criar uma plataforma de aprendizado online extensível para oferecer educação de qualidade para "qualquer pessoa, em qualquer momento e lugar".

O Open edX não é a única plataforma educacional de software livre disponível. O Moodle, por exemplo, é uma plataforma bastante conhecida que é implementada amplamente. No entanto, o Open edX fornece uma experiência de aprendizado mais interessante para os alunos, bem como um recurso robusto de analítica que pode ser usado para pesquisa educacional, suporte a decisões e monitoramento operacional.

Instale e configure o Open edX no SoftLayer de forma rápida e fácil, para poder fornecer uma plataforma de aprendizado online escalável para os instrutores e alunos do curso.

Originalmente, o Open edX foi desenvolvido para ser implementado dentro do Amazon Web Services (AWS), mas ele pode ser configurado e instalado facilmente em um servidor do SoftLayer. O SoftLayer é uma abordagem diferente ao IaaS e fornece serviços adicionais para ajudar a atender às necessidades relacionadas à plataforma de cursos online. Neste artigo, mostramos como instalar e configurar o Open edX de forma rápida e fácil no SoftLayer para poder fornecer uma plataforma de aprendizado online escalável para os instrutores e alunos do curso.

Etapa 1. Criar e implementar um servidor do SoftLayer

Nesta seção, falamos de como criar e implementar um servidor do SoftLayer para que o Open edX o utilize. Também apresentamos uma conexão SSH fácil ao servidor usando o cliente de SSH PuTTY.

  1. A primeira etapa é ter uma conta do SoftLayer com as permissões necessárias para fornecer as instâncias de nuvem.
  2. Efetue login em manage.softlayer.com e clique na guia SALES para incluir um novo servidor, como mostra a imagem abaixo. Usamos a opção Add Virtual Server (Monthly) . Também recomendamos a opção Monthly ou Hourly, principalmente se você estiver usando um servidor edX pela primeira vez. Image shows                             adding a new server
    Image shows adding a new server
  3. Escolha a configuração do sistema. Estes são os requisitos mínimos:
    • Ubuntu Linux® 12.04 LTS 64 bits – Instalação Mínima
    • 2 GB de memória, recomendação de 4 GB;
    • Uma CPU de 2 GHz
    • 25 GB de espaço livre em disco

    A figura abaixo mostra um exemplo de configuração do servidor:

  4. Clique em Continue Your Order para continuar. Na próxima página, revise o pedido e configure um novo domínio e nome de host. Para este artigo, usamos openedx.test-domain.com. Image shows                             order review
    Image shows order review
  5. Ao finalizar o seu pedido, você deve ver uma tela de recibo como esta: Image shows                             receipt screen
    Image shows receipt screen
  6. Verifique seu email para confirmar. O servidor estará disponível em alguns minutos. Quando estiver pronto, clique na guia VIRTUAL e em Computing. Image shows                             next step
    Image shows next step

    Você deve ver uma lista de servidores. Clique no que você acabou de criar. No nosso caso, openedx.test-domain.com. Clique em View.

    Image shows                             view screen
    Image shows view screen
  7. O Virtual Server Summary fornece tudo o que é necessário para se conectar: o endereço, 208.43.89.19, o usuário, root, e a senha, RPW6jbrP. Image shows                             summary
  8. Agora está na hora de fazer a primeira conexão. Para isso, precisamos de um cliente de SSH. Há vários deles na Internet, mas, para este artigo, usaremos o PuTTY, um dos mais conhecidos. Para obter mais informações, consulte PuTTY: A Free Telnet/SSH Client

Etapa 2. Instale os softwares necessários e o Open edX

Nesta seção, acessamos o servidor que criamos usando o PuTTY, instalamos os softwares necessários e, em seguida, instalamos o Open edX.

  1. Agora que temos o cliente de SSH, está na hora de nos conectarmos ao servidor. No campo Host Name (ou IP address), usaremos o IP público do servidor — neste caso, 208.43.89.19, e a porta SSH 22. Ao clicar em Open, uma nova tela é exibida, pedindo o usuário e a senha. Neste caso, o usuário é root e a senha, RPW6jbrP, que foram fornecidos anteriormente pelo website do SoftLayer.

    Sugestão: é possível clicar com o botão direito para colar dentro do shell do PuTTY.

    Image shows                             password request screen
    Image shows password request screen
  2. Depois de efetuar logon, primeiramente precisamos garantir que o servidor esteja atualizado, executando os comandos a seguir. Isso faz com que o sistema reinicie e perca a conexão. Reconecte-se para continuar com a instalação.
    $ sudo apt-get update -y
    $ sudo apt-get upgrade -y
    $ sudo reboot

    Sugestão: o caractere $ representa uma saída de terminal no nosso servidor. Não é necessário incluí-lo ao copiar e colar esses comandos.

  3. Agora podemos instalar os softwares necessários e o Open edX no servidor com os comandos a seguir. Esses comandos serão explicados na próxima seção, Explicação dos componentes e serviços.
    1. Primeiramente, instalamos os requisitos e clonamos o repositório do edX:
      $ sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev && sudo pip install --upgrade pip && sudo pip install --upgrade virtualenv && cd /var/tmp && git clone -b release https://github.com/edx/configuration
    2. Se você deseja continuar acessando o servidor por meio de SSH com uma senha, é uma boa ideia alterar o arquivo main.yml. Do contrário, não será possível se conectar novamente usando a senha dada na página da web do SoftLayer. Para fazer isso, mude a variável COMMON_SSH_PASSWORD_AUTH para "yes" no arquivo configuration/playbooks/roles/common/defaults/main.yml.
    3. Há outra variável que será alterada. Essa variável, quando é "True," configura uma senha padrão na página principal. Se você desejar, poderá manter "True"; o login e senha padrão é "edx." Para desativar a senha, altere a variável COMMON_ENABLE_BASIC_AUTH para "False" no mesmo arquivo main.yml mostrado acima. Para alterar essa variável, é possível usar o editor nano :
      $ nano configuration/playbooks/roles/common/defaults/main.yml
    4. A próxima cadeia de caracteres de comando faz a instalação. Essa parte pode ser um pouco demorada. Não se preocupe se a tarefa demorar a terminar.
      $ cd /var/tmp/configuration && sudo pip install -r requirements.txt && cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
  4. Se tudo correr bem, você deverá ver uma tela como esta:Image shows                             successful progress
    Image shows successful progress

    Se a instalação falhar, provavelmente é por causa de uma atualização recente do repositório. Execute o comando a seguir para reverter para uma versão estável de requests-oauthlib.

    $ sudo -u edxapp /edx/app/edxapp/venvs/edxapp/bin/pip install requests-oauthlib==0.4.0
    $ cd /var/tmp/configuration && sudo pip install -r requirements.txt && cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
  5. Depois que o servidor é implementado, é possível acessar o LMS (website de interface do aluno) no IP do servidor (neste caso, 208.43.89.19) e o website do Studio, na porta 18010. Neste caso, o caminho será 208.43.89.19:18010. Para obter mais informações, consulte o repositório de configuração do edX .

    Esta é uma captura de tela de um navegador que acessa o edX no nosso servidor:

    Image shows                             browser accessing edX
    Image shows browser accessing edX

Explicação dos componentes e serviços

Nesta seção, explicaremos os comandos usados na Etapa 3 da seção anterior e esclarecemos os requisitos de software e a instalação do servidor.

  • O comando a seguir instala os pacotes essenciais para o desenvolvimento: git, python pip, python-core, cURL e outras bibliotecas essenciais, como a libxml2-dev.
    $ sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev
  • O comando a seguir faz o upgrade do sistema de gerenciamento de pacote pip e instala e faz upgrade de um ambiente Python isolado chamado virtualenv.
    $ sudo pip install --upgrade pip && sudo pip install --upgrade virtualenv
  • O comando a seguir clona o repositório de configuração do Open edX na pasta /var/tmp.
    $ cd /var/tmp && git clone -b release https://github.com/edx/configuration
  • Os dois comandos a seguir realizam funções separadas:
    $ sudo pip install -r requirements.txt
    $ cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"

    O primeiro comando instala os requisitos abaixo por meio do gerenciador de pacotes pip:

    • Ansible - 1.5.5
    • PyYAML - 3.11
    • Jinja2- 2.7.2
    • MarkupSafe - 0.23
    • Argparse - 1.2.1
    • boto - 2.28.0
    • ecdsa 0.11
    • paramiko - 1.14.0
    • pycrypto - 2.6.1
    • wsgiref - 0.1.2
    • docopt -0.6.1
    • python-simple-hipchat - 0.2

    O segundo comando usa a automação de TI Ansible para implementar o servidor. O Ansible é uma ferramenta de automação que faz todo o trabalho duro. É nele que todos os servidores, como mysql, mongoDB e nginx, são instalados.

Para obter mais informações sobre esses comandos e componentes, consulte configuração do edX.

Introdução ao Open edX

Depois da instalação do Open edX, há vários comandos que podem ser muito úteis ao configurar uma nova instância ou fazer a manutenção. Para usar esses comandos, abra a pasta edx-platform:

$ cd /edx/app/edxapp/edx-platform

Agora é possível criar usuários, mudar a senha, gerar certificados e muito mais usando a linha de comando em vez do website. Isso pode ser eficiente quando usado com um script.

O comando a seguir lista todos os comandos manage.py . Essa lista contém comandos como changepassword e dump_course_structure.

$ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws help

A página da pilha de proteção do Open edX dá alguns exemplos desses comandos:

  • Criar um novo usuário:
    $ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws create_user -e user@example.com
  • Configurar ou alterar a senha:
    $ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws changepassword user
  • Importar um curso do github usando o curso demo:
    $  cd /var/tmp
    $  git clone https://github.com/edx/edx-demo-course.git
    $  cd /edx/app/edxapp/edx-platform
    $  sudo -u www-data /edx/bin/python.edxapp ./manage.py cms --settings=aws import /edx/var/edxapp/data  /var/tmp/edx-demo-course
  • Ver quais serviços estão executando:
    $ sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf status

Para obter mais informações, consulte edX Managing the Production Stack.

edX

  • Plataforma edX: o repositório principal, que aborda o LMS e a ferramenta de autoria, o Studio.
  • Configuração do edX: uma forma simples, mas flexível, de configurar uma instância da plataforma Open edX totalmente configurada e pronta para usar.
  • Produção do edX: informações sobre como gerenciar e atualizar o servidor do Open edX depois que ele entra em execução.
  • Repositórios do edX: contém links para todos os repositórios do Open edX, inclusive os citados acima.

SoftLayer

  • Gerenciamento: contém tudo o que é necessário para criar, cancelar e gerenciar servidores e serviços.
  • Controle: visualize informações sobre os servidores e os gerencie por meio de uma interface da web moderna.

Conclusão

Neste artigo, mostramos como instalar e configurar o Open edX em um servidor do SoftLayer e apresentamos dicas e técnicas úteis para configurar outras instâncias ou fazer manutenção.

O Open edX está em constante aprimoramento e sempre libera novas versões. Conforme o projeto Open edX evoluir, será possível se manter atualizado participando da comunidade de software livre. Aproveite os benefícios dessa plataforma online interessante para instrutores e alunos de cursos.


Recursos para download

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, Software livre
ArticleID=982402
ArticleTitle=Desenvolver uma plataforma de aprendizado online com o Open edX no SoftLayer
publish-date=09052014