Mar
31
Install PostGIS
Filed Under FreeBSD, PostGIS | 11 Comments
Sekarang bagian dimana kita akan menginstall PostGIS sebagai media penyimpanan data kita menggunakan PostgreSQL database server. Mengapa PostgreSQL? Kenapa gak menggunakan MySQL yang notabene sudah biasa digunakan?
Pertama, saranku adalah jalan2 ke OpenGIS. Dari perkembangan awal Open Geospatial Consortium dibentuk, postgre dev-team menjadi salah satu pembentuk OGC standarisasi untuk pembentuk data geometri dalam database. Oracle kemudian berkontribusi semenjak merilis versi open database-nya Oracle 10g dan MySQL baru dapat mengimplementasikan pada versi 5.0. Tipe data geometri (wkb/wkt) yang dirilis mysql5 ini juga awalnya kurang disetujui oleh OGC karena tidak memenuhi standarisasi yang telah ditetapkan. Sebelum unsubscribe dari milis PostGIS, versi awal MySQL5 ini juga banyak dikritik oleh dev-team nya PostGIS dan belum layak disertakan dan disebut MyGIS. Mereka bahkan mengejek bahwa mysql belum dapat dikatakan sebagai true database dan jangan malu-malu kalau memang butuh bantuan untuk developnya. Saat ini kurang tahu juga perkembangannya tapi sepertinya sudah dapat diterima masyarakat GIS sendiri walaupun rata-rata masih menggunakan modul OGR/TAB yang diberikan GDAL menggunakan koneksi ODBC. Bagi yang sudah terbiasa menggunakan phpMyAdmin, tentu tidak akan menemukan tipe data geometri ini. tapi kalau Anda memasukkan tipe geometry akan diterima oleh mysql (yang tentu saja harus sesuai dengan standarisasi pembentukan data geometri ini).
Instalasi ini akan kita bagi menjadi 3: Instalasi PostgreSQL, Instalasi PostGIS dan Pembuatan Template PostGIS. Tidak lupa juga disertakan satu contoh untuk memasukkan data geometri ke dalam postgresql server. Dan lagi-lagi dilakukan di lingkungan FreeBSD ya. Soalnya bego kalau pakai yang laen ![]()
1. Instalasi PostgreSQL
Sangat disarankan untuk menggunakan postgesql 8.1 ke atas karena sudah lebih stabil dan standarisasi bentuk geometri telah ditetapkan. untuk versi 7.8 - 8.0.0 mempunyai bentuk masing-masing yang berbeda dan akan menyulitkan apabila terjadi pemindahan data (backup - upload) dari satu server ke server lain.
cd /usr/ports/databases/postgresql81-server && make install clean echo 'postgresql_enable="YES"'>> /etc/rc.conf echo 'postgresql_data="/usr/local/pgsql/data"'>> /etc/rc.conf echo 'postgresql_flags="-w -s -m fast"'>> /etc/rc.conf /usr/local/bin/initdb -D /usr/local/pgsql/data # pastikan semua direktori data dimiliki oleh user pgsql (ato postgres) chown -R pgsql : pgsql /usr/local/pgsql # edit konfigurasi untuk server Anda sesuai dengan kebutuhan ( postgresql.conf ) edit /usr/local/pgsql/data/postgresql.conf -- listen_addresses = 'localhost' # diaktifkan (uncomment) dan isi dengan -- listen_addresses = '*' # agar bisa konek dari alamat lain atau tinggalkan terkomen (default) # bila hanya localhost yang dapat melakukan koneksi (untuk keamanan) # edit konfigurasi untuk autentikasi user ( pg_hba.conf ) # secara default, koneksi dari localhost dibebaskan (tanpa password) # tentu ini sangat berbahaya untuk keamanan edit /usr/local/pgsql/data/pg_hba.conf # pada paling bawah cari bagian trust ganti dengan password # # TYPE DATABASE USER CIDR-ADDRESS METHOD # # "local" is for Unix domain socket connections only # local all all password # # IPv4 local connections: # host all all 127.0.0.1/32 password # # IPv6 local connections: # host all all ::1/128 password # Start PostgreSQL /usr/local/etc/rc.d/postgresql start
Selesai
2. Instalasi PostGIS
Ini bisa kita lakukan lewat port ataupun secara manual. Disarankan lewat cara manual karena ini bukan system library yang dibutuhkan program lain untuk berjalan dan lebih up-to-date tapi biar mudah kita install lewat port aja.
cd /usr/ports/databases/postgis && make install clean # semua diinstall di /usr/local/share/postgis (lwpostgis.sql, spatial_ref_sys.sql, ...)
3. Template PostGIS
Menggunakan PostGIS pada database sebenarnya agak merepotkan admin (root) karena membutuhkan superuser
postgresql untuk setting plpgsql dan memasukkan fungsi-fungsi-nya lewat data sql (lwpostgis.sql & spatial_ref_sys.sql)
Cara ini bisa kutuliskan sebagai berikut (menggunakan user eric):
$eric~> createdb jalan -W $eric~> psql -U pgsql -d roads -f lwpostgis.sql -W $eric~> psql -U pgsql -d roads -f spatial_ref_sys.sql -W $eric~> psql -U postgres -d roads -W psql> ALTER TABLE geometry_columns OWNER TO eric; psql> ALTER TABLE spatial_ref_sys OWNER TO eric;
Bandingkan dengan cara ini :
$eric~> createdb jalan -W -T template_postgis
Lebih simpel mana? ![]()
Sekarang kita buat template_postgis agar semua user bisa membuat database menggunakan template ini.
Cara ini diperoleh dari milis postgis oleh GeoLabs
$pgsql~> psql template1
\c template1 CREATE DATABASE template_postgis WITH template = template1; UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis'; \c template_postgis CREATE LANGUAGE plpgsql ; \i /usr/LOCAL/share/postgis/lwpostgis.sql; \i /usr/LOCAL/share/postgis/spatial_ref_sys.sql; GRANT ALL ON geometry_columns TO PUBLIC; GRANT ALL ON spatial_ref_sys TO PUBLIC; VACUUM FREEZE;
Sekarang semua user bisa membuat database gis sendiri lengkap dengan fungsi-fungsi geometri dengan mudah.
Oke, segitu aja. Kalau ada pertanyaan tulis di komen ato lewat email.
Yeahhh…. PostGIS rocks!!!
Mar
30
Installing Mapserver di FreeBSD
Filed Under FreeBSD, MapServer | 6 Comments
Ini dokumen lama yang (untungnya) ketemu lagi.
Jadi untuk beberapa postingan ke depan kayaknya hanya jurnaling dokumen2 lama yang gak sempat dicatat dalam web (namanya juga weblog
). Kali ini dokumentasi nginstall mapserver di FreeBSD. Untuk library yang diperlukan kita install leat port sedangkan untuk mapservernya sendiri kita install secara manual karena kalau lewat port, faktor depedensi library akan menyebabkan makan space harddisk yang sangat besar.
Mudah-mudahan semuanya sudah bisa menginstall lewat port. Kalau belum bisa dilihat di Install lewat port FreeBSD di halaman lainnya. Hanya saja kalau untuk dukungan php/mapscript, kita perlu PHP cgi mode dengan regex library dari system, bukan yang bundle. Oke, ini dia caranya:
- Install library yang diperlukan dulu ya
- Graphic lib (/usr/ports/graphics/) GD, PNG, JPEG, xpm
- Projection library (/usr/ports/graphics/proj)
- Geospatial lib — GDAL (/usr/ports/graphics/gdal)
Untuk lebih singkatnya sebenarnya install proj dan gdal saja lewat port sudah cukup karena akan ‘memuaskan’ kebutuhannya sendiri.
- Install Apache (dan MySQL — optional) dengan cara yang sama
- Install PostgreSQL (disarankan versi 8.1 ke atas) untuk support PostGIS
akan dijelaskan di posting selanjutnya ya - Install PHP-CGI
Sewaktu catatan yang lama ditulis, mapserver belum support PHP5 tapi karena sekarang sudah mendukung, kita install PHP5-CGI saja.# cd /usr/ports/www/php5-cgi # setenv WITH_REGEX_TYPE "system" # make install clean # echo 'AddType application/x-httpd-php-cgi .php .php3 .php4 .php5 .phtml' >> /usr/local/etc/apache2/httpd.conf # echo 'Action application/x-httpd-php-cgi /cgi-bin/php' >> /usr/local/etc/apache2/httpd.confPastikan pada direktori cgi-bin sudah ada php atau bila php-cgi, ganti dengan /cgi-bin/php-cgi pada baris terakhir perintah di atas
- Install Mapserver
Unduh mapserver dan simpan (misalnya) pada /usr/src. Saat tulisan ini dibuat terdapat versi 4.10.1 dan saya simpan sebagai /usr/src/mapserver-4.10.1.tar.gz# cd /usr/src && tar zxvf mapserver-4.10.1.tar.gz # cd /usr/src/mapserver-4.10.1 // konfigurasi: gunakan ./configure -–help untuk melihat lebih lengkap // ini konfigurasiku # ./configure –-with-gd=/usr/local –-with-wfs –-with-wcs –-with-wmsclient –-with-wfsclient -–with-sos –-with-php=/usr/local/include/php –-with-mygis –-with-postgis –-with-eppl –-with-pdf –-with-proj=/usr/local –-with-geos=/usr/local/bin/geos-config –-with-gdal=/usr/local/bin/gdal-config -–with-ogr=/usr/local/bin/gdal-config // pastikan mode grafik yang diinginkan sudah masuk: // using GD ( -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG // -DUSE_GD_WBMP -DUSE_GD_FT // -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS) // dan php menggunakan regex dari system // checking whether we should use PHP’s regex… no // PHP/MapScript module configured. # make // cek hasil kompilasi Anda # mapserv -v // MapServer LontongCorp v4.10.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG // OUTPUT=WBMP OUTPUT=PDF OUTPUT=SVG SUPPORTS=PROJ // SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT // SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER // SUPPORTS=SOS_SERVER INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL // INPUT=MYGIS INPUT=SHAPEFILE // bila sudah seperti di atas (tentu saja tanpa LontongCorp) // berarti mapserver kita siap digunakan // salin hasil eksekusi ke cgi-bin apache // (/usr/local/www/cgi-bin atau lainnya sesuai konfigurasi httpd.conf Anda) # cp mapserv /usr/local/www/cgi-bin/ # cp legend /usr/local/www/cgi-bin/ # cp msencrypt /usr/local/www/cgi-bin/ # cp shp2img /usr/local/www/cgi-bin/ # cp shp2mysql.pl /usr/local/www/cgi-bin/ # cp shp2pdf /usr/local/www/cgi-bin/ # cp shptree /usr/local/www/cgi-bin/ # cp shptreetst /usr/local/www/cgi-bin/ # cp shptreevis /usr/local/www/cgi-bin/ # cp sortshp /usr/local/www/cgi-bin/ # cp tile4ms /usr/local/www/cgi-bin/ // salin module php/mapscript (php_mapscript.so) ke folder extension php // (lihat di php.ini) # cp mapscript/php3/php_mapscript.so /usr/local/lib/php/extensions/ - Restart apache Anda dan jalankan program test (gunakan demo peta ITASCA) yang disediakan oleh mapserver (unduh terpisah)
Hanya begitu saja.
Selesai
Mar
19
Install lewat port FreeBSD
Filed Under FreeBSD, Server | 8 Comments
Gini bleh, Pas nginstall pertama (ato sysinstall) kan ada pilihan untuk distribusi ports. centang aja brur. klo lewat cd-nya mode minimal aja yang penting lengkap dengan ports dan src/sys (klo mo ngompail kernel juga — ntar aku kasi tau di laen post ato cari sendiri
).
Yang pertama, ubah dulu make.conf di /etc ato di /usr/local/etc trus install cvsup-without-gui dengan ports-tools.
- edit make.conf
ee /etc/make.conf # cari bagian (ato ketik aja) MASTER_SITE_OVERRIDE isi dengan MASTER_SITE_OVERRIDE?= ftp://ftp.itb.ac.id/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ # trus klo yang mode http perlu pake proxy kan, cari (ato ketik juga) kayak gini: HTTP_PROXY = 167.205.22.105:8080 HTTP_AUTH_PROXY = {username}:{password}
- install cvsup-without-gui
cd /usr/ports/net/cvsup-without-gui/ && make install clean /usr/local/bin/cvsup -L 2 -h cvsup.id.FreeBSD.org /usr/share/examples/cvsup/ports-supfile # ato copy : cp /usr/share/examples/cvsup/ports-supfile /root/ports-supfile # dan ubah bagian *default host=cvsup.id.FreeBSD.org trus jalanin dengan perintah /usr/local/bin/cvsup -L 2 /root/ports-supfile
- install ports-tools
cd /usr/ports/sysutils/portmanager && make install clean cd /usr/ports/sysutils/portupgrade && make install clean
- update ports database dan upgrade
/usr/local/sbin/portsdb -Uu && /usr/local/sbin/portupgrade -arR
- bersihin distfiles yang gak perlu lagi
/usr/local/sbin/portsclean -DD
nah agak2 lama tuh, jadi bisa lu tinggal makan, maen game ato ngapain lah asal jangan keterusan
Sekarang tinggal nginstall paketnya kan. Di port FreeBSD itu digolongkan dalam kategori-nya. klo gak tau letaknya bisa coba2 ketik perintah:
whereis php5 (misalnya neh) php5: /usr/ports/lang/php5
lu kan tinggal kasih perintah :
cd /usr/ports/lang/php5 && make install clean
Ya okelah, sekarang kukasih contoh untuk install Apache+PHP+MySQL
- MySQL ajalah dulu ya (yang 5.1 biar support type geometry)
cd /usr/ports/databases/mysql51-server && make install clean /usr/local/bin/mysql_install_db chown -R mysql:mysql /var/db/mysql /usr/local/bin/mysqld_safe & /usr/local/bin/mysqladmin -u root password "password-root-mysql" /usr/local/bin/mysqladmin -u root -h nama.host.server.lu password "password-root-mysql" echo 'mysql_enable="YES"' >> /etc/rc.conf
- Sekarang Apache (apache22 aja lu bilang biar gaul wuehehehehe….)
cd /usr/ports/www/apache22 && make install clean ee /usr/local/etc/apache22/httpd.conf (edit sesuai keinginan lu deh) echo 'apache22_enable="YES"' >> /etc/rc.conf
- Install PHP (php5?)
cd /usr/ports/lang/php5 && make install clean echo 'AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml' >> /usr/local/etc/apache22/httpd.conf echo 'AddType application/x-httpd-php-source .phps' >> /usr/local/etc/apache22/httpd.conf
- Install extension-nya PHP
cd /usr/ports/lang/php5-extensions && make install clean
- Install Zend Optimizer
cd /usr/ports/devel/ZendOptimizer && make install clean
Udah beres deh. Tinggal ngetest aja. Untuk pertama kali jalanin apache-nya pake perintah:
/usr/local/etc/rc.d/apache22 start
selanjutnya gak usah lagi soalnya tadi service apache kita udah kita aktifin di /etc/rc.conf. Udah ngerti, coy? Oya, kalo mo uninstall pake perintah make deinstall di folder paket-nya. Gimana?