Guias e Documentação

Instalar Ambientes LMS

Instalar Ambientes LMS

Tenha seu próprio ambiente de cada LMS para validar integrações LTI 1.3 de ponta a ponta.

Por que ter seu próprio ambiente?

Para validar uma integração LTI 1.3 por completo, você precisa ter acesso administrativo a cada LMS — registrar Developer Keys, configurar placements, testar launch flows e inspecionar JWKs. Os ambientes abaixo permitem isso de forma isolada e controlada.

LMSMétodoCusto EstimadoDificuldade
MoodleAWS EC2 + Bitnami Image~$15-30/mês (t3.medium)⭐ Fácil
Canvas LMSAWS EC2 + Docker / Manual~$30-60/mês (t3.large)⭐⭐ Médio
Blackboard LearnAWS EC2 + VMDK Anthology~$30-50/mês (t2.large)⭐⭐ Médio
D2L BrightspaceParceria / AWSVariável (parceria)⭐⭐ Médio
A-LXPParceria Grupo AVia contratoN/A (acesso via parceiro)

Moodle

Moodle HQ • Open Source • AWS + Bitnami

1Criar conta na AWS

Se ainda não tem uma conta AWS, crie em aws.amazon.com. A AWS oferece um Free Tier de 12 meses — mas para Moodle recomendamos ao menos uma t3.medium.

2Acessar o AWS Marketplace

No console da AWS, vá em EC2 → Launch Instance. Na busca de AMIs, pesquise por:

Moodle LMS Certified by Bitnami and VMware

Materiais complementares

3Configurar a instância EC2

  • Instance type: t3.medium (2 vCPU, 4GB RAM) — mínimo recomendado
  • Storage: 30 GB gp3 (SSD)
  • Key pair: Crie ou selecione um par de chaves para acesso SSH
  • Security Group: Libere as portas 80 (HTTP), 443 (HTTPS) e 22 (SSH)

Clique em Launch Instance e aguarde o status mudar para running.

4Obter credenciais do Moodle

Após a instância iniciar, recupere a senha do admin gerada automaticamente:

# Conecte via SSH
ssh -i "sua-chave.pem" bitnami@<IP-PÚBLICO>

# Recuperar senha do admin
cat /home/bitnami/bitnami_credentials
  • Usuário: user
  • Senha: (exibida no arquivo acima)
  • URL: http://<IP-PÚBLICO>

5Configurar domínio e HTTPS (recomendado)

Para testes LTI 1.3, HTTPS é essencial (cookies SameSite, iframes). Use o Bitnami HTTPS Configuration Tool:

# Gerar certificado Let's Encrypt (precisa de domínio apontando para o IP)
sudo /opt/bitnami/bncert-tool

Siga o wizard do bncert-tool — ele configura Apache + Let's Encrypt automaticamente.

6Validar acesso ao Moodle

Acesse https://seu-dominio.com e faça login. Vá em Site Administration → Plugins → External Tool → Manage Tools para confirmar que o módulo LTI está disponível.

Canvas LMS

Instructure • Open Source • AWS + Docker / Manual

1Documentação oficial

O guia completo de instalação está no wiki oficial:

  • Quick Start — Instalação rápida para desenvolvimento
  • Production Start — Instalação para ambiente de produção/validação

2Opção A — Instalação via Docker (Recomendado)

# Clonar o repositório
git clone https://github.com/instructure/canvas-lms.git
cd canvas-lms

# Copiar configurações de exemplo
for config in amazon_s3 database delayed_jobs domain file_store outgoing_mail security external_migration; do
  cp config/$config.yml.example config/$config.yml
done

# Subir com Docker Compose
docker-compose up -d

# Rodar setup inicial (seeds do banco)
docker-compose exec web bundle exec rake db:initial_setup

3Opção B — EC2 na AWS (Manual)

  • Instance type: t3.large (2 vCPU, 8GB RAM) — mínimo recomendado
  • OS: Ubuntu 22.04 LTS
  • Storage: 50 GB gp3
  • Dependências: Ruby 3.1+, Node.js 18+, PostgreSQL 14+, Redis 7+

Siga o Production Start do wiki oficial.

4Opção C — Canvas Free for Teachers

Se não precisa de acesso admin completo e só quer testar o lado do instrutor:

Materiais complementares

5Configurar HTTPS

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d canvas.seudominio.com

6Validar acesso

Faça login com o admin criado no setup. Vá em Admin → Developer Keys para confirmar que tudo está funcionando.

Blackboard Learn

Anthology • Proprietário • AWS + VMDK

Materiais complementares

1Pré-requisitos

  • Conta na AWS
  • AWS CLI instalado e configurado
  • Conexão estável com a internet (arquivo VMDK é grande)

2Baixar o arquivo VMDK

Acesse o Global Support Portal da Anthology:

  • Arquivo: vmdk-4000-8-0-v1.vmdk
  • Versão: Blackboard Learn 4000.8.0 (Fev 2026)
  • Leia o EULA, clique em "Accept" e preencha o formulário

3Criar bucket S3 e fazer upload

  • No console AWS: S3 → Create bucket (ex: bb-learn-vmdk)
  • Abra o bucket → Upload → Add files
  • Selecione o .vmdk e aguarde o upload (~10-20 min a 10Mbps)

4Configurar IAM (Policy, Role e User)

4a) Criar Policy — IAM → Policies → Create Policy → JSON:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject",
        "s3:GetBucketAcl"
      ],
      "Resource": [
        "arn:aws:s3:::[[YourBucketName]]",
        "arn:aws:s3:::[[YourBucketName]]/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:ModifySnapshotAttribute",
        "ec2:CopySnapshot",
        "ec2:ImportSnapshot",
        "ec2:RegisterImage",
        "ec2:Describe*"
      ],
      "Resource": "*"
    }
  ]
}

Substitua [[YourBucketName]] pelo nome real do bucket.

4b) Criar Role vmimport

  • IAM → Roles → Create role → AWS Service → EC2
  • Associe a policy criada
  • Nome da role DEVE ser: vmimport
  • Edite → Trust relationships → Edit trust policy:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "Service": "ec2.amazonaws.com" },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": { "Service": "vmie.amazonaws.com" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": { "sts:Externalid": "vmimport" }
      }
    }
  ]
}

4c) Criar User para CLI

  • IAM → Users → Create user → Attach policies directly → associe a policy
  • Security credentials → Create access key → CLI
aws configure
# AWS Access Key ID: (cole sua access key)
# AWS Secret Access Key: (cole sua secret key)
# Default region: (ex: us-east-1)
# Default output format: json

5Converter VMDK → Snapshot → AMI

Crie um arquivo containers.json:

{
  "Description": "Blackboard Learn 4000.8.0",
  "Format": "VMDK",
  "UserBucket": {
    "S3Bucket": "[[Nome do seu bucket S3]]",
    "S3Key": "vmdk-4000-8-0-v1.vmdk"
  }
}

Execute a importação:

# Iniciar conversão do VMDK para snapshot
aws ec2 import-snapshot \
  --description "Blackboard Learn 4000.8.0" \
  --disk-container "file://containers.json"

# Monitorar progresso:
aws ec2 describe-import-snapshot-tasks \
  --import-task-ids import-snap-XXXXXXXXX

# Quando Status = "completed", anotar o SnapshotId

Com o snapshot pronto, crie a AMI:

  • EC2 → Snapshots → localize pelo SnapshotId
  • Actions → Create image from snapshot
  • Nomeie e clique em Create image

6Lançar EC2 a partir da AMI

  • EC2 → AMIs → selecione → Launch instance from AMI
  • Instance type: t2.large (4 vCPU, 8GB RAM)
  • Security Group: HTTP (80), HTTPS (443), SSH (22) apenas do seu IP
  • VPC → Edit DNS Hostnames → YES
  • Launch e aguarde ~15 minutos

7Configurar HTTPS (Let's Encrypt)

  • Registre o IP como A-record no DNS (dica: no-ip.com para FQDN gratuito)
  • Conecte via SSH e configure:
ssh -i "sua-chave.pem" ubuntu@<IP-PÚBLICO>

# Criar arquivo de config SSL
cat > /home/ubuntu/my_ssl_config << 'EOF'
ssldomain: seudominio.hopto.org
sslemail: seuemail@exemplo.com
EOF

# Reiniciar para gerar certificado Let's Encrypt
sudo reboot now

8Acessar o Blackboard Learn

Após ~15 min de inicialização:

  • URL: https://seudominio.hopto.org
  • Username: administrator
  • Password: O Instance ID da EC2 (ex: i-0c0b00e8b5232274f)
cat /home/ubuntu/start.log | grep "Password"

D2L Brightspace

D2L Corporation • Proprietário • SaaS

1Opção A — Parceria com a D2L (Recomendado)

  • Acesse d2l.com/partners e solicite o D2L Partner Program
  • Como parceiro, solicite um ambiente sandbox dedicado
  • A D2L provisiona instância Brightspace para desenvolvimento e testes
  • Receba acesso admin completo para configurar LTI 1.3

2Opção B — Acesso via instituição parceira

  • Solicite à TI da instituição um sub-ambiente de teste
  • Peça acesso como Org Admin para configurar External Learning Tools

3Configurar LTI 1.3 no Brightspace

  • Acesse ⚙️ Admin → Extensibilidade → LTI Advantage
  • Registre nova ferramenta (Standard ou Dynamic Registration)
  • Configure Deployments para definir quais Org Units terão acesso

4Documentação de referência

  • Brightspace Developer Documentation
  • D2L Community — Fórum com dicas de configuração

A-LXP

Grupo A • Proprietário

1Contato com o Grupo A

  • Entre em contato com o time comercial ou de parcerias do Grupo A
  • Solicite acesso a um ambiente sandbox para integração LTI
  • O Grupo A provisiona instância dedicada para desenvolvimento

2O que esperar

  • Acesso ao painel administrativo para configurar integrações
  • Documentação interna de como registrar ferramentas LTI 1.3
  • Suporte técnico do time do Grupo A