Jump to >

Installing on Linux

Review Board is most commonly used on Linux, and supports the latest versions of most major Linux distributions.

In this guide, we’ll show you how to install Review Board yourself on Linux. This will require a compatible version of Python, and several system packages.

If you’re looking for a different solution, you may consider:

If you need any assistance, reach out to us for support.

Compatibility

Python

Review Board 5.0 supports Python 3.7 or higher.

If your Linux distribution does not come with a supported version of Python, you may need to upgrade or look into a solution like Docker.

Alternatively, you can compile your own Python, along with mod_wsgi or another server. This is only recommended if you’re comfortable with this process.

Linux Distributions

Review Board 5.0 is known to work with the following Linux distributions:

  • CentOS Stream 9

  • Fedora 36

  • Fedora 37

  • Fedora 38

  • Ubuntu 20.04 LTS

  • Ubuntu 22.10 LTS

Other distributions may also work, as long as they provide a compatible version of Python.

Review Board works on both X86 and ARM Linux distributions.

Databases

Review Board supports the following database servers for production:

Web Servers

Review Board is known to work with the following web servers:

Currently, Review Board only auto-generates configurations for Apache + mod_wsgi. Other configurations can be created based on that configuration.

Preparing For Installation

Administrator Access

The instructions below assume you’re running as a superuser (root) or will be using sudo.

If you’re installing into a Python virtual environment, you won’t need to use sudo for any pip commands.

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 pip. This must be done as the user running pip, in the same shell. For example:

$ sudo -s
$ export http_proxy=http://proxy.example.com/
$ export https_proxy=https://proxy.example.com/
$ pip3 install ....

Installing Required System Dependencies

You will need to install a handful of dependencies required by Review Board. Some of these are required to install Review Board’s dependencies, and some are required at runtime.

To install on Debian or Ubuntu:

$ apt-get install build-essential python3-dev python3-pip \
                  libffi-dev libjpeg-dev libssl-dev patch \
                  libxml2-dev libxmlsec1-dev libxmlsec1-openssl

To install on a Red Hat Enterprise, Fedora, or CentOS Stream:

$ yum install gcc python3-devel libffi-devel openssl-devel patch perl \
              libxml2-devel xmlsec1-devel xmlsec1-openssl-devel
              libtool-ltdl-devel

Installing Review Board

To install Review Board and its required dependencies in one go:

$ pip3 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 need to install a specific version:

$ pip3 install ReviewBoard==<version>

# For example:
$ pip3 install ReviewBoard==5.0.3

Installing Power Pack for Review Board (optional)

Power Pack is an optional licensed extension to Review Board. It adds several additional features to Review Board that are useful to businesses and enterprises, including:

60-day Power Pack trial licenses are available, and automatically convert to a perpetual 2-user license after your trial period expires.

To install Power Pack:

$ pip3 install -U ReviewBoardPowerPack

Learn more about Power Pack.

Installing Database Support

Review Board can be used with MySQL, MariaDB, or Postgres databases. To use these, you will need to install the appropriate packages.

MySQL / MariaDB

To install on Debian or Ubuntu:

$ apt-get install libmysqlclient-dev
$ pip3 install -U 'ReviewBoard[mysql]'

To install on Red Hat Enterprise, Fedora or CentOS Stream:

$ yum install mariadb-connector-c-devel
$ pip3 install -U 'ReviewBoard[mysql]'

PostgreSQL

To install:

$ pip3 install -U 'ReviewBoard[postgres]'

Installing Memcached

Memcached is a high-performance caching server used by Review Board.

Review Board requires a memcached server, either locally or accessible over a network.

To install memcached on Debian or Ubuntu:

$ apt-get install memcached

To install memcached on Red Hat Enterprise, Fedora or CentOS Stream:

$ yum install memcached

Learn how to optimize memcached for Review Board.

Installing Repository Support (optional)

These are all optional, and depend on what kind of source code repositories you need to work with.

CVS

To install on Debian or Ubuntu:

$ apt-get install cvs

To install on Red Hat Enterprise, Fedora or CentOS Stream:

$ yum install cvs

Git

To install on Debian or Ubuntu:

$ apt-get install git

To install on Red Hat Enterprise, Fedora or CentOS Stream:

$ yum install git

Mercurial

To install:

$ pip3 install -U mercurial

Perforce

To use Review Board with Perforce, you’ll need to install both command line tools and Python packages. These are both provided by Perforce.

  1. Install the Helix Command-Line Client (p4).

    This must be placed in the web server’s system path (for example, /usr/bin).

  2. Install Perforce’s Python bindings:

$ pip3 install -U 'ReviewBoard[p4]'

Subversion

To use Review Board with Subversion, you’ll need both Subversion and PySVN installed.

To install on Debian or Ubuntu:

$ apt-get install subversion python3-svn

To install on Red Hat Enterprise, Fedora or CentOS Stream:

$ yum install subversion subversion-devel
$ pip3 install wheel
$ curl https://pysvn.reviewboard.org | python3

Learn more about our PySVN installer if you need help. Simply follow the instructions there.

Note

Review Board previously supported an alternative to PySVN called Subvertpy. We’ve decided to drop Subvertpy support after many reports of compatibility issues.

Subvertpy will continue to work through Review Board 5. However, we recommend uninstalling and upgrading to PySVN instead.

Installing Authentication Support (optional)

Review Board can be connected to many kinds of authentication services, including:

  • Active Directory

  • LDAP

  • SAML Single Sign-On services

  • NIS

  • X.509 Public Keys

Some of these require installing additional support, which will be covered here.

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

Important

During setup, you will be asked to create an administrator user. This user will be set up as a “local user”, so that it can always log into Review Board.

Please choose a username that not already in your existing authentication service, to avoid any trouble logging in.

LDAP / Active Directory

To install:

$ pip3 install -U 'ReviewBoard[ldap]'

SAML Single Sign-On

To install:

$ pip3 install -U 'ReviewBoard[saml]'

Installing CDN Support (optional)

Review Board can optionally use various cloud services to store uploaded file attachments, keeping them out of local storage.

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

Amazon S3

To install:

$ pip3 install -U 'ReviewBoard[s3]'

Learn more about Amazon S3.

OpenStack Swift

To install:

$ pip3 install -U 'ReviewBoard[swift]'

Learn more about OpenStack Swift.

Installation is Complete! Next…

Congratulations on installing Review Board!

The next step is to create a site directory. This directory will contain your configuration, data files, file attachments, static media files (CSS, JavaScript, and images), and more.

You can have multiple site directories on the same server, each serving a separate Review Board install.

Let’s create your first site directory. Continue on to Creating a Review Board Site.