Installing on Linux


Note

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

You can run Review Board inside a Linux virtual machine running on topof ​​ 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. Theharder part is installing some of the dependencies, which we have less controlover. 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 thatyou 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​​ orare 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 runningeasy_install. This must be done as the user runningeasy_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 weperform new releases. To install Review Board and its dependencies onFedora, simply run:



$ yum install ReviewBoard



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

You will still need to install your site. See ​​ Creating a Review Board Site​​ fordetails.



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

CentOS, RedHat, Scientific Linux, and other Enterprise Linux distributionsneed to have the EPEL package repository added. Please see the​​instructions​​ on adding the EPELpackage 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 maystill want to install optional components, such as​​Amazon S3 Support​​.

You will still need to install your site. See ​​ Creating a Review Board Site​​ fordetails.


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, oranother RedHat-based distribution, type:



$ yum install python-setuptools



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

If the version of setuptools available for your distribution is older than0.6c9, you’ll need to install it first, and then upgrade it to the latestversion by running:



$ easy_install -U setuptools


Installing Python Development Headers

You will need to install the Python development headers for yourdistribution.

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 anotherRedHat-based distribution, type:



$ yum install python-devel


Installing memcached



Memcached

​Memcached​​ is a high-performance caching server used by Review Board. Whileoptional, it’s strongly recommended in order to have a fast, responsiveserver. 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. We recommend using patch version 2.7 ornewer.

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 ofReview 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 additionalbindings.



MySQL

To install, type:



$ easy_install mysql-python



Distributions may provide native packages. You may also need to install a mysqldevelopment 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 needsome additional components.



CVS

To use Review Board with ​​ CVS​​, you’ll need the cvs packageinstalled. 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 itmanually 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 installp4 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 andcompile 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 andeither ​​ subvertpy​​​ installed. For backwards compatibility with older ReviewBoard 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 fromscratch if you do not wish to add the EPEL repository. To install PySVN fromEPEL, add its repository, then type:



$ yum --enablerepo=epel install python-subvertpy



If your distribution doesn’t provide subvertpy, you can install it byinstalling the development packages for Python and subversion, and thenthe 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 toinstall 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 latestrelease 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 installthis, you will need the ​​django-storages​​ module. Type:



$ easy_install django-storages



After you’ve installed Review Board and created your site, you will needto configure this. See the ​​ File Storage Settings​​ documentation formore information.


Installing OpenStack Swift Support (optional)

This is an optional step.

Review Board can use ​​ OpenStack Swift​​​ to store uploaded screenshots. To installthis, you will need the ​​django-storage-swift​​ module. Type:



$ easy_install django-storage-swift



After you’ve installed Review Board and created your site, you will needto configure this. See the ​​ File Storage Settings​​ documentation formore information.


Installing Development Tools (optional)

If you plan to work on Review Board’s source code, there are a fewadditional 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 tocreate your site. See ​​ Creating a Review Board Site​​ for details.