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.
| LMS | Método | Custo Estimado | Dificuldade |
|---|---|---|---|
| Moodle | AWS EC2 + Bitnami Image | ~$15-30/mês (t3.medium) | ⭐ Fácil |
| Canvas LMS | AWS EC2 + Docker / Manual | ~$30-60/mês (t3.large) | ⭐⭐ Médio |
| Blackboard Learn | AWS EC2 + VMDK Anthology | ~$30-50/mês (t2.large) | ⭐⭐ Médio |
| D2L Brightspace | Parceria / AWS | Variável (parceria) | ⭐⭐ Médio |
| A-LXP | Parceria Grupo A | Via contrato | N/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 VMwareMateriais 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-toolSiga 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:
Materiais complementares
- 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_setup3Opçã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.com6Validar 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:
Materiais complementares
- 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: json5Converter 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 SnapshotIdCom 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 now8Acessar 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