I’ve had the privilege recently of meeting the good people of ELMSLN and learning of the great things they are doing to advance new ed tech tools and solutions.
The purpose of this post is to walk through the steps I took to install an ELMS instance on AWS as well as configure it to post xAPI statements from an interactive H5P video, and post it to my own LRS instance from Learning Locker. As a side note, my LRS is also on AWS – if you want to see how to do that, check out this video from K. Anthony.
Step 1. I’m going to assume you already have an AWS account. If not, check this out.
Step 2. Inside your ‘EC2 Dashboard’, click ‘Launch Instance’
Step 3. Set up an Ubuntu instance; I chose all free tier for mine, but you can select more CPU, RAM, disk space as needed. After selecting Ubuntu 14, you can go directly to ‘Review and Launch’ OR configure each stage for more resources, as needed.
Step 4. Scroll down a bit and choose ‘Edit security groups’
Click ‘Add Rule’ and select HTTP; also ‘Add Rule’ and select HTTPS
As a side note, if you are storing any kind of sensitive data and want to protect your resources, you’ll want to change the 0.0.0.0/0 subnet to your liking. This is NOT a firewall in any shape or form – it only restricts traffic by a given subnet to your instance.
Step 5. Click ‘Review and Launch’ and then ‘Launch’
Step 6. Select your public/private key combo that you’ll need to SSH into your server. I already had one, which I used, but you can learn how to do it here. After this, click ‘Launch Instances’
Step 7. Go back to your EC2 Management Console, where you’ll see your instance ‘Initializing’. Once that completes (Under ‘Status Checks’, the hourglass and ‘Initializing’ will change to ‘2/2 checks passed’)
Step 8. Select your instance on the left (check the check box next to your instance); you can also name it by clicking on the pencil, next to the ID
Step 9. Click ‘Connect’
Step 10. A pop-up box will appear; under ‘Example’, you’ll want to copy the ssh command (entire line) and then paste that into your shell (terminal or command line, etc.);
NOTE: You’ll need to have your key .pem file located in the same directory where you’ll be running this command. It will ask if you want to add this fingerprint. Say yes. OR say no and go do something outside.
ssh -i “keyfile.pem” ubuntu@ec2-##-###-#-##.us-west-2.compute.amazonaws.com
Step 11. I’m not sure if this step is absolutely necessary, but I tried running this command via sudo and it didn’t like it; so I changed the root password and su in before I ran it.
$ sudo passwd root
Enter this command below; you’ll want to generate your own, depending on your domain, subdomain, etc. settings you’ll want; you can do that here
Make sure you choose Ubuntu from the OS list; the rest is up to you
# apt-get update && apt-get -y install wget git && git clone https://github.com/elmsln/elmsln.git /var/www/elmsln && bash /var/www/elmsln/scripts/install/handsfree/ubuntu14/ubuntu14-install.sh LearnerView LV drdavefusco.com http email@example.com yes
cd $HOME && source .bashrc
As my kids would say, 10 years later… Just kidding; mine took like 10 minutes to run; just let it do its thing
Step 12. Note some important information once it’s done:
In green, copy the username: admin and corresponding password: PASSWORD
║ username: admin ║
║ password: password
Step 13. At this point, you’ll need to either:
- Copy the information into your local HOSTS file OR
- Create corresponding A records for your domain, so that others can access your site
Since this step can be a lot different, depending on your domain/subdomain setup, hosting options, DNS, etc. I’m not going to provide instructions here on how to do this. Please check with your domain name hosting provider on how to create the necessary A records for those provided to you from the install (e.g. people, courses, innovate, etc.). For me, I exported my zone file, added the necessary records, and then imported the zone file back.
Step 14. Go to your site – e.g. lor.domain.name; log in using the admin password generated
Your ELMSLN is ready to go! IF you’re interestd in xAPI and H5P, keep reading
Step 15. Go into your LRS and get your endpoint, username, and password used for accepting xAPI statements
Back on your instance, edit the following file and modify it to correspond to your LRS settings:
No need to restart anything, at least not that I Found.
Step 16. Go HERE and download the latest (all) H5P content types – one file
Step 17. Go to here on your site /admin/content/h5p and browse to upload the you just downloaded from the previous step. This will allow access to the content types supported from H5P
Step 18. Add new H5P content – I did a video; go to your site /node/add/h5p-content
- Select a course (assumed you already created one on this site)
- Give it a title
- Content Type – ‘Interactive Video’
- Click the + under ‘Video Files’
- Paste in a URL from the video source and click ‘Insert’
- Select ‘Add Interaction’s from the second tab (seen above)
- I chose to do a multiple choice quiz – drag this icon to a place in the video where you want to stop and ask the user to take a quiz
- You can chose how you want the behavior to act – e.g. force a stop, force a 100% score before watching the rest of the video, etc. There’s lots of help at H5P here
Step 19. Once a user interacts with the video, it will generate xAPI statements, which you can confirm on your LRS
NOTE: You can also see data on your site here /elmsln/course-data