## Minimum requirements
-* Ruby 2.0
+* Ruby 2.3
* RubyGems 1.3.1+
* PostgreSQL 9.1+
* ImageMagick
* Bundler
* Javascript Runtime
-These can be installed on Ubuntu 14.04 or later with:
+These can be installed on Ubuntu 16.04 or later with:
```
-sudo apt-get install ruby2.0 libruby2.0 ruby2.0-dev \
+sudo apt-get install ruby2.3 libruby2.3 ruby2.3-dev \
libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
- apache2 apache2-threaded-dev build-essential git-core \
+ apache2 apache2-dev build-essential git-core \
postgresql postgresql-contrib libpq-dev postgresql-server-dev-all \
- libsasl2-dev imagemagick
-sudo gem2.0 install bundler
+ libsasl2-dev imagemagick libffi-dev
+sudo gem2.3 install bundler
```
### Alternative platforms
libxml2-devel js \
gcc gcc-c++ git \
postgresql postgresql-server postgresql-contrib postgresql-devel \
- perl-podlators ImageMagick
+ perl-podlators ImageMagick libffi-devel
```
If you didn't already have PostgreSQL installed then create a PostgreSQL instance and start the server:
Installing PostgreSQL:
-* Install Postgres.app from http://postgresapp.com/
+* Install Postgres.app from https://postgresapp.com/
* Add PostgreSQL to your path, by editing your profile:
`nano ~/.profile`
Installing other dependencies:
-* Install Homebrew from http://mxcl.github.io/homebrew/
-* Install the latest version of Ruby: brew install ruby
-* Install ImageMagick: brew install imagemagick
-* Install Bundler: gem install bundler
+* Install Homebrew from https://brew.sh/
+* Install the latest version of Ruby: `brew install ruby`
+* Install ImageMagick: `brew install imagemagick`
+* Install libxml2: `brew install libxml2 --with-xml2-config`
+* If you want to run the tests, you need `phantomjs` as well: `brew install phantomjs`
+* Install Bundler: `gem install bundler`
Note that OS X does not have a /home directory by default, so if you are using the GPX functions, you will need to change the directories specified in config/application.yml.
### PostgreSQL account setup
-We need to create a PostgreSQL role (i.e. user account) for your current user, and it needs to be a superuser so that we can create more database.
+We need to create a PostgreSQL role (i.e. user account) for your current user, and it needs to be a superuser so that we can create more databases.
```
sudo -u postgres -i