Quickstart - cloudcoderdotorg/CloudCoder GitHub Wiki
Note: Documentation is a work in progress. Please email [email protected] if you would like help installing CloudCoder.
This document describes how to install CloudCoder. The good news is that CloudCoder is fairly easy to install, as long as you are comfortable running Linux commands using ssh.
Prerequisites
You will need two (or more) servers running Ubuntu Linux.
The webapp server will host the CloudCoder web application. This server should have 512M or more of RAM and 2G or more of disk space. Ideally, it should be accessible via the public internet. Cloud hosting services such as Amazon EC2 are an excellent option. (CloudCoder runs well on an EC2 micro instance.) Other cloud hosting services should work well, too. Make sure you choose Ubuntu Linux as the OS. (Ubuntu Server 12.04.1 LTS works well; earlier versions should also be fine.)
The builder is a server that builds an tests student submissions. It does not need to be accessible via the internet, so if you have a spare PC that you can install Linux on, that can be your builder. The builder (or builders - you can have more than one) should have sufficient CPU power and RAM for compiling and testing student submissions: a multi-core CPU is desirable.
Installing the webapp
Use ssh to log into the server on which you will run the webapp. Log into an account that has permission to use sudo to run commands as the superuser: for example, on Amazon EC2, this is the ubuntu account.
Once you have logged in, run the following commands:
wget https://s3.amazonaws.com/cloudcoder-binaries/bootstrap.pl
chmod a+x bootstrap.pl
./bootstrap.pl
You will be prompted for some configuration information. Here is an example transcript:
Welcome to the CloudCoder bootstrap script.
By running this script, you will create a basic CloudCoder
installation on a server running Ubuntu Linux.
Make sure to run this script from a user account that has
permission to run the "sudo" command. If you see the
following prompt:
sudo password>>
then you will need to type the account password and press
enter. On some Ubuntu systems, such as Ubuntu server on
Amazon EC2, no password is required for sudo, so don't be
concerned if you don't see the prompt.
Ready to start? (yes/no)
==> yes
First, please enter some configuration information...
What username do you want for your CloudCoder account?
==> dhovemey
What password do you want for your CloudCoder account?
==> hax0r4lif3
What is your first name?
==> David
What is your last name?
==> Hovemeyer
What is your email address?
==> [email protected]
What is the URL of your personal website?
==> http://faculty.ycp.edu/~dhovemey
What is the name of your institution?
==> York College of Pennsylvania
What password do you want for the MySQL root user?
==> fr0b0zz
What password do you want for the MySQL cloudcoder user?
==> wurbl3
What is the hostname of this server?
==> ec2-107-22-92-250.compute-1.amazonaws.com
The personal information is for your user account. The MySQL passwords are used for access to the MySQL database CloudCoder will use to store exercises and student work.
In the example above, the hostname I entered identifies an Amazon EC2 server I used to install CloudCoder: you should enter the hostname of your webapp server. If you have a DNS name for your server (something like cloudcoder.yourschool.edu), use that instead.
After entering this information, the script will install and configure CloudCoder and the other software it requires. If everything is successful, you should see a message similar to the following:
########################################################################
>>> CloudCoder installation successful! <<<
########################################################################
It looks like CloudCoder was installed successfully.
You should be able to test your new installation by opening the
following web page:
https://ec2-107-22-92-250.compute-1.amazonaws.com/cloudcoder
Note that no builders are running, so you won't be able to
test submissions yet. The builder jar file (cloudcoderBuilder-0.0.0.jar)
is in the /home/cloud/webapp directory: you will need to copy
it to the server(s) which will be responsible for building
and testing submissions.
You should be able to open the URL in your web browser and log in using the username and password you chose earlier. Note that you will receive a security warning because the server will be using a self-signed certificate. You can install a real (trusted) certificate later.
Installing the builder
TODO