---
layout: page
title: Installing
---
# Manual installation
<p class="lead">
This page describes how to install FixMyStreet patform manually.
You can use this if you're used to setting up web applications —
but the other installation options may be easier:</p>
Note that this is just one of
[many ways to install FixMyStreet]({{ "/install/" | relative_url }})
(the other ways are easier!).
## Manual installation
If you prefer to set up each required component of FixMyStreet
yourself, proceed with the instructions below.
### 1. Get the code
Fetch the latest version from GitHub:
{% highlight bash %}
$ mkdir FixMyStreet
$ cd FixMyStreet
$ git clone --recursive https://github.com/mysociety/fixmystreet.git
$ cd fixmystreet
{% endhighlight %}
<div class="attention-box helpful-hint">
If you're running an old version of git, prior to 1.6.5, you'll have to clone
and then run <code>git submodule update --init</code> separately.
</div>
### 2. Install prerequisite packages
#### a. Debian / Linux
If you're using Debian or Ubuntu, then the packages to install required
dependencies are listed in `conf/packages.generic`. To install all of them you
can run e.g.:
{% highlight bash %}
$ sudo xargs -a conf/packages.generic apt-get install
{% endhighlight %}
A similar list of packages should work for other Debian-based distributions.
(Please let us know if you would like to contribute such a package list or
instructions for other distributions.)
#### b. Mac OS X
Install either MacPorts or HomeBrew (you might well have one already), and then
use the command below to install a few packages that FixMyStreet needs, for
which it's much simpler to install via a packaging system.
##### i. MacPorts
{% highlight bash %}
$ port install gettext p5-locale-gettext p5-perlmagick jhead postgresql91-server
{% endhighlight %}
##### ii. HomeBrew
{% highlight bash %}
$ brew install gettext perlmagick jhead postgresql
$ brew link gettext --force
{% endhighlight %}
<div class="attention-box">
gettext needs to be linked for the