What's New: Review Board 1.7.24 released

Review Board

Take the pain out of code review

This documentation covers the in-development release of Review Board. You can see the latest stable docs or all previous versions.

Installing on Linux

Note

We recommend installing on a modern Ubuntu or Fedora distribution, as both are pretty well supported.

You can run Review Board inside a Linux virtual machine running on top of VMware ESXi or VMware Workstation Server.

Alternatively, we can host your Review Board server at RBCommons.

Before You Begin

Review Board is provided as downloadable packages through Python setuptools. The easy part is installing Review Board itself. The harder part is installing some of the dependencies, which we have less control over. This guide will help with some of these dependencies.

It’s assumed that you know which database and web server you want to use, and have already installed these on your server. It’s also assumed that you have Python v2.x (2.5 or newer) installed.

Review Board supports the following database servers:

And the following web servers:

The instructions below are assuming you’re logged in as root or are using sudo.

Using a HTTP Proxy

If you’re behind a proxy server, you’ll need to set the http_proxy environment variable to your proxy server before running easy_install. This must be done as the user running easy_install, in the same shell. For example:

$ sudo -s
$ export http_proxy=http://proxy.example.com/
$ easy_install ....

If you’re running Fedora

Fedora provides Review Board packages that are released shortly after we perform new releases. To install Review Board and its dependencies on Fedora, simply run:

$ yum install ReviewBoard

You can then skip the rest of this guide for the required components. You may still want to install optional components, such as Amazon S3 Support.

You will still need to install your site. See Creating a Review Board Site for details.

If you’re running CentOS, Red Hat, etc.

CentOS, RedHat, Scientific Linux, and other Enterprise Linux distributions need to have the EPEL package repository added. Please see the instructions on adding the EPEL package repositories to your system.

Once added, you can install Review Board and its dependencies by running:

$ yum install ReviewBoard

You can then skip the rest of this guide for the required components. You may still want to install optional components, such as Amazon S3 Support.

You will still need to install your site. See Creating a Review Board Site for details.

Installing Python Setuptools

Before you begin, you’ll need Python setuptools version 0.6c9 or higher. Most Linux distributions have this packaged and available for installation.

To install on Debian, Ubuntu, or another Debian-based distribution, type:

$ apt-get install python-setuptools

To install on Fedora 8 and above, type:

$ yum install -y python-setuptools-devel.noarch

To install on a RedHat Enterprise, CentOS, Fedora 7 and earlier, or another RedHat-based distribution, type:

$ yum install python-setuptools

Users of other distributions should check with their distribution for native packages, or follow the setuptools installation instructions.

If the version of setuptools available for your distribution is older than 0.6c9, you’ll need to install it first, and then upgrade it to the latest version by running:

$ easy_install -U setuptools

Installing Python Development Headers

You will need to install the Python development headers for your distribution.

To install on Debian, Ubuntu, or another Debian-based distribution, type:

$ apt-get install python-dev

To install on a RedHat Enterprise, Fedora, CentOS, or another RedHat-based distribution, type:

$ yum install python-devel

Installing memcached

Memcached

Memcached is a high-performance caching server used by Review Board. While optional, it’s strongly recommended in order to have a fast, responsive server. Along with memcached, we need the python-memcached Python bindings.

To install on Debian or Ubuntu, type:

$ apt-get install memcached

To install on RedHat Enterprise, Fedora or CentOS, type:

$ yum install memcached

python-memcached

You’ll need to install python-memcached. You can install this by typing:

$ easy_install python-memcached

Installing patch

patch is required for Review Board’s diff viewer to work. All distributions should provide this.

To install on Debian or Ubuntu, type:

$ apt-get install patch

To install on RedHat Enterprise, Fedora or CentOS, type:

$ yum install patch

Installing Review Board

To install Review Board and its required dependencies (Djblets, Django-Evolution, Django, flup, paramiko and Python Imaging Library) in one go, type:

$ easy_install ReviewBoard

This will automatically download and install the latest stable release of Review Board and the required versions of its core dependencies.

If you want to install an in-development release, see Installing Development Releases.

Installing Database Bindings

Depending on the database you plan to use, you will probably need additional bindings.

MySQL

To install, type:

$ easy_install mysql-python

Distributions may provide native packages. You may also need to install a mysql development package first.

To install on Debian or Ubuntu, type:

$ apt-get install python-mysqldb

PostgreSQL

To install, type:

$ easy_install psycopg2

Installing Source Control Components

Depending on which source control systems you plan to use, you will need some additional components.

CVS

To use Review Board with CVS, you’ll need the cvs package installed. This is available on almost every distribution.

To install on Debian or Ubuntu, type:

$ apt-get install cvs

To install on RedHat Enterprise, Fedora or CentOS, type:

$ yum install cvs

Git

To install on Debian or Ubuntu, type:

$ apt-get install git-core

To install on Fedora, type:

$ yum install git-core

If your distribution doesn’t provide Git, you’ll need to install it manually from http://www.git-scm.com/.

Mercurial

To install support for Mercurial, type:

$ easy_install mercurial

You can also check your distribution for a native package, or use one of the binary packages provided.

Perforce

To use Review Board with Perforce, you’ll first need to install p4 some place in your web server’s path (usually /usr/bin). You can download this from the Perforce downloads page.

You’ll then need to install the Python bindings by typing the following:

$ easy_install P4PythonInstaller

This should fetch the appropriate versions of the p4api library and compile it. This will require that you have standard build tools (gcc, make, etc.) installed on your system.

Subversion

To use Review Board with Subversion, you’ll need both subversion and either subvertpy installed. For backwards compatibility with older Review Board installations, PySVN may be installed in place of subvertpy.

subvertpy

To install on Debian or Ubuntu, type:

$ apt-get install python-subvertpy

To install on Fedora, type:

$ yum install python-subvertpy

On RedHat Enterprise and CentOS, you may have to install subvertpy from scratch if you do not wish to add the EPEL_ repository. To install PySVN from EPEL, add its repository, then type:

$ yum --enablerepo=epel install python-subvertpy

If your distribution doesn’t provide subvertpy, you can install it by installing the development packages for Python and subversion, and then the package itself via easy_install, by typing:

$ easy_install subvertpy

PySVN

To install on Debian or Ubuntu, type:

$ apt-get install subversion python-svn

To install on Fedora, type:

$ yum install subversion pysvn

RedHat Enterprise and CentOS provide subversion, but you may have to install PySVN from scratch if you do not wish to add the EPEL_ repository. To install Subversion, type:

$ yum install subversion

To install PySVN from EPEL, add its repository, then type:

$ yum --enablerepo=epel install pysvn

If your distribution doesn’t provide PySVN, you can install it by downloading the latest release and following the instructions in the provided INSTALL.html.

Installing Amazon S3 Support (optional)

This is an optional step.

Review Board can use Amazon S3 to store uploaded screenshots. To install this, you will need the django-storages module. Type:

$ easy_install django-storages

After you’ve installed Review Board and created your site, you will need to configure this. See the File Storage Settings documentation for more information.

Installing Development Tools (optional)

If you plan to work on Review Board’s source code, there are a few additional packages you’ll need to install:

You can install these in one go by typing:

$ easy_install nose Sphinx

After Installation

Once you’ve finished getting Review Board itself installed, you’ll want to create your site. See Creating a Review Board Site for details.