Skip to content

Instantly share code, notes, and snippets.

@jmealo
Forked from djq/gist:2846196
Last active December 14, 2015 03:39
Show Gist options
  • Save jmealo/5022473 to your computer and use it in GitHub Desktop.
Save jmealo/5022473 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# Install Postgres 9.1, PostGIS 2.0 and pgRouting on a clean Ubuntu 12.04 install (64 bit)
# updated to PostGIS 2.0.1
# add the ubuntu gis ppa
sudo apt-get -y install python-software-properties
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
# the big list of apt dependencies to check we have installed
sudo apt-get -y install postgis postgresql-9.1 postgresql-server-dev-9.1 postgresql-contrib-9.1 postgis gdal-bin binutils libgeos-c1 libgeos-dev libgdal1-dev libxml2 libxml2-dev libxml2-dev checkinstall libproj-dev libpq-dev
# install the json-c library
sudo apt-get install libjson0 libjson0-dev
# need to install most recent GEOS version for topology support
wget http://download.osgeo.org/geos/geos-3.3.4.tar.bz2
tar -jxvf geos-3.3.4.tar.bz2
cd geos-3.3.4
sudo ./configure && sudo make
#
sudo mkdir -p '/usr/share/postgresql/9.1/contrib/postgis-2.0.1'
# fetch, compile and install PostGIS
wget http://postgis.refractions.net/download/postgis-2.0.1.tar.gz
tar zxvf postgis-2.0.1.tar.gz && cd postgis-2.0.1/
./configure --with-raster --with-topology
make
sudo make install
## pgrouting - Add pgRouting launchpad repository
sudo add-apt-repository ppa:georepublic/pgrouting
sudo apt-get update
# Install pgRouting packages
sudo apt-get install gaul-devel \
postgresql-9.1-pgrouting \
postgresql-9.1-pgrouting-dd \
postgresql-9.1-pgrouting-tsp
# Install osm2pgrouting package
sudo apt-get install osm2pgrouting
# Install workshop material (optional)
sudo apt-get install pgrouting-workshop
# create a table called 'routing'
sudo su postgres
createdb routing
# add PostGIS functions (version 2.x) to 'routing'
psql -d routing -c "CREATE EXTENSION postgis;"
# add pgRouting core functions to 'routing'
psql -d routing -f /usr/share/postlbs/routing_core.sql
psql -d routing -f /usr/share/postlbs/routing_core_wrappers.sql
psql -d routing -f /usr/share/postlbs/routing_topology.sql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment