This script takes around ONE HOUR to run and is intended to be spawned on a background process as follows:
Prepare the server:
# locale-gen sets the character set for terminal output.
# Fresh installations of Ubuntu do not have a locale yet, and this will cause
# the Open edX installer scripts to fail, so we'll set it now.
# For any input prompts that follow, you can select the default value.
sudo locale-gen en_US en_US.UTF-8
# With the locale set, we'll reconfigure the Ubuntu packages
# to use whatever character set you selected.
sudo dpkg-reconfigure locales
sudo dpkg --configure -a
# Update Ubuntu 20.04
sudo apt-get update -y
sudo apt-get upgrade -y
Then, after your server comes back, create a config.yml file. This is required by the Open edX installer scripts beginning with the Ironwood release.
# The Ironwood release and newer versions require a file named "config.yml"
# that you'll need to create and save in your home folder.
# We'll use a terminal editor named vim for this.
# To put vim into edit mode, type "i"
# add the following two lines, replacing the text "courses.example.com" with
# your fully-qualified domain name or server IP address.
# note: Keep the quotes.
# note that the Open edX software by default assumes that you will use the same
# domain name for both EDXAPP_LMS_BASE and EDXAPP_CMS_BASE. If you choose to assign
# a different domain for the CMS then some additional configuration will be required
# for NGINX, user sign-in, CSRF and CORS.
# To exit edit mode type the escape key
# To save the file (ie "write") and quit vim, type ":wq" :wq
And finally, download and run the Open edX native build script. This script will install Ironwood.master by default, but you can edit the file and change this to any version you want.
sudo wget https://raw.githubusercontent.com/lpm0073/edx.scripts/master/edx.platform-install.sh
sudo chmod 755 edx.platform-install.sh
nohup ./edx.platform-install.sh &
# I've had trouble getting the nohup version of this command to work on Ubuntu 20.04.
# You can alternatively use this command
You can read more about the
nohub directive here: https://en.wikipedia.org/wiki/Nohup. As relates to this usage, the combination of the
nohup directive along with the ampersand at the end of the line will cause the script to launch on a new thread. That is, it will not execute on the thread that is managing your terminal connection. Thus, when you logout of the server (or if the connection is inadvertently broken) then the script will continue to run until completion.
I suggest using up to three additional terminal windows to monitor progress of the script.
- the linux
top command is similar to Windows and OSX’s “System Activities” or “System Monitor” windows. The server cpu usage will remain steady at around 50% cumulative usage while the script is running.
- the command
sudo /edx/bin/supervisorctl status will print the Open edX processes that are currently running. You’ll see this list grow as the script progresses
ls to explore the children folders of /edx/ will at a minimum be informative.
Editorial Note: I am a Linux neophyte at best, and I hope your newfound knowledge of such fact brings you hope.