DEV Community

Nhân Quách
Nhân Quách

Posted on

Open edX - Part 1: Quick start

Hi everyone,
Long story short, I need to setup an Open edX LMS for my side project, this is my journal.

Some notes

This is my research, not the fully working tutorial.
Hope you find it useful, somehow...

This post also contains many questions, if you know how to do it, please leave it in the comment - thank you so much for helping me 🍾🍾🍾

Quick view

In general Open edX is a lms platform which allows people to teach and to learn (sort of Udemy or Udacity), but you can set it up by yourself (Open edX stands for Opensource Educational Platform which is supposed to be really awesome - the X 😏)

Check out the home page of Open edX for more info.

In this post

  • Setting up a Virtual environment so I don't freak up the real system
  • Install Open edX
  • Access the Open edX from the real devices

Getting Started

1.Setting up a virtual env

I am a simple man, I saw virtual env, I think of Virtual Box. Yes, Virtual Box.
Download it here Virtual Box download page
You will also need Ubuntu 16.04 amd64, so here is the download link, you can choose either the Desktop image (with GUI) or Server image.
Install Ubuntu in a Virtual Machine, please take a look at the requirements for a Open edX server.

  • Ubuntu 16.04 amd64 (oraclejdk required). It may seem like other versions of Ubuntu will be fine, but they are not. Only 16.04 is known to work.
  • Minimum 8GB of memory
  • At least one 2.00GHz CPU or EC2 compute unit
  • Minimum 25GB of free disk, 50GB recommended for production servers

Your Ubuntu is up and running, great 👏👏👏! Let's move to the next step.

2.Install Open edX

Make sure your virtual Ubuntu machine's Network is attached to Bridge NAT
Network is attached to Bridge NAT

Power on your Ubuntu instance and login as root user
Run the commands

1.Make sure we have the latest packages from apt

sudo apt-get update -y

sudo apt-get upgrade -y

2.Reboot the machine

sudo reboot

3.After reboot, it's time to install Open edX

  • Choose a version, check out all the versions here. For this tutorial I will choose the latest Ironwood release (tag name: open-release/ironwood.master). Define it to a variable:

export OPENEDX_RELEASE=open-release/ironwood.master

Notes: The command above will need to be re-run after reboot because it is not a permanent variable

4.Create config.yml file

cd <path/to/store/config.yml>

vim config.yml




Save it

5.Short cut: Run all scripts

wget$OPENEDX_RELEASE/util/install/ -O - | sudo bash && wget$OPENEDX_RELEASE/util/install/ -O - | bash && wget$OPENEDX_RELEASE/util/install/ -O - | bash

5.1 For a more detail view:
Notes: All the scripts is available at

5.1.1: Bootstrap to ansible

wget$OPENEDX_RELEASE/util/install/ -O - | sudo bash

5.1.2: Generate passwords for demo users/accounts

wget$OPENEDX_RELEASE/util/install/ -O - | bash

5.1.3: Install and start Open edX to local machine

wget$OPENEDX_RELEASE/util/install/ -O - | bash

After all of that, your Open edX is available to access via your VM Ubuntu IP

3.Access the Open edX from the real devices

  1. Get the IP using ifconfig

IP Address

  1. Now open your browser on the main machine and access it
    Access via browser

  2. Navigate to other page:
    LMS Page: <IP address>
    CMS Page: <IP address>:18010
    Admin Page: <IP address>/admin/

  3. Demo accounts:
    You can find the list of the default accounts here:

You have done it! 🎉🎉🎉

Next part: Customize the look of Open edX

Top comments (1)

kjain20 profile image

Hi Nhan,

EDXAPP_LMS_BASE: "Public Ip address" of the EC2 instance?