Instalasi Mapserver

Tahapan instalasi mapserver dijelaskan di bab ini.

Redhat 6

Apabila anda menggunakan Red Hat tanpa lisensi bisa menggunakan base repo dari centos. Untuk signature terlebih dahulu kemudian buat file dengan vi di dalam folder repo dengan perintah

# cd /etc/pki/rpm-gpg/
# wget  http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
# vi /etc/yum.repos.d/Centos-base.repo

yang berisi file :

#####################################################################
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/6/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates 
[updates]
name=CentOS-6 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/6/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-6 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/6/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6 - Plus
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/6/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/6/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

Centos 6

Lakukan instalasi mapserver melalui repository elgis dengan menambahkan repository elgis terlebih dahulu, repo elgis sebelumnya juga membutuhkan repo epel

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://elgis.argeo.org/repos/6/elgis-release-6-6_0.noarch.rpm

Terjadi kesalahan dalam library armadillo di epel. Exclude armadillo dari repo epel karena akan menyebabkan galat. edit file epel.repo tambahkan exclude=armadillo dan install armadillo melalui repo lainnya atau download manual.

# vi /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
exclude=armadillo*

Instalasi armadillo

# wget http://repo.dlt.psu.edu/RHEL6/x86_64/RPMS/armadillo-3.800.2-1.el6.x86_64.rpm
# yum install armadillo-3.800.2-1.el6.x86nn_64.rpm

kemudian lanjutkan proses instalasi

# yum install gpsbabel
# yum install gdal
# yum install mapserver
# yum install glibc
# yum install libpng libpng-devel
# yum install gd gd-devel
# yum install giflib-devel
# yum install proj-epsg
# rpm -ql mapserver
# /usr/libexec/mapserver -v

Instalasi Mapproxy

Mapproxy berfungsi untuk melakukan caching agar semua request tidak langsung diteruskan kepada mapserver. Hal ini dilakukan karena pentingnya menjaga performansi aplikasi agar load peta tidak terlalu lama.
Langkah instalasi mapproxy:

# yum install python-pip python-devel
# pip install MapProxy

Selanjutnya adalah membuat file config map proxy di dalam direktori /var/mapproxy

# cd /var/
# mapproxy-util create -t base-config mymapproxy

Untuk kebutuhan akses mapproxy dibutuhkan port 8080 yang kita buka dari iptables atau firewall os dengan menggunakan perintah :

# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 
# service iptables save

Setting apache (opsional)

Langkah ini merupakan langkah pemanggilan mapserver melalui web server Apache, jika anda sudah menggunakan mapproxy atau seudah melakukan instalasi mapproxy maka anda tidak diperlukan lagi melakukan langkah instalasi apache ini. Apache web server membaca mapserver melalui CGI yang merupakan kepanjangan dari Common Gateway Interface, yaitu menjalankan file mapserver langsung melalui url HTTP .Maka sebelumnya anda diharuskan untuk melakukan instalasi apache dengan perintah :

# yum install httpd

buat softlink pada direktori web server atau virtual host yang sudah dibangun

# ln -s /usr/libexec/mapserver /var/www/cgi-bin/mapserv
# mkdir /var/www/html/tmp
# cp /usr/lib64/libmapserver.so /usr/lib64/php-zts/modules

arti sintak diatas adalah membuat softlink atau shotcut dari /usr/libexec/mapserver di direktori /var/www/cgi-bin/mapserv

Untuk apache, edit file /etc/httpd/conf/httpd.conf cari blok dari cgi-bin kita pastikan dari direktori tersebut bisa menjalankan cgi. Dengan melakukan perubahan pada blok Directory /var/www/cgi-bin

<Directory "/var/www/cgi-bin">
  Options Indexes FollowSymLinks ExecCGI
  AddHandler cgi-script sh
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

Setelah itu simpan dan restart httpd dengan perintah

# service httpd restart

Untuk kebutuhan akses mapserver dibutuhkan port 80 yang kita buka dari iptables atau firewall os dengan menggunakan perintah :

# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
# service iptables save

jalankan url ini dibuka

http://192.168.1.253/cgi-bin/mapserv?map=/var/www/html/agm.map&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=roads&STYLES=&SRS=EPSG:4326&BBOX=94.5011475,-11.007385,141.01947,6.076721&WIDTH=1024&HEIGHT=768&FORMAT=image/png

maka akan keluar peta

Berarti anda sudah berhasil melakukan instalasi

Konfigurasi Mapserver dan MapProxy

Persiapan Data

Buat folder mapdata di /var terlebih dahulu kemudian pada direktori tersebut buat kembali direktori dengan nama shp, mapfile, tmp dan common. kemudian
taruh file vektor shapefile peta kita di direktori /vaw/mapdata/shp. Dicontohkan disini adalah file peta Indonesia berupa kabupaten dan kota.
Setelah itu buat mapfile dengan nama agm.map di direktori mapfile yang berisi :

map
  size 640 480
  imagetype png8
  imagecolor 225 225 225
  shapepath "../shp"
  fontset "../common/fonts/msfontset.txt"
  projection
    "init=epsg:4326"
  end
  debug on
  web
    #imagepath "/var/mapdata/tmp/"
    #imageurl "/demoms/tmp/"
    metadata
      wms_title "Awangga Geo Map"
      wms_srs "EPSG:4326"
      wms_enable_request "*"
    end
  end
  outputformat
    name "png256"
    driver "AGG/PNG"
    imagemode "pc256"
    extension "png"
  end
  outputformat
    name "png"
    driver "AGG/PNG"
    imagemode "rgba"
    extension "png"
    mimetype "image/png"
    imagemode RGBA
  end
  outputformat
    name "png8"
    driver "AGG/PNG"
    imagemode "rgba"
    extension "png"
    mimetype "image/png"
    imagemode RGBA
    transparent ON
    formatoption "QUANTIZE_FORCE=ON"
    formatoption "QUANTIZE_DITHER=ON"
    formatoption "QUANTIZE_COLORS=250"
  end
  outputformat
    name "jpg"
    driver "AGG/JPEG"
    extension "jpg"
    formatoption "QUALITY=85"
  end
  LAYER
    NAME base_map
    group roads
    TYPE POLYGON
    STATUS ON
    DATA "00"
    POSTLABELCACHE FALSE
    PROCESSING "LABEL_NO_CLIP=ON"
    LABELCACHE ON
    LABELITEM "KABKOT"
    CLASS
      #minscale 10000
      maxscale 500000
      Name "indonesia_kab"
      STYLE
        COLOR 102 255 102
        OUTLINECOLOR 200 200 200
        SYMBOL 0
      END
      LABEL
        COLOR  0 0 0
        OUTLINECOLOR 255 255 255
        FONT "FreeSans"
        TYPE truetype
        SIZE 8
        POSITION CC
        PARTIALS TRUE
        MINDISTANCE 50
        REPEATDISTANCE 9999
      END
    END
    METADATA
      "DESCRIPTION"   "Peta Indonesia"
    END
  END
end

Konfigurasi MapProxy

Edit file /var/mymapproxy/mapproxy.yaml yang disesuaikan dengan konfigurasi dan data kita

services:
  demo:
  tms:
    use_grid_names: true
    # origin for /tiles service
    origin: 'nw'
  kml:
      use_grid_names: true
  wmts:
    # use restful access to WMTS
    restful: true
    # this is the default template for MapProxy
    restful_template: '/{Layer}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.{Format}'
    # and also allow KVP requests
    kvp: true
    md:
      # metadata used in capabilities documents for WMTS
      # if the md option is not set, the metadata of the WMS will be used
      title: Awangga GeoMap
      abstract: This is the Awangga GeoMap.
      online_resource: http://www.awangga.net/
      contact:
        person: Rolly Maulana Awangga
        position: Software Engineer
        organization: Belant Persada
        address: Jl. Ligar Nyawang No.2
        city: Bandung
        postcode: 40191
        country: Indonesia
        phone: +62(0)813-12000-300
        fax: +62(0)813-12000-300
        email: [email protected]
      # multiline strings are possible with the right indention
      access_constraints:
        This service is intended for Sekretariat Negara Only.
        The data is under development on Sekretarian Negara Republik Indonesia.
        (http://setneg.go.id/)
      fees: 'None'
  wms:
    md:
      title: MapProxy WMS Proxy
      abstract: This is a minimal MapProxy example.

layers:
  - name: agm
    title: Awangga Geo Map - www.awangga.net
    sources: [agm_cache]

caches:
  agm_cache:
    grids: [webmercator]
    sources: [agm_source]

sources:
  agm_source:
    type: mapserver
    req:
      layers: roads
      map: /var/mapdata/mapfile/agm.map
    coverage:
      bbox: [94.5011475, -11.007385, 141.01947, 6.076721]
      srs: 'EPSG:4326'
    mapserver:
      binary: /usr/libexec/mapserver
      working_dir: /var/mapdata/tmp
    supported_srs: ['EPSG:4326']

grids:
    webmercator:
        base: GLOBAL_WEBMERCATOR

globals:

Setelah itu kita coba jalankan maproxy dengan perintah :

# mapproxy-util serve-develop mapproxy.yaml -b 0.0.0.0

Kemudian kita buka demo nya di alamat :
http://192.168.1.253:8080/demo/
kemudian masuk ke menu WMS atau WMTS PNG dimana 192.168.1.253 adalah alamat server yang kita install.
mapproxy demo

results matching ""

    No results matching ""