5. Installing the Open edX Developer Stack

This section describes how to install the Open edX Developer Stack.

5.1. Overview

The Open edX Developer Stack, known as Devstack, is a Vagrant instance designed for local development.

Devstack Uses the same system requirements as Open edX Fullstack. This allows you to discover and fix system configuration issues early in development.

Devstack Simplifies certain production settings to make development more convenient. For example, nginx and gunicorn are disabled in Devstack; Devstack uses Django’s runserver instead.

See the Vagrant documentation for more information.

5.2. Components

Devstack includes the following edX components:

  • The Learning Management System (LMS)
  • edX Studio
  • Discussion Forums
  • Open Response Assessments (ORA)

Devstack also includes a demo edX course.

5.3. Knowledge Prerequisites

To use Devstack, you should meeting the following knowledge requirements.

5.4. Software Prerequisites

To install and run Devstack, you must first install the following required software.

  • VirtualBox 4.3.12 or higher
  • Vagrant 1.6.5 or higher
  • A Network File System (NFS) client, if your operating system does not include one. Devstack uses VirtualBox Guest Editions to share folders through NFS.

5.5. Install DevStack

To install Devstack directly from the command line, follow the instructions below. You can also install DevStack using a Torrent file, as explained in the next section.

Before beginning the installation, ensure that you have the administrator password for your local computer. The administrator password is needed so that NFS can be set up to allow users to access code directories directly from your computer.

  1. Ensure the nfsd client is running.

  2. Create the devstack directory and navigate to it in the command prompt.

    mkdir devstack
    cd devstack
    
  3. Download the Devstack Vagrant file.

    curl -L https://raw.github.com/edx/configuration/master/vagrant/release/devstack/Vagrantfile > Vagrantfile
    
  4. Install the Vagrant vbguest plugin.

    vagrant plugin install vagrant-vbguest
    
  5. Create the Devstack virtual machine.

    vagrant up
    

    The first time you create the Devstack virtual machine, Vagrant downloads the base box, which has a file size of about 4GB. If you destroy and recreate the virtual machine, Vagrant re-uses the box it downloaded. See Vagrant’s documentation on boxes for more information.

  6. When prompted, enter the administrator password for your local computer.

When you have completed these steps, see Running the Open edX Developer Stack to begin using Devstack.

For help with the Devstack installation, see Troubleshooting the Devstack Installation.

5.6. Install Devstack using the Torrent file

  1. Download the Devstack Torrent file.

  2. When you have the file on your computer, add the virtual machine using the following command.

    vagrant box add box-name path-to-box-file
    

5.7. Troubleshooting the Devstack Installation

In some cases, you see an error when you attempt to create the Devstack virtual machine (vagrant up). For example:

mount.nfs: mount to NFS server '192.168.33.1:/path/to/edx-platform' failed: timed out, giving up

This error situation arises because Vagrant uses a host-only network in Virtualbox to communicate with your computer. If a network does not exist, one is created on vagrant up. If this network is created with the VPN up, it will not work. You must recreate the network with the VPN down.

To resolve the error, follow these steps.

  1. Stop the VPN.
  2. Type vagrant halt.
  3. Open Virtualbox.
  4. Navigate to Preferences > Network > Host-only Networks and remove the most-recently-created host-only network.
  5. Type vagrant up.