Boston Python Workshop/Friday handout

Objective
After going through this setup document, you will have a Python, git, and Django environment that lets you write Python code locally. You will be able to use Github.com and git to track changes to the code you write.

This document is available on the web; if you have a printed copy, you can see the URL on the last page. You can always refer back to it, or show it to other people.

Section 1: Accounts on the web
Time: 15 minutes, hopefully.

You're going to need accounts on:


 * Alwaysdata.com: This is a French web hosting company. Their free account level has Django support, so you'll use it to run your code and let other people access it over the web.


 * Github.com: This is the most popular hosting company for git, a popular version control system. You will use them to store versions of your code.

Alwaysdata account
Alwaysdata.com lets you create a free hosting account. You'll give them your name and email address and set a password that you'll use to log into the account.


 * Make your account here
 * Choose the "Pack gratuit (10 Mo)". It means "Free account (10 megabytes of storage)".

Note: They will send you your password by email. If you feel queasy about receiving your password by email, then use one that you don't mind receiving.

On the back of this piece of paper, take a moment to write down the username, email address, and maybe password that you used to sign up for the Alwaydata.com account.

Github.com
Github.com is the most popular git-based service you can use to store files.

Go to http://github.com/ and create an account. You can choose whatever username you want. Once it is configured, you can continue on through these setup instructions.

Testing
You might be itching to make sure you created these accounts properly. We'll test that later.

Section 2: Installing software
Different operating systems have different ways to install things.


 * OS X 10.6 or 10.5 (Snow Leopard or Leopard). Click here if you're not sure what version of OS X you have.
 * Windows (XP, Vista, or 7)
 * Ubuntu and Debian

Section 3: ColorWall Setup
The ColorWall project has no dependencies beyond Python on common, modern Linux, OS X, and Windows distributions. To confirm that you have no dependencies to install, get to a Python prompt, then run:

at a Python prompt. If that command results in an, let a staff member know and we'll help get your dependencies set up.

Alwaysdata: Enable SSH

 * Log into your Alwaysdata account at https://admin.alwaysdata.com/
 * In the left-hand side, underneath Remote access, click SSH
 * Click the gear icon for your user
 * Find the checkbox to enable SSH.
 * Click Submit!

Put your SSH key on Github
Follow Github's instructions:


 * Go to http://help.github.com/key-setup-redirect
 * Look for the Adding the key to your GitHub account section
 * Follow just that section.

If you need help finding your SSH key, ask a volunteer. You're looking for a file called id_rsa.pub.

Make sure Git and Github are working together

 * First, load https://github.com/ in a new tab.


 * Then, open up http://help.github.com/create-a-repo/ and follow the instructions to create a repository.

Follow the instructions carefully; for example, do call your repository Hello World as they suggest.

If it worked, you'll see a new repository listed in your Github.com account, and it will have a README file explaining what it is.

Section 5: Deploying your first web application
Remember how you made a Django site earlier in the directions? The volunteers made a site like, too, and we added some special configuration to make it work well with Alwaysdata.com.

You're going to fork this git repository so that when make your own changes to it, you can push those changes to your personal Github account. (You have to fork the repository because otherwise Github won't let you make changes to "my" project!)

Fork our project on Github

 * Go to https://github.com/paulproteus/workshop_mysite
 * Click the "Fork" icon
 * Go to your personal fork of the project.

Clone it to alwaysdata.com

 * Copy the "Git Read-Only" version of the repository URL to the clipboard
 * In your SSH client (PuTTY or ssh), connect to this host:

your_alwaysdata_username@ssh.alwaysdata.com


 * Enter this command into the terminal, but don't press enter yet:

git clone


 * Now paste in the repository URL, and hit enter.

Configure alwaysdata.com to serve your site
This is the last step: Tell alwaysdata.com how to serve up your site to the world.


 * Go to the Alwaysdata.com Domains administration page: https://admin.alwaysdata.com/domain/
 * Find your domain, and click the gear to edit.
 * Enter this into the form as the Root directory:

/workshop_mysite/public/

That's it! Friday is over
Chat with us! Ask questions! Go home!

Love,

Boston Python Workshop staff.