Installing on Linux¶
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.4 or v2.5 installed.
Review Board supports the following database servers:
- MySQL v5.0.31 or newer
- PostgreSQL
- sqlite v3
And the following web servers:
If you’re running Fedora, you may need to add the Fedora Extras repository to your yum configuration.
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 ....
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 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 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.
To install on Debian or Ubuntu, type:
$ apt-get install python-mysqldb
SQLite¶
Note
If you have Python 2.5 or higher, you already have SQLite and won’t need to install this.
To install, type:
$ easy_install pysqlite
Distributions may provide native packages.
To install on Debian or Ubuntu, type:
$ apt-get install python-sqlite2
To install on Fedora type:
$ yum install py-pysqlite2
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 PySVN installed.
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. To install Subversion, type:
$ yum install subversion
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 PyLucene (optional)¶
This is an optional step.
We use PyLucene for our search functionality. It can be complicated to install, and requires a working Java installation.
Ubuntu 9.04+ and Debian Testing¶
If you’re using Ubuntu (9.04 or newer) or Debian Testing, you can simply install this by typing:
$ sudo apt-get install pylucene
Otherwise, you’ll have to perform a manual installation.
Manual Installation¶
You’ll need the following dependencies to build PyLucene:
- gcc/g++
- Sun’s JDK
- Ant
On Debian and Ubuntu, you can install these by typing:
$ sudo apt-get install gcc g++ sun-java6-jdk ant
Once these are installed, you’ll need to download the latest version of PyLucene and extract the tarball.
Compile JCC¶
JCC is needed to compile PyLucene, and is bundled along with PyLucene.
First, change to the directory containing the extracted PyLucene files, and then type, as root:
$ cd jcc
$ python setup.py install
If your JDK is in an unexpected place (such as using openjdk on older versions of Ubuntu), you may need to tweak the setup.py file to point to it instead of java-6-sun.
Compile PyLucene¶
Once JCC is installed, you can compile PyLucene. Change back to the PyLucene directory and type, as root:
$ make
$ make install
Cleaning Up¶
Optionally, you can now remove your JDK and install a JRE in order to save space. This won’t make any difference to the PyLucene installation either way.
You can also remove your PyLucene tarball and the source directory.
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 Sites for details.