Almost all of the server-side code in the Open edX project is in Python, with Django as the web application framework.
- VirtualBox latest version.
- Vagrant latest version.
- Basic terminal usage.
- Vagrant commands
- Many different technologies and skills:
- The basics of how
Python
web applications are built, installed, and deployed. - How to manage a Linux system, including
supervisor
. - We use
Ansible
to automate the installation process.
- The basics of how
We will use Ubuntu 16.04 as a host OS and openEdx ginkgo.2 release. We also need 20GB free space for the original VirtualBox image and the extraced VirtualBox image.
- Create a devstack directory and navigate to it in the command prompt.
mkdir devstack
cd devstack
- Set the OPENEDX_RELEASE environment variable to the Git tag name of the release of the Open edX platform that we are installing.
export OPENEDX_RELEASE="open-release/ginkgo.2"
- Download the install script.
curl -OL https://raw.github.com/edx/configuration/$OPENEDX_RELEASE/util/install/install_stack.sh
- Run the install script to create and start the devstack virtual machine.
bash install_stack.sh devstack
- Install the NFS server (not client)
sudo apt install nfs-kernel-server
- To connect to the devstack virtual machine, use the following SSH command from the devstack directory.
vagrant ssh
- To connect as the edxapp user, run the following command.
sudo su edxapp
One-time setup: get the edx source code and create a new branch to develop.
git clone https://github.com/edx/edx-platform.git .
git checkout tags/open-release/ginkgo.2 -b develop
- Starting the LMS
paver devstack lms
To ONLY start the server without updating other files:
paver devstack --fast lms
After that we can access the LSM by http://localhost:8000 and log in with these accounts:
[email protected] / edx
[email protected] / edx
[email protected] / edx
[email protected] / edx
- Starting Studio
paver devstack studio
To ONLY start the server without updating other files:
paver devstack --fast studio
After that we can access the studio by http://localhost:8001 and log in with these accounts:
[email protected] / edx
[email protected] / edx
[email protected] / edx
[email protected] / edx
If you are running both LMS and Studio without the --fast switch, you will notice that while starting the either server, the LMS server will continuously redeploy itself. As a workaround for this issue, either run LMS in --fast mode, or just wait for the file touching to complete.