This page describes how to install the edX Full Stack on a single Ubuntu 12.04 64-bit server from scratch. For other Full Stack installation instructions, see here.

Hardware requirements

The following server requirements will be fine for supporting hundreds of registered students on a single server.

Note: This will runs mysql, memcache, mongo, and all of the edX services (lms, studio, forums, ora/discern) on a single server. In production configurations we recommend that these services run on different servers and that a load balancer is added for redundancy. Setting up production configurations is beyond the scope of this wiki page.

For hosting in Amazon we recommend an m3.medium server, seehttps://aws.amazon.com/ec2/pricing

Community Ubuntu AMIs have 8GB on the root directory, make sure to expand it before installing.

Installation instructions

WARNING:

NOTES:

LET'S START:

After installation connect your web browser to the following ports:

Bad Suggestions (Arbitrary Upgrades)

Some parts of Open edX are outdated. If you see a message suggesting that you update something manually, don't do it -- Open edX is probably relying on the outdated software remaining at that older version. Specifically:

If you arbitrarily upgrade software in Open edX, things will break. Instead, you should submit a pull request to change the line in the Open edX project where that specific version of the software is defined. All pull requests need to be reviewed before they can be merged, and part of the review process will consist of testing Open edX with the updated software, identifying any breakages, and fixing them as part of the pull request.

Overriding default web ports

You may want to override the default ports for Studio and lms-preview if you are setting up subdomains to connect to your sandbox. By default nginx will forward studio.* to the studio gunicorn process.

Example where preview.example.com, example.com and studio.example.com all point to the same server and you want to deploy the master branch of the edx-platform repo.

cd /var/tmp/configuration/playbooks/edx-east

sudo ansible-playbook -c local --limit "localhost:127.0.0.1" ../edx_sandbox.yml \
-i "localhost," -e 'EDXAPP_PREVIEW_LMS_BASE=preview.example.com  EDXAPP_LMS_BASE=example.com  EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master '

See edX-Managing-the-Full-Stack for how to manage and update the server once it is running