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.
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.
Review Board 5.0 is known to work with the following Linux distributions:
CentOS Stream 9
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.
Review Board supports the following database servers for production:
Review Board is known to work with the following web servers:
Sample configurations are generated automatically for these servers.
Preparing For Installation¶
This guide covers the following administrative actions:
Installing system packages.
This will use yum for Red Hat-based distributions, and apt-get for Debian-based distributions.
Creating system directories.
/opt/reviewboardfor a Python Virtual Environment and
/var/www/reviews.example.comfor a Review Board site directory.
This will typically require you to be a superuser (
We recommend switching to
root before you begin the steps below:
$ sudo -s
Python Virtual Environments vs. System Installs¶
A Python Virtual Environment is a self-contained copy of Python and a set of packages. This is supported by Review Board, and comes with some advantages:
Isolation from system packages.
System upgrades won’t break your Virtual Environment’s packages, and Virtual Environment upgrades won’t break your system.
Easier system migration and backups.
You can easily snapshot your entire environment and move or copy it between servers.
They’re easy to set up and use.
These are not Virtual Machines or Docker images. They’re just directories created on your system using a tool provided by your Linux distribution.
We recommend Virtual Environments for Review Board 5.0.5 and higher.
If you’re working with an earlier install of Review Board, you have a System Install.
Instructions are provided on each step for both Virtual Environments and System Installs.
If you’re using Ubuntu 23.04+, Fedora 38+, or another Linux distribution released after 2022, it may require you to use Virtual Environments.
This is due to a Python standard called PEP 668, which disables system installs of software like Review Board. If you see an error about “externally managed environments” when using pip, this is the cause.
If you’re upgrading your Linux system to these releases, you will need to:
Follow this guide to create a new Virtual Environment for Review Board.
Either upgrade to Review Board 5.0.5+ or perform some manual changes to your web server to activate your Virtual Environment.
Contact support for assistance in migrating your legacy install into a Virtual Environment.
Using a HTTP(S) Proxy¶
If you’re behind a proxy server, you’ll need to set the
environment variable to your proxy server before running pip. This
must be done as the user running pip, in the same shell.
To enable a proxy:
$ export http_proxy=http://proxy.example.com/ $ export https_proxy=https://proxy.example.com/
1. Install System Packages¶
You will need to install a handful of packages before installing Review Board:
$ apt-get install build-essential python3-dev python3-pip \ libffi-dev libjpeg-dev libssl-dev patch \ libxml2-dev libxmlsec1-dev libxmlsec1-openssl \ python3-virtualenv
$ yum install gcc python3-devel libffi-devel openssl-devel patch perl \ libxml2-devel xmlsec1-devel xmlsec1-openssl-devel \ libtool-ltdl-devel python3-virtualenv
2. Create a Virtual Environment¶
If you’re installing using a Python Virtual Environment instead of a System Install, you’ll need to create your environment:
$ virtualenv /opt/reviewboard
This will use the default version of Python on your system.
If you want to use a specific version of Python that you have installed,
you can pass
$ virtualenv -p python3.11 /opt/reviewboard
This version must be supported by your web server!
Use virtualenv, not python -m venv.
If you’re familiar with Python already, you may be used to using python -m venv, but this isn’t suitable for Review Board. There are small differences in the virtual environment that will cause problems with activating the environment within the web server.
3. Install Review Board¶
To install Review Board and its required dependencies in one go:
$ /opt/reviewboard/bin/pip install ReviewBoard
$ 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:
$ /opt/reviewboard/pip install ReviewBoard==<version> # For example: $ /opt/reviewboard/pip install ReviewBoard==5.0.3
$ pip3 install ReviewBoard==<version> # For example: $ pip3 install ReviewBoard==5.0.3
4. Install 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:
Database import/export and conversion
Support for additional source code management solutions:
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:
$ /opt/reviewboard/bin/pip install -U ReviewBoardPowerPack
$ pip3 install -U ReviewBoardPowerPack
5. Install 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¶
Install system packages for MySQL/MariaDB:
$ apt-get install libmysqlclient-dev
$ yum install mariadb-connector-c-devel # Or: $ yum install mariadb-devel
Install the Python support in your environment.
You may have trouble installing some versions of mysqlclient, depending on your Linux distribution.
mysqlclient 2.2 supports MySQL 8.0.33+, but is incompatible with many Linux distributions (including Amazon Linux and Debian).
We recommend trying to install the latest version. If that doesn’t work, try installing 2.1.1. If you need help, reach out to us for support.
$ /opt/reviewboard/bin/pip install -U mysqlclient # To install 2.1.1: $ /opt/reviewboard/bin/pip install mysqlclient==2.1.1
$ pip3 install -U mysqlclient # To install 2.1.1: $ pip3 install mysqlclient==2.1.1
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[postgres]'
$ pip3 install -U 'ReviewBoard[postgres]'
6. Install 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.
$ apt-get install memcached
$ yum install memcached
For better performance and scalability, install memcached on a separate server.
You’ll be asked to specify the memcached server address when you set up your Review Board site directory.
7. Install Repository Support (optional)¶
These are all optional, and depend on what kind of source code repositories you need to work with.
$ apt-get install cvs
$ yum install cvs
$ apt-get install git
$ yum install git
$ pip3 install -U mercurial
To use Review Board with Perforce, you’ll need to install both command line tools and Python packages. These are both provided by Perforce.
Install the Helix Command-Line Client (p4).
This must be placed in the web server’s system path (for example,
This must be placed in the web server’s system path (for example,
Install Perforce’s Python bindings:
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[p4]'
$ pip3 install -U 'ReviewBoard[p4]'
Install system packages for Subversion:
$ apt-get install subversion subversion-dev $ apt-get build-dep python3-svn
$ yum install subversion subversion-devel
$ /opt/reviewboard/bin/pip install wheel $ curl https://pysvn.reviewboard.org | /opt/reviewboard/bin/python
$ pip3 install wheel $ curl https://pysvn.reviewboard.org | python3
Learn more about our PySVN installer if you need help. Simply follow the instructions there.
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.
8. Install Authentication Support (optional)¶
Review Board can be connected to many kinds of authentication services, including:
SAML Single Sign-On services
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.
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¶
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[ldap]'
$ pip3 install -U 'ReviewBoard[ldap]'
SAML Single Sign-On¶
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[saml]'
$ pip3 install -U 'ReviewBoard[saml]'
9. Install 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.
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[s3]'
$ pip3 install -U 'ReviewBoard[s3]'
$ /opt/reviewboard/bin/pip install -U 'ReviewBoard[swift]'
$ pip3 install -U 'ReviewBoard[swift]'
Installation is Complete! Next…¶
Congratulations on installing Review Board!
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.