Installing Project Prerequisites

This project relies on several programming tools, but can be used without knowledge of programming languages.

Note

Manually downloading and installing software—as indicated by the instructions in this walkthrough—is fine if you are not doing this very often. If you are learning to develop or code, I urge you to look into package management software, as it will save you time in the long run. If you are on BSD or Linux, your system comes with a package manager. If you are on a Mac, I recommend MacPorts or Homebrew. If you’re on Windows, I hear good things about Chocolatey.

Section Goals

This section prepares you for:

  1. Using the cookiecutter-static-site template to generate a project
  2. Generating security certificates to secure your website
  3. Using the provided scripts in your new project to upload (deploy) your static website to the cloud

This section lists all of the tools required to perform the three steps above. Rather than provide detailed instructions for each installation, this section refers you instead to installation instructions of each utility.

The tools below are listed in the order they will be used.

Python and pip

Python version 2.7, 3.3, 3.4, or 3.5 must be installed for both project generation and site deployment. If you’re on a modern Mac, Python 2.7 is already installed for you (but you are encouraged to upgrade Python). If you’re on Windows, you will need to install Python. If you’re on BSD or Linux, you don’t need my help.

Python is installed with pip, a package manager for Python packages/applications.

virtualenvwrapper

virtualenvwrapper is an optional tool that allows for the logical separation of installed packages. I highly recommend using it.

If you are on Windows, you may wish to use either virtualenvwrapper-win or virtualenvwrapper-powershell. The installation guide for virtualenvwrapper has more information.

OpenSSL

Named after the now-deprecated Secure Sockets Layer security protocol, OpenSSL is an open-source utility that allows for many cryptographic and security applications. In this walkthrough, you will use it to obtain a TLS security certificate for your website.

If you’re on Windows, you will need to google installations instructions (Sorry, I cannot help you here.) If you’re on a Mac, then OpenSSL is already installed. On Linux and BSD, if OpenSSL is not on your system, then your package manager should quickly fix that problem for you.

jq

Whereas Python, pip, and virtualenvwrapper are tools for generating the static site deployment project, jq is a tool necessary for the deployment of the site to the cloud. You will not need to use the tool yourself, but the deployment scripts we will use do rely on the tool.

Downloads and installation instructions may be found here.