Open edX Installation Guide

By finishing this article you'll install your own production-ready learning management system.
What is open edX?
open edX is an open source alternative to proprietary software such as Blackboard or Udemy. It provides a flexible and scalable learning platform that can be applied in schools, colleges, and universities all around the world. Open edX is being used by 55 million students, all around the world
This article will show you how to install Open edx on your Ubuntu server and start building courses.
You can find more information about open edX on their official website.
What you are going to learn ?
Today I am going to be showing you how to install production ready open edx on your Ubuntu server and start building courses.
I'll show you what is needed for the installation, how to install it, and how your server will look once it's finished.
Requirements
  • Ubuntu 20.04 amd64
  • Minimum 8GB of memory
  • At least one 2.00GHz CPU
  • Minimum 50GB recommended for production servers
  • Installation Steps
    First make sure you have SSH access to the server and then SSH to the server.
    Install wget if it's not installed already
    sudo apt-get install wget
    Install open edx
    wget https://gist.githubusercontent.com/cubiteDevops/521cbca51ef8fa778418bdeddbd14c8c/raw/1f96b6f754bd6ec80f7639fbd9dcbcd0b8441653/openedx-installer.sh -O - | sudo bash
    The above command downloads and run following script
    #!/bin/bash
    sleep 20
    sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
    sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
    wget https://raw.githubusercontent.com/cubiteDevops/do-edx-configs/main/ansible-bootstrap.sh -O - | sudo bash
    mkdir edx-configs && cd edx-configs
    sudo wget https://raw.githubusercontent.com/edx/configuration/open-release/lilac.master/playbooks/sample_vars/passwords.yml
    sudo wget https://raw.githubusercontent.com/cubiteDevops/do-edx-configs/main/vars.yml
    while IFS= read line; do REPLACE=$(LC_ALL=C < /dev/urandom tr -dc 'A-Za-z0-9' | head -c35) && echo "$line" | sed "s/\!\!null/\'$REPLACE\'/"; done < ./passwords.yml | sudo tee ./my-passwords.yml
    mkdir /edx-themes && sudo chmod -R 777 /edx-themes && cd /edx-themes
    git clone https://github.com/cubitetech/theme -b lilac cubite-theme
    cd /edx/app/edx_ansible/edx_ansible/playbooks/ && git checkout open-release/lilac.master
    sudo /edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook -c local ./openedx_native.yml -i 'localhost,' -e@/root/edx-configs/my-passwords.yml -e@/root/edx-configs/vars.yml
    This script:
  • updates and upgrades the Ubuntu packages
  • Prepare ansible environment in your server to install open edx
  • Create strong passwords for open edx services
  • Installs open edx
  • Install our theme for open edx
  • How should it look like
    After successful installation your open edx instance should like our demo site here
    What is next
    We are writing another article to teach you how to generate SSL certs for your instance, set Domain names and create admin users.
    Check this tweet to see how we improved open edx default UI by using Nextjs and Strapi
    If you need any help contact us at hello@cubite.io

    39

    This website collects cookies to deliver better user experience

    Open edX Installation Guide