Installation

This document assumes you are familiar with Python and Django. It should outline the steps necessary for you to follow the Introductory Tutorial.

Requirements

Note

When installing the django CMS using pip, Django, django-mptt django-classy-tags, django-sekizai, south and html5lib will be installed automatically.

Installing in a virtualenv using pip

Installing inside a virtualenv is the preferred way to install any Django installation. This should work on any platform where python in installed. The first step is to create the virtualenv:

#!/bin/sh
sudo pip install --upgrade virtualenv
virtualenv --distribute --no-site-packages env

You can switch to your virtualenv at the command line by typing:

source env/bin/activate

Next, you can install packages one at a time using pip, but we recommend using a requirements.txt file. The following is an example requirements.txt file that can be used with pip to install django-cms and its dependencies:

# Bare minimum
django-cms==2.4.1

#These dependencies are brought in by django-cms, but if you want to lock-in their version, specify them
Django==1.5.1
django-classy-tags==0.4
South==0.8.1
html5lib==1.0b1
django-mptt==0.5.2
django-sekizai==0.7
six==1.3.0

#Optional, recommended packages
Pillow==2.0.0
django-filer==0.9.4
cmsplugin-filer==0.9.5
django-reversion==1.7

for Postgresql you would also add:

psycopg2==2.5

and install libpq-dev (on Debian-based distro)

for MySQL you would also add:

mysql-python==1.2.4

and install libmysqlclient-dev (on Debian-based distro)

One example of a script to create a virtualenv Python environment is as follows:

#!/bin/sh
env/bin/pip install --download-cache=~/.pip-cache -r requirements.txt

Installing globally on Ubuntu

Warning

The instructions here install certain packages, such as Django, South, Pillow and django CMS globally, which is not recommended. We recommend you use virtualenv instead (see above).

If you’re using Ubuntu (tested with 10.10), the following should get you started:

sudo aptitude install python2.6 python-setuptools
sudo easy_install pip
sudo pip install Django==1.5 django-cms south Pillow

Additionally, you need the Python driver for your selected database:

sudo aptitude python-psycopg2

or

sudo aptitude install python-mysql

This will install Django, django CMS, South, Pillow, and your database’s driver globally.

You have now everything that is needed for you to follow the Introductory Tutorial.

Databases

We recommend using PostgreSQL or MySQL with django CMS. Installing and maintaining database systems is outside the scope of this documentation, but is very well documented on the systems’ respective websites.

To use django CMS efficiently, we recommend:

  • Creating a separate set of credentials for django CMS.
  • Creating a separate database for django CMS to use.