<mx:Blog title="{lontong}" />

PostGIS Dynamic Input Dengan Mapserver CGI Mode

Pada script .map Anda, mungkin menggunakan koneksi PostGIS untuk mengakses data dan geometry. Pertanyaan yang muncul, bagaimana pada data yang ingin kita tampilkan bersifat dinamis. Misalnya saja untuk klasifikasi peta dalam NQuery Mode ataupun layer khusus yang menampilkan data dengan masukan (input) dari website.
Salah satu koneksi statis menampilkan data pada salah satu layer misalnya seperti ini:

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=bandung user=eric password=password"
DATA "the_geom from bandung"


Sekarang kita ingin menambah satu layer lagi dengan klasifikasi kepadatan penduduk satu daerah kecamatan yang lebih dari 50rb orang. Kita tentu membuat kondisi khusus seperti ini:

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=bandung user=eric password=password"
DATA "the_geom from bandung WHERE 'POPULASI' >= 50"

Atau menggunakan beberapa klasifikasi dengan pewarnaan yang berbeda:

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=bandung user=eric password=password"
DATA "the_geom from bandung"
CLASSITEM 'POPULASI'
     CLASS
       NAME 'Populasi Rendah'
       EXPRESSION ([POPULASI] >= 0 AND [POPULASI] < 50)
       COLOR 255 0 0
       OUTLINECOLOR 0 0 0
     END
     CLASS
       NAME 'Populasi Sedang'
       EXPRESSION ([POPULASI] >= 50 AND [POPULASI] < 200)
       COLOR 255 255 0
       OUTLINECOLOR 0 0 0
     END
     CLASS
       NAME 'Populasi Tinggi'
       EXPRESSION ([POPULASI] >= 200)
       COLOR 0 255 0
       OUTLINECOLOR 0 0 0
     END
 END

Lebih ke depan, setelah mempelajari dan menerapkan fungsi routing dijkstra, kita ingin menampilkan source_id dan target_id yang dinamis:

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=roads user=routing password=password"
DATA "the_geom from (SELECT gid, the_geom from
         shortest_path_as_geometry('route', 1, 4567))
         as route using unique gid using srid=-1"

Ganti angka 1 dan 4567 berdasarkan masukan. Katakan saja variabel srcID dan trgID.
Ganti saja parameter kondisi dengan suatu variabel. Contoh untuk kasus routing misalnya titik awal routing diberi variabel srcID dan titik tujuan diberi variabel trgID. Ubah sintaks di mapfile menjadi:

CONNECTIONTYPE postgis
CONNECTION "host=localhost dbname=roads user=routing password=password"
DATA "the_geom from (
         SELECT gid, the_geom from
                      shortest_path_as_geometry('route', %srcID%,%trgID%)
         ) as route using unique gid using srid=-1"

Dan jangan lupa pada template html dimasukkan variabel srcID dan trgID:

 <input type="hidden" value="[srcID]" name="srcID" />
 <input type="hidden" value="[trgID]" name="trgID" />

Metoda ini sangat simpel dan dapat dikembangkan misalnya dengan menggunakan javascript.

Selamat Mencoba


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!!!


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 :D ). 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:

  1. 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.

  2. Install Apache (dan MySQL — optional) dengan cara yang sama
  3. Install PostgreSQL (disarankan versi 8.1 ke atas) untuk support PostGIS
    akan dijelaskan di posting selanjutnya ya
  4. 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.conf
    

    Pastikan pada direktori cgi-bin sudah ada php atau bila php-cgi, ganti dengan /cgi-bin/php-cgi pada baris terakhir perintah di atas

  5. 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/
    
  6. Restart apache Anda dan jalankan program test (gunakan demo peta ITASCA) yang disediakan oleh mapserver (unduh terpisah)

Hanya begitu saja.
Selesai


Ini sebenarnya topik lama yang udah aku angkat di milis Mapserver-id tapi supaya menuh-menuhin blog :D , aku tulis lagi di sini. Jadi kasusnya pertama-tama kayak gini: Oya, ada yang merhatiin gak masalah keamanan di sini? Ato bikin-bikin-bikin, yang penting jadi, gitu diancam boleh diobrak-abrik gak, Pan? (nama samaran, red :D ). Setidaknya keamanan data aja. Ini aku kasi tau caranya. Ini berdasarkan yang aku lihat di Mapserver-nya ITB. Bisa diakses di http://petakampus.itb.ac.id/. Katanya sih (ini katanya lho, maklum orang sok tau ngomong), yang buat web itu juga ikutan milis ini dan dianggap jago, sesepuh ato apapun namanya di sini, ato bahkan di dunia mapserver indonesia ya? ayo, siapa yah orangnya, pengen kenalan neh.beneran deh :D Oke, kini langkah2-nya:

  1. Buka website itu, maka akan di-redirect ke
  2. Dari web address bar itu lihat address-nya dan cari yang .map (map=../htdocs/petakampus/itb.map)
  3. Sekarang kita tahu dimana nyimpan .map-nya (map=../htdocs/petakampus/itb.map) yaitu di http://petakampus.itb.ac.id/petakampus/itb.map VOILA!!! kebuka brur.
  4. Sekarang kita tau, “Owhhh… make ms4w juga toh! ITB gitu lohhhh” :D cari bagian SHAPEPATH ./shp/gedung/ (ceritanya kita mo nyuri data neh) ke bagian layer DATA … (misalnya jalan) maka kita dapat ./shp/gedung/jalan(.shp/.shx/.dbf) buka aja misalnya http://petakampus.itb.ac.id/petakampus/shp/gedung/jalan.shp untuk kasus ini sudah di-directive (caranya liat aja httpd_*.conf di ms4w/httpd.d) hingga muncul pesan:
  5. Forbidden

    You don’t have permission to access /petakampus/shp/gedung/jalan.shp on this server.


    Apache/2.0.50 (Win32) Server at petakampus.itb.ac.id> Port 80

    Tapi yang menarik justru yang ini:

  6. Database!!!
    Cari bagian ini:
  7. CONNECTIONTYPE postgis
    CONNECTION "user=**** dbname=******  port=5432
                       host=petakampus.itb.ac.id password=***"
    // (liat sendiri)
    DATA "the_geom from (select gid, zone_id, id_gedung, nm_gedung,
             the_geom from gedung) as foo using unique gid"

VOILA!!! LAGI Hellooooow!!!! it’s your secrecy there! c’mon! walaupun host-nya localhost dan di pg_hba.conf di set hanya dibuka bener2 dari local, tapi kan………


Sekarang solusi yang ditawarkan oleh Pak Iwan Setiawan:

  1. Jangan pernah menayangkan full URL seperti yang ditampilkan pada petakampus itb tersebut:
    Dengan scripting sederhana URL tersebut bisa ditampilkan sebagai: http://petakampus.itb.ac.id/petakampus/frames_dhtml.html
  2. Jangan pernah menyimpan file data dan file .map di direktori yang dapat diakses oleh publik. Cukup simpan di direktori lain yang tidak termasuk dalam wilayah akses web (wwwroot)
  3. Periksa dan tutupi segala lubang keamanan pada server anda.

Salam MapServer! — Iwan Setiawan bima.cakti [@] g****.com


Tanggapan :Simple Solution emang seperti yang dibilang bung (ato Pak nih manggilnya :D;) Iwan Setiawan. Itu juga kalo emang service yang ditawarkan juga simpel. klo udah komersil tetap bahaya. Kenapa?

    <li>Walaupun jauh dari jangkauan www/htdocs apache tapi dengan url dinamis sebagai inputan mapserver, kita tetap masih bisa lihat {<input id=”map” name=”map” value=”/path/map/Anda/peta.map” type=”hidden” />} kan? tinggal masukin ke url juga dengan http://localhost/../../../../../nyampe/root/arahin/ke/path/map/Anda/peta.map juga masih bisa diaksesoleh umum

  1. OS (M$. Winblows) tidak mengenal adanya akses nobody:nogroup ato root:wheel kayak Un*x makanya semua yang ngakses web (untuk nyalain service Apache harus Admin kan?) dianggap administrator!!!
  2. Root Path (/) system !seharusnya! sama dengan root Apache. Misalnya begini: apache diinstal di C:\ms4w\Apache makanya root Apache dibaca pada direktori tersebut sedangkan pada sistem seharusnya pada C:\ (ini ada hubungannya dengan solusi yang aku tawarkan di bawah). Akibatnya beberapa orang mungkin sering menghadapi masalah pada halaman html dengan memasukkan root path sebagai awal.Contoh: {<input type=”hidden” id=”map” name=”map” value=”/path/map/Anda/peta.map”/>} harus Anda masukkan dengan {<input id=”map” name=”map2″ value=”../htdocs/path/map/Anda/peta.map” type=”hidden” />} merujuk pada path cgi-bin Anda.

Lalu solusi yang aku tawarkan bagaimana? Nah, di sini sok tahu aku berperan :p huehehehe… 1. Jangan pernah pakai M$. Winblows. Kalaupun Anda mau maksa dan terlalu malas dan tolol (no offense yak :D;) untuk menggunakan un*x, buat satu user lagi dengan akses terbatas (limited user) lalu jalankan service dengan user tersebut. semuanya pasti pernah nginstall postgresql di winblows kan? caranya sama seperti itu (dulu pernah nemu script .bat-nya tapi udah ilang T_T ). trus tambahin aja user tadi di httpd.conf:

User nobody Group Users
cari atau buat baru di Computer Management -> System Tools -> Local Users and Groups -> Groups (untuk Apache2 katanya sih ini masih banyak masalah, gak tau ntah kata sapa :p;)
Trus setting kepemilikan direktori milik Admin kecuali htdocs atau folder html Anda milik user yang tadi dibuat. oya cgi-bin tempat mapserv.exe dsb juga di-set jadi milik si user tadi.
(Repot? Makanya pakai un*x biar aman :p. Masih tetap gak mau? ya skip aja langkah ini hehe…)

2. Oke, sekarang konfigurasi apache-nya (httpd.conf)
Cari di httpd.conf bagian yang “^\.ht” kira-kira isinya seperti ini:

<FilesMatch "^\.ht" >
	Order allow,deny
	Deny from all
</FilesMatch >

salin-tulis jadinya isinya ada 2, dan ganti satu lagi dengan .map

# ini untuk semua yang berawalan dengan .ht
<FilesMatch "^\.ht" >
	Order allow,deny
	Deny from all
</FilesMatch >
 
# dan ini untuk semua yang berakhiran dengan .map, .shp, .shx, .idx, .dbf
<FilesMatch "\.(map|idx|shx|shp|dbf)" >
	Order allow,deny
	Deny from all
</FilesMatch >

dengan konfigurasi ini juga sebenarnya juga sudah cukup aman. tapi aku ingin lebih. namanya juga manusia, serakah! ;)

3. Sekarang untuk tiap aplikasi kita bikin konfigurasi sendiri seperti pada aplikasi ms4w pada umumnya, namakan aja aplikasinya LontongCorp yang diinstall di C:\ms4w\apps\LontongCorp dengan apache konfigurasi httpd_LontongCorp.conf di
C:\ms4w\httpd.d Aplikasi LontongCorp memiliki dir: htdocs, src dan data; maka isi dari httpd_LontongCorp.conf kita buat seperti ini:

# ini untuk htdocs kita bolehin lihat
Alias /LontongCorp/ "/ms4w/apps/LontongCorp/htdocs/"
<directory "/ms4w/apps/LontongCorp/htdocs/" >
	AllowOverride None Options Indexes FollowSymLinks Multiviews
	Order allow,deny Allow from all
</directory >
 
#Tapi kalau yang ini, gak boleh lihat ya
<directory "/ms4w/apps/LontongCorp/src" >
	Options FollowSymLinks AllowOverride None
	Order deny,allow Deny from all Satisfy all
</directory >
 
<directory "/ms4w/apps/LontongCorp/data" >
	Options FollowSymLinks AllowOverride None
	Order deny,allow Deny from all Satisfy all
</directory >

dan yang agak menggangu sebenarnya pada httpd.conf bagian <Directory />, gak tau merefer ke mana? C:\ atau C:\ms4w\Apache ganti atau salin-tulis dengan

<directory "C:\" >

Kalau hanya directory / seperti gak guna :D

Intinya, pisahkan antara folder data dan halaman htdocs Anda trus dilock. klo memang mau data tetap bisa diakses dan di-download tapi hanya oleh orang2 tertentu, bikin aja .htaccess di folder trus dikasih password. jadi klo orang ngakses lewat http, dia minta password. masalah pada mapserver gak akan terjadi karena mapserver, baik cgi maupun mapscript, ngaksesnya lokal. Oke, cukup segitu aja. Trus udah aman? Belom!!! itu kan masih sekedar yang aku (sok) tahu. Ingat, ada yang bilang: “What made by man, can be destroyed by man too” -> Makanya harus sering doa ke Yang Di Atas kali ya huehehe… ps: ayo, sapa neh yang udah online trus bisa di-test gak kemanan sistemnya. MapTrack mungkin? ato ServMap??? ato Googling aja kali ya? bukan ngetest sistem keseluruhan, soalnya gak bisa sok tau banyak :D Happy MapSecuring!!! :D Nantikan seri2 isu lainnya dariku ya. Yang laennya? sharing dong ^_^ LontongCorp, Enjoy


Dan ini solusi dari hazmi abdun <flying_apache [@] yah**.com>ikutan nimbrung ah (telat bgt yah :p;) emang sih, klo pake mapserver versi cgi itu, query string di urlnya jadi “nge-be-te-in”, soalnya jadi panjang bgt dan apa yang sedang di proses itu jadi transparan alias bisa dibaca orang. tapi ya setidaknya kita harus bisa ngumpetin lokasi file .map-nya, soalnya tentu saja kita gak mau konfigurasi kita terbaca sama orang, seperti kasus ini.klo menurut gw, untuk pengguna windows, bisa ngikutin contoh yang di kasih di situsnya mapserver: ———————————— But anyway, even if it’s valid, the above URL is still ugly. And you might want to use a nicer URL for your WMS Online Resource URL. Here are some suggestions: …2. Another option is to use the “setenvif” feature of Apache: use symbolic links that all point to a same mapserv binary, and then for each symbolic link test the url, and set the MAP environment accordingly.For Windows and Apache users the steps are as follows (this requires Apache 1.3 or newer): * Copy mapserv.exe to a new name for your WMS, such as “mywms.exe”. * In httpd.conf, add:

SetEnvIf Request_URI "/cgi-bin/mywms/"
MS_MAPFILE=/path/to/mymap.map

————————————
note: copy paste dari: http://mapserver.gis.umn.edu/docs/howto/wms_server
Dan untuk ms4w sendiri kan sebenernya dibuat untuk belajar dong, bukan untuk produksi, seperti kata readme-nya MS4W:
————————————
…. Currently, the MS4W installation is considered neither secure nor stable. It should not be used for production purposes.
Do not expect to get any support for using this package in such an environment. ….
————————————
note: copy paste dari README_INSTALL.txt di MS4W sekian tambahannya.. :D
Viva Open Source!


Tertanggal 26 Maret 2007 (udah diperbaiki :lol: ) pukul 00.00 WIB akhirnya LontongCorp.com resmi menjadi milikku dengan tampilan blog ini sebagai halaman muka. Lagi nyoba2 maen dengan dns server sekalian pengen punya domain sendiri ya akhirnya jam 10 malam ngubungin QWords lewat Y!M. Hihihi… dasar akunya orang malam :D. Tapi hebatnya lagi, dilayanin, brur. Sempat bingung juga sih dianya gitu ngeresolve server sini kok gak bisa ya. Soalnya dns serverku kuset beda emang dari resolver yang terdaftar di ITB hehehe… Ya, bagi yang tau coba aja di-nslookup domain ini. terus di-reserve dapat nama apa. Nah, terus di-whois deh ke domain ini, liat dns server yang aku set gimana. beda kan? :D

Oke, dari maen2 dengan dns server ini, aku nge-cname jadi www dan blog [dot]LontongCorp.com. Emang ini nih yang aku cari kenapa aku pengen beli domain sendiri. Bukan hanya itu brur, aku juga udah bikin sub-domain untuk MapFlasher di maps.LontongCorp.com supaya orang2 bisa mudah menghapalnya. Di milis mapserver-id udah pernah diposting http://bla-bla-bla/~blabla ~~~~ panjang deh. Makanya pernah ada yang nanyain lagi. Sekarang kan tinggal gampang: maps.LontongCorp.com jadi semuanya bisa ingat dengan mudah. Aku juga gak capek ngetik url panjang2 lagi klo mo ke halaman admin blog ini :lol:

Trus untuk FlexGeex disimpan di flex.LontongCorp.com. Ntar untuk VideoConference aku kasih di tv.LontongCorp.com ato video.LontongCorp.com Ya, tapi sayangnya server ini gak akan bertahan selamanya. Gitupun dengan link2 itu tadi. Ini kan cuma devs-server aja. Ada kalanya aku harus beranjak dari server ini. Masalanya klo mo maen di luar, aku harus sewa VDS. Bayangin aja kebutuhan aku: port 1935,1936, 5080, 6080, dll lah di luar kewajaran port-port umum. Meski pun dengan gitu aku bisa lebih go-publik ke luar kandang emas kampus ini.

Ok, that’s for now. I’ll keep my journal here and ‘ll make my subdomain as much as I want :lol: :lol: :lol:

nb: Gak perlu pake ftp ato mail virtual lagi woy!!! makin bingung ntar aku ngecek imel banyak2 :D


keep looking »