Halo, kali ini saya akan berbagi pengalaman tentang installasi PostGis pada server berbasis linux CentOS 6.3. Tidak seperti biasanya dimana server yang saya manage selalu menggunakan cpanel, kali ini server hanya OS saja karena akan diperuntukan untuk server Web GIS. Berikut langkah mudah installasi postgres dan postgis :

* Bikin Repo
1. Login ssh dan masuk ke /etc/yum.repos.d
2. Buat repo baru, misalnya postgis.repo kemudian isikan :

[pgdg90]
name=PostgreSQL 9.0 $releasever - $basearch
baseurl=http://yum.pgrpms.org/9.0/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
[pgdg90-source]
name=PostgreSQL 9.0 $releasever - $basearch - Source
failovermethod=priority
baseurl=http://yum.pgrpms.org/srpms/9.0/redhat/rhel-$releasever-$basearch
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

3. Jika sudah jalankan command yum update

* Installasi

Langkah selanjutnya kita lakukan installasi PostGRES server, PostGIS, GEOS and PROJ

[root@server yum.repos.d]# yum install postgresql90-contrib postgresql90-docs  postgresql90-devel postgis90 postgis90-utils postgis90-docs postgresql90-server proj-devel geos-devel

Start service dengan command

service postgresql-9.0 initdb
service postgresql-9.0 start

* Database Template

root@server yum.repos.d]# su - postgres
-bash-4.1$ createdb -E UTF8 -T template0 postgis_template
-bash-4.1$  createlang -d postgis_template plpgsql
-bash-4.1$  psql -d postgis_template -f  /usr/pgsql-9.0/share/contrib/postgis-1.5/postgis.sql
-bash-4.1$  psql -d postgis_template -f  /usr/pgsql-9.0/share/contrib/postgis-1.5/spatial_ref_sys.sql
-bash-4.1$  psql -d postgis_template -c "GRANT ALL ON geometry_columns TO PUBLIC;"
-bash-4.1$  psql -d postgis_template -c "GRANT ALL ON geography_columns TO PUBLIC;"
-bash-4.1$  psql -d postgis_template -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
-bash-4.1$  psql -d postgis_template -c "VACUUM FULL;"
-bash-4.1$  psql -d postgis_template -c "VACUUM FREEZE;"
-bash-4.1$  psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='postgis_template';"
-bash-4.1$  psql -d postgres -c "UPDATE pg_database SET datallowconn='false' WHERE datname='postgis_template';"

* Membuat PostGRES dengan database postgis_template

-bash-4.1$ su - postgres
-bash-4.1$ psql -Upostgres

-bash-4.1$ create role owner with createdb createrole login;
-bash-4.1$ create dbnya db with owner=owner template=postgis_template;