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:
MySQL (v8 or higher recommended)
PostgreSQL (v10 or higher recommended)
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
$ apt-get install libffi-dev libjpeg-dev libssl-dev patch
To install on a Red Hat Enterprise, Fedora, or CentOS Stream:
$ yum install gcc python3-devel libffi-devel openssl-devel patch perl
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:
Report generation/analytics
Document review
Scalability enhancements
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:
$ pip3 install -U ReviewBoardPowerPack
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
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.
Install the Helix Command-Line Client (p4).
This must be placed in the web server’s system path (for example,
/usr/bin
).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]'
OpenStack Swift¶
To install:
$ pip3 install -U 'ReviewBoard[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.