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.
Requirements:
- 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
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
Insert:
EDXAPP_LMS_BASE: "online.myeducation.org"
EDXAPP_CMS_BASE: "studio.online.myeducation.org"
Save it
5.Short cut: Run all scripts
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/ansible-bootstrap.sh -O - | sudo bash && wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/generate-passwords.sh -O - | bash && wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/native.sh -O - | bash
5.1 For a more detail view:
Notes: All the scripts is available at https://github.com/edx/configuration/tree/open-release/ironwood.master/util/install
5.1.1: Bootstrap to ansible
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/ansible-bootstrap.sh -O - | sudo bash
5.1.2: Generate passwords for demo users/accounts
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/generate-passwords.sh -O - | bash
5.1.3: Install and start Open edX to local machine
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/native.sh -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
- Get the IP using
ifconfig
Navigate to other page:
LMS Page:<IP address>
CMS Page:<IP address>:18010
Admin Page:<IP address>/admin/
Demo accounts:
You can find the list of the default accounts here:
https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/installation/start_devstack.html#default-accounts
You have done it! 🎉🎉🎉
Top comments (1)
Hi Nhan,
EDXAPP_LMS_BASE: "Public Ip address" of the EC2 instance?