Install Open edX from Tutor

Prerequisite check

Before installing, verify that:

  1. the version of Docker is at least v18.06.0.
    edx@vps:~$ docker --version
    Docker version 20.10.7, build f0df350
  2. Python 3 is installed
    edx@vps:~$ python3 --version
    Python 3.8.10
  3. the non-root user is in the sudo group
    edx@vps:~$ sudo whoami
    root
  4. the non-root user can manage Docker containers

    edx@vps:~$ docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
  5. the DNS settings are correct for the domain and subdomains.

    edx@vps:~$ ping studio.edx.ektu.kz
    
    Pinging studio.edx.ektu.kz [212.154.246.178] with 32 bytes of data:
    Reply from 212.154.246.178: bytes=32 time<47ms TTL=63
    

Installing Open edX

Here is the site for reference: https://docs.tutor.overhang.io/

This guide will not always reference the most up-to-date version of Tutor. Check the Tutor release page for the latest packages.

  1. Download Tutor used to install Open edX (These instructions use v12.0.4)

    sudo curl -L "https://github.com/overhangio/tutor/releases/download/v12.0.4/tutor-$(uname -s)_$(uname -m)" -o /usr/local/bin/tutor
    sudo chmod 0755 /usr/local/bin/tutor
  2. Start the Open edX installer using the quickstart command

    tutor local quickstart
    • Answer each of the questions. This example uses our test domain (jj8i.com).
    • Grab a cup of ☕ and read some 📰. The process can take 30 minutes or more to complete.
    edx@vps:~$ tutor local quickstart
    ==================================================
          Interactive platform configuration
    ==================================================
    Are you configuring a production platform? Type 'n' if you are just testing Tutor on your local computer [Y/n] y
    Your website domain name for students (LMS) [www.myopenedx.com] edx.jj8i.com
    Your website domain name for teachers (CMS) [studio.edx.jj8i.com]
    Your platform name/title [My Open edX] jj8i MOOCs
    Your public contact email address [contact@edx.jj8i.com] edx@jj8i.com
    The default language code for the platform [en]
    Activate SSL/TLS certificates for HTTPS access? Important note: this will NOT work in a development environment. [y/N] y
    Configuration saved to /home/edx/.local/share/tutor/config.yml
    ================================================
          Updating the current environment
    ================================================
    Environment generated in /home/edx/.local/share/tutor/env
    . . .
    
    . . .
    All services initialised.
    The Open edX platform is now running in detached mode
    Your Open edX platform is ready and can be accessed at the following urls:
    
    https://edx.jj8i.com
    https://studio.edx.jj8i.com
    
    edx@vps:~$
    
  3. Open the URLs to verify that both pages load correctly in a browser.

  4. Next, you need to create your administrator user using the createuser command:

    tutor local createuser --staff --superuser yourusername user@email.com
  5. Navigate to the studio (CMS) page to create your first course!

Congratulations! You now have a full, production-ready Open edX platform (Lilac release) running on your server!

Additional Configurations

Open edX works out of the box. However, there are additional configurations that we have applied to our instance. Continue to learn how to implement them.

  1. Russian language pack
  2. Theme from Tutor
  3. SMTP, login limit, certificates, and other settings in config.yml
  4. Open edX XBlocks (extends functionality)
  5. Tutor plugins (additional configuration options)