Posts Tagged ‘freebsd

21
Jan
13

Instalasi PostgreSQL dan PostGIS secara tradisional (compile langsung dari tarball) di FreeBSD

 

Latar belakang

Sebenernya dalam kondisi normal, instalasi di mesin FreeBSD bisa dilakukan dengan mudah via ports (make install). Tapi apa daya, untuk kondisi tidak normal yang saya alami ini mengharuskan saya menggunakan cara tradisional. Kondisi tidak normal yang saya maksud ini adalah server yang hendak saya install tidak terkoneksi ke internet. Walaupun sebenernya bisa diakali dengan cara download source postgresql dan simpan ke folder /usr/ports/distfiles/postgresql, kemudian jalankan make install kembali. Tetapi, sialnya server yang ini tidak mau diajak bekerja sama. Dia diam seribu bahasa berjam-jam tanpa memberitahukan kabar apakah sedang memproses atau hang. Akhirnya saya Ctrl+C saja daripada menanti ketidakpastian (cowo juga harus gitu ya klo lagi deketin cewe, daripada menanti ketidakpastian… #lohkoqcurcol Surprised smile ).

 

Tahapan Instasi

Oke, kita langsung saja, sebelum masuk ke proses instalasi, diharapkan pada mesin yang bersangkutan sudah terintall sbb:

portaudit-0.5.17
portmaster-3.6.1

gmake-3.81_3 
gettext-0.17_1
libiconv-1.13.1_1
libtool-2.2.6b
perl-threaded-5.10.1_3
libxml2-2.7.7
libxslt-1.1.26_2

 

Oya, versi yang saya install adalah PostgreSQL 8.4.9 dan PostGIS 1.5.8 di mesin FreeBSD 7.3. Untuk versi lain seharusnya tidak banyak perubahan, tetapi pastikan Anda membaca dokumentasinya terlebih dahulu agar lebih yakin. Smile

 

PostgreSQL 8.4.9

Pertama-tama login terlebih dahulu ke server, buat direktori untuk menampung file source, download file postgresql-8.4.9.tar.gz di http://www.postgresql.org/ftp/source/v8.4.9/ kemudian simpan di folder tsb. Kurang lebih tahapannya sebagi berikut:

> mkdir /usr/home/admin/download/
> cd /usr/home/admin/download/
> wget
http://ftp.postgresql.org/pub/source/v8.4.9/postgresql-8.4.9.tar.gz 
> tar xzvf postgresql-8.4.9.tar.gz
> su root
> cdpostgresql-8.4.9
> ./configure \
–prefix=/usr/local \
–bindir=/usr/local/bin \
–sysconfdir=/usr/local/etc \
–libdir=/usr/local/lib/postgresql \
–enable-nls \
–with-perl \
–with-openssl \
–with-libxml \
–with-libxslt \
–with-segsize=4 \
–enable-thread-safety \
–with-system-tzdata=/usr/share/zoneinfo \
CFLAGS=’-O2 -pipe’

*siapkan cemilan yang banyak, lumayan nih nunggunya…*

Setelah selesai, lanjut perintah ini:

> gmake

*lumayan lama juga, semoga cemilannya masih tersisa…*

Setelah selesai, lanjutkan juga ini:

> gmake install

 

Setelah semuanya selesai, lanjutkan dengan membuat grup & user postgres khusus untuk menjalankan service postgresql sbb:

> pw groupadd postgres
> pw user add postgres -d /usr/home/postgres -s /usr/local/bin/bash -m
> pw user mod postgres -w postgres

Kemudian buatlah folder data untuk menyimpan database sbb (lokasi bisa disesuaikan dengan kebutuhan & selera Anda):

> mkdir /usr/home/postgres/data
> chown postgres /usr/home/postgres/data

Lanjutkan dengan konfigurasi PostgreSQL sbb:

> su postgres
> echo ‘postgresql_enable="YES"’>> /etc/rc.conf
> echo ‘postgresql_data="/usr/home/postgres/data"’>> /etc/rc.conf
> echo ‘postgresql_flags="-w -s -m fast"’>> /etc/rc.conf
> initdb -D /usr/home/postgres/data -E utf8

Pastikan semua direktori data dimiliki oleh user postgres :

> chown -R pgsql : pgsql /usr/home/postgresql

Edit konfigurasi untuk server Anda sesuai dengan kebutuhan ( postgresql.conf ) :

> edit /usr/home/postgresql/data/postgresql.conf

Cari baris ini:

#listen_addresses = ‘localhost’

Jika Anda ingin database PostgreSQL dapat diakses dari mesin lain, silahkan uncomment baris tersebut dengan cara mengeditnya jadi sbb:

listen_addresses = ‘*’

Atau biarkan saja (default) bila Anda ingin hanya localhost saja yang dapat melakukan koneksi (untuk alasan keamanan).

Secara default, koneksi dari localhost dibebaskan tanpa password. Tentu saja ini akan sangat berbahaya untuk keamanan, oleh karena itu silahkan edit konfigurasi untuk autentikasi user ( pg_hba.conf ) sbb:

> edit /usr/home/postgresql/data/pg_hba.conf

Pada bagian paling bawah, cari bagian “trust”, kemudian ganti dengan “password

Selanjutnya jalankan PostgreSQL sbb:

> /usr/local/bin/postmaster -D /usr/home/postgres/data

Jika tidak ada pesan error apapun, berarti Anda sudah berhasil melakukan instalasinya. Winking smile

 

PostGIS 1.5.8

Sekarang, lanjutkan dengan instalasi PostGIS 1.5.8 sebagai berikut:

> cd /usr/home/admin/download/
> wget
http://download.osgeo.org/postgis/source/postgis-1.5.8.tar.gz
> tar xzvf postgis-1.5.8.tar.gz
> cd postgis-1.5.8
> ./configure –with-libiconv=/usr/local –with-projdir=/usr/local
> make install

*siapin cemilan juga ya, lumayan nih pas “configure”-nya… *

Setelah selesai, untuk menguji instalasi Anda berjalan normal, silahkan dites untuk membuat database bernama "jalan" sbb (copas dari http://www.lontongcorp.com/2007/03/31/install-postgis) :

> createdb jalan -W -T template_postgis

CATATAN: Kalau ternyata muncul pesan error yang menyatakan "template_postgis" belum tersedia, silahkan lakukan langkah2 berikut ini untuk membuatnya:

> su -l postgres
> createdb template_postgis
> createlang plpgsql template_postgis
> psql -d template_postgis -f /usr/local/share/postgresql/contrib/postgis-1.5/postgis.sql
> psql -d template_postgis -f /usr/local/share/postgresql/contrib/postgis-1.5/spatial_ref_sys.sql

Setelah itu, silahkan coba lagi buat database "jalan" di atas.

Selamat mencoba. Winking smile

 

Referensi




arioss

Arsip

Blog Stats

  • 94.034 hits

RSS Fokus ITB

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.