Version 3 (modified by 13 years ago) ( diff ) | ,
---|
How to install PostGIS 2.0 on Ubuntu 11.10 (oneiric) from source
Prerequisites
Several components are needed, which can either be built from source or installed from pre-built packages, as shown below.
Install prerequisite packages using:
sudo apt-get install build-essential postgresql-9.1 postgresql-server-dev-9.1 libxml2-dev proj libjson0-dev
Optional package for raster support:
sudo apt-get install libgdal-dev
Optional packages for testing PostGIS:
sudo apt-get install libcunit1-dev
Optional packages for building documentation:
sudo apt-get install xsltproc docbook-xsl docbook-mathml imagemagick
(for building PDF documentation, add dblatex
, but expect a large download)
Build GEOS 3.3.x
PostGIS 2.0 requires GEOS >= 3.3.2 for topology support, however Ubuntu 11.10 only has GEOS 3.2.2 available in packages, so it needs to be built from source. If you don't need topology, you don't need to build this component, but it is highly recommended.
There are multiple ways to build GEOS, but this is the simplest:
wget http://download.osgeo.org/geos/geos-3.3.2.tar.bz2 tar xvfj geos-3.3.2.tar.bz2 cd geos-3.3.2 ./configure make sudo make install cd ..
Build PostGIS
wget http://postgis.refractions.net/download/postgis-2.0.0beta4.tar.gz tar xfvz postgis-2.0.0beta4.tar.gz cd postgis-2.0.0beta4
PostGIS 2.0 can be configured to disable topology or raster extensions, using the configure flags --without-raster
and --without-topology
. The default is to build both extensions:
./configure make sudo make install sudo ldconfig sudo make comments-install
Lastly, enable the command-line tools to work from your shell:
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql
Template
Complete a post-install by creating a template, which can be re-used for creating multiple spatially-enabled databases. Or if you just want to make one spatially enabled database, you can modify the commands for your needs.
sudo -u postgres createdb template_postgis sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis.sql sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/spatial_ref_sys.sql sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis_comments.sql
Enable raster extension
Adding on to template_postgis
:
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/rtpostgis.sql sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/raster_comments.sql
Enable topology extension
Adding on to template_postgis
:
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology.sql sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology_comments.sql