PostgreSQL
From WickyWiki
Install PostgreSQL
sudo apt-get install postgresql
Configure authentication method:
sudo gedit /etc/postgresql/8.4/main/pg_hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD local all all trust #Localhost
Assign password to user 'postgres':
sudo passwd postgres
Password: <root pwd> Enter new UNIX password: **-postgres-pwd-** Retype new UNIX password: **-postgres-pwd-**
Start SQL prompt:
sudo su postgres -c "psql" Password: **-root-pwd-**
psql
Configure password for user 'postgres' in PostgreSQL:
ALTER USER postgres WITH PASSWORD '**-postgres-pwd-**'; \q
Install GUI: pgAdmin III
sudo apt-get install pgadmin3 pgadmin3
Connection:
- Host: localhost
- User: postgres
- Password: **-postgres-pwd-**
PostGIS
Install
- http://biodivertido.blogspot.com/2009/10/install-postgresql-84-and-postgis-140.html
- http://www.paolocorti.net/2008/01/30/installing-postgis-on-ubuntu/
sudo apt-get install postgresql-8.4-postgis postgis
Create a PostGIS database template
sudo su postgres createdb postgistemplate createlang plpgsql postgistemplate psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis.sql psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql
PostGIS Viewer (didn't work)
Install
Install Python Qt:
sudo apt-get install python-qt4
Install Python Quantum-GIS:
X sudo apt-get install python-software-properties X sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable X sudo apt-get install qgis X sudo apt-get install python-qgis
sudo gedit /etc/apt/sources.list
... #qgis deb http://qgis.org/debian lucid main deb-src http://qgis.org/debian lucid main ...
sudo apt-get update sudo apt-get install qgis sudo apt-get install python-qgis
Download viewer:
Extract postgis_viewer.zip to /usr/bin/.
sudo unzip postgis_viewer.zip -d /usr/bin/ sudo chmod 755 /usr/bin/postgis_viewer/ -R sudo ln /usr/bin/postgis_viewer/postgis_viewer.py /usr/bin/postgis_viewer.py
Start viewer:
postgis_viewer.py -h localhost -U postgres -W postgres -s public -t "vpand2" -d "postgistemplate"
pgAdmin plugin
sudo gedit /usr/share/pgadmin3/plugins.ini
Title=View PostGIS layer Command=$$PGBINDIR/postgis_viewer/postgis_viewer.py -h $$HOSTNAME -p $$PORT -U $$USERNAME -W $$PASSWORD -d $$DATABASE -s $$SCHEMA -t $$OBJECTNAME Description=View PostGIS layer Platform=unix ServerType=postgresql Database=Yes SetPassword=Yes
ESRI shapefile to Postgres Script
#! /bin/bash BASENAME="vpand2" DBNAME="postgistemplate" DBUSER="postgres" SRID="28992" #create script: shp2pgsql [<options>] <shapefile> [<schema>.]<table> shp2pgsql -s $SRID "$BASENAME.shp" "$BASENAME" > "import-$DBNAME-$BASENAME.sql" #execute echo Type $DBUSER password and press enter: su $DBUSER -c "psql $DBNAME -f \"import-$DBNAME-$BASENAME.sql\"" &> "import-$DBNAME-$BASENAME.log" #view postgis_viewer.py -h localhost -U postgres -W **-postgres-pwd-** -s public -t $BASENAME -d $DBNAME
GeoServer
Install
Download, install and copy files:
sudo apt-get install gdal-bin openjdk-6-jdk openjdk-6-jre python-gdal unzip cd ~ wget http://downloads.sourceforge.net/geoserver/geoserver-2.1.3-bin.zip sudo mkdir /opt cd /opt sudo unzip ~/geoserver-2.1.3-bin.zip sudo ln -s /opt/geoserver-2.1.3 /opt/geoserver
Add the user under which the GeoServer service will run:
sudo addgroup --system geoserver sudo adduser --system --ingroup geoserver --no-create-home --disabled-password geoserver
Configure service
sudo gedit /etc/default/geoserver
GEOSERVER_DATA_DIR=/opt/geoserver/data_dir GEOSERVER_HOME=/opt/geoserver JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk DAEMON="$JAVA_HOME/bin/java" JAVA_OPTS="-Xms128m -Xmx512m -server"
Service startup script:
cd /opt/geoserver/bin sudo wget -O initd.sh http://docs.geoserver.org/latest/en/user/_downloads/geoserver_deb sudo ln -s /opt/geoserver/bin/initd.sh /etc/init.d/geoserver sudo chmod +x ./initd.sh
sudo gedit /etc/init.d/geoserver
A minor change:
Change # Default-Stop: S 0 1 6 to # Default-Stop: 0 1 6
Configure logfiles
sudo chown -R geoserver:geoserver /opt/geoserver-2.1.3/ sudo mkdir /opt/geoserver/webapps/geoserver/data sudo mkdir /opt/geoserver/webapps/geoserver/data/logs sudo chown geoserver:geoserver /opt/geoserver/webapps/geoserver/data/logs/
Start GeoServer
sudo /etc/init.d/geoserver start
Open admin page:
Login with admin, the default password is 'geoserver'. You may want to change that.
Trouble shooting
GeoServer process:
ps aux | grep java
5487 ? Sl 0:21 /usr/lib/jvm/java-1.6.0-openjdk/bin/java -Xms128m -Xmx512m -server -DGEOSERVER_DATA_DIR=/opt/geoserver/data_dir -Djava.awt.headless=true -jar start.jar
GeoServer listener ports:
sudo lsof | grep TCP | grep geoserver
java 5487 geoserver 237u IPv6 20420 0t0 TCP *:46378 (LISTEN) java 5487 geoserver 249u IPv6 20435 0t0 TCP *:http-alt (LISTEN)