Home / Documentation / Installation and Configuration Quick-Start

Installation and Configuration Quick-Start

This page is designed to help you get an instance of CAT-SOOP up and running. If you are setting things up on a local copy, following the instructions on this page should be enough. If you are setting up a public-facing instance on a server you control, you should follow these instructions, and then continue by following the link at the bottom of this page for more information about server configuration.

As a general rule, I only test using Debian GNU/Linux, but others have tested these instructions on Mac OSX and on Windows (Cygwin or LSW).

Table of Contents

1) Install Necessary Software

CAT-SOOP depends on Python (version 3.5+, with pip).

You will need Python version 3.5+ on your system to run CAT-SOOP. Many distributions have Python 3.5+ in their package managers, though it may be necessary to download the source from the official Python site.

On Debian Stretch, you will need the python3 and python3-pip packages (or a version of Python 3.5+ installed in some other way).

1.1) (Cygwin Only) Patch _pyio

As of the time of this writing (December 2017), the Python version available through Cygwin ships with a broken version of _pyio, which cheroot uses. In order to run CAT-SOOP on a Cygwin host, edit the file /usr/lib/python3.6/_pyio.py so that the first conditional (about sys.platform) reads as follows:

if sys.platform == 'win32':
    from msvcrt import setmode as _setmode
elif sys.platform == 'cygwin':
    import ctypes
    _cygwin1 = ctypes.PyDLL('cygwin1.dll')
    def _setmode(fd, mode):
        return _cygwin1._setmode(ctypes.c_int(fd), ctypes.c_int(mode))
    _setmode = None

2) Download CAT-SOOP

There are several ways you can install CAT-SOOP.

2.1) Installation via pip

The easiest is pip, with a command like the following:

$ sudo pip3 install catsoop

2.2) Manual Installation

Alternatively, you can clone the Git repository:

$ git clone git://catsoop.mit.edu/catsoop.git

After you have a local copy, you can then run:

$ sudo pip3 install .

from the source directory. You can also run the unit tests by running:

$ sudo python3 setup.py test

3) Configure CAT-SOOP

To configure CAT-SOOP, run the following command:

catsoop configure

and answer the questions it poses.


If you are running a public-facing CAT-SOOP instance, you are strongly encouraged to enable encryption if the directory in which you are storing the logs is not already encrypted in some way (e.g., via luks or gocryptfs or cryfs, etc).

4) Add Courses

The default location for CAT-SOOP courses is in ~/.local/share/catsoop/courses/. You should move (or symlink) your courses to that location.

5) Start CAT-SOOP

To start the server, you should run:

$ catsoop start

This will start the server listening on port 6010. You should then be able to directy your browser to http://localhost:6010 to see the CAT-SOOP instance.

6) (Optional) Sign Up for Mailing List(s)

catsoop-users@mit.edu is a place to ask questions about CAT-SOOP usage. You can view the archives or subscribe here.

catsoop-dev@mit.edu is the place to ask questions about CAT-SOOP development. You can view the archives or subscribe here.

7) Additional Configuration for Public-Facing Servers

If you are setting up a public-facing CAT-SOOP instance, see also this page about additional server configuration.