Monday, November 8, 2010

Open Source GIS Applications

Open Source programs are applications of which you can access the source code. Listed here are available open source GIS-based applications you can download written for a variety of platforms and in various languages.

State of Open Source GIS
Intensive survey by Paul Ramsey published in September of 2007 that reviews open source GIS grouped by programming language. The survey looks at C, Java, .NET and web-based GIS.

EDBS Reader
A free (GPLed) reader software for the EDBS format has been released: EDBS_extra 2.0. This open source utility is written in ‘C’. The page is mostly in German.

fmaps
GIS/RS application for Linux and Gnome platforms. Open source code is available for downloading from this site.

GeoTools
GeoTools is an open source, Java GIS toolkit for developing standards compliant solutions. It’s modular architecture allows extra functionality to be easily incorporated. GeoTools aims to support OpenGIS and other relevant standards as they are developed.

GRASS
Geographic Resources Analysis Support System (GRASS) is the public domain GIS software application originally developed by the US Government.

MapServer
MapServer is an OpenSource development environment for building spatially enabled Internet applications. Compiles on most UNIX systems and will run under the Windows OS environment.

MITAB
MITAB is an Open Source (i.e. Free) C++ library to read and write MapInfo .TAB (binary) and .MIF/MID files. It is based on the OGR library which is an implementation of the Open GIS Consortium Simple Feature specification.

OpenEV
OpenEV is a library, and reference application for viewing and analysing raster and vector geospatial data. Download for Windows 98/NT/2000, Linux, Irix or Solaris systems.

OpenMap
OpenMap is a FREE JavaBeans software component for viewing spatial data. JavaBeans is a component specification for software written in the Java language. In contrast to other GIS software components which offer both data viewing and analysis capabilities, OpenMap is primarily for data viewing and offers very little in the way of analysis functionality. Open Source.

Quantum GIS
Also referred to as QGIS, Quantum GIS is an Open Source Geographic Information System (GIS) that runs on Linux, Unix, Mac OSX, and Windows.

rmap
rmap is a package that will allow you to generate images of the earth from a distance or fairly zoomed in. The code is a small C binary that reads a datafile of vectors to generate the image.

Tkgeomap
Tkgeomap is a set of extensions to the Tcl/Tk scripting language for manipulating and displaying geographic data.

Topology Framework .NET (TF.NET)
TF.NET represents a managed topology manipulation API capable of handling managed objects representation of topological entities based on other popular APIs, exposing it’s JTS-based common topology manipulation core to them. Supported external managed APIs include: OSGeo Feature Data Objects (FDO) geometries, OSGeo MapGuide Server (FDO-based) geometries and Autodesk ObjectARX geometries (a.k.a. entities) and, most recently, Oracle’s ODP.NET. Functions provided include: Spatial predicates (based on the DE-9IM model), Overlay functions (intersection, difference, union, symmetric difference), Buffer, Convex hull, Area and distance functions, Topological validity checking, Coordinate systems manipulation (transformations), Topological graphs manipulation, and more. TF.NET libraries are free, licensed under GNU LGPL and available for download from Google Code page.

Vhclmaps
Vhclmaps is a package of map viewers and spatial data servers that work with map databases.


Enjoy ubuntu... ;)

Saturday, November 6, 2010

How to Setup a DNS Server in Ubuntu Server 10.04

  • Ubuntu Server 10.04, the DNS server – 10.1.1.2 (hostname=dns)
  • Ubuntu Server 10.04, the WEB server – 10.1.1.10 (hostname=web)
  • Instructions

    1. Install the DNS server, we need to install Bind 9.

    sudo apt-get install bind9

    2. Configure Bind. We need to touch 5 files.

    We will edit 3 files.

    • /etc/bind/named.conf.local
    • /etc/bind/named.conf.options
    • /etc/resolv.conf

    We will create 2 files.

    • /etc/bind/zones/mydomain.com.db
    • /etc/bind/zones/rev.1.1.10.in-addr.arpa

    Domain zone – kunkun.my

    sudo vi /etc/bind/named.conf.local

    # Domain zone

    zone "kunkun.my" {

    type master;

    file "/etc/bind/zones/kunkun.my.db";

    };

    # Reverse DNS

    zone "1.1.10.in-addr.arpa" {

    type master;

    file "/etc/bind/zones/rev.1.1.10.in-addr.arpa";

    };

    Save file. Exit.

    We just created a new domain. Please note: later we will create two files named mydomain.com.db and rev.1.1.10.in-addr.arpa files. Also, notice the reverse IP address sequence in the reverse DNS section.

    Add the DNS servers from your ISP. You can place the primary and secondary DNS servers here separated by semicolons.

    sudo vi /etc/bind/named.conf.options

    We need to modify the named.conf global options to allow our internal clients to query the nameserver.

    Modify the existing global options block to the following:


    acl kunkun-lan { 10.1.1.0/24; 127.0/8; };

    options { directory "/var/cache/bind";

    allow-query { kunkun-lan; };

    forwarders { 202.188.0.133; 202.188.1.5; }; # ISP primary/secondary

    forward-only; # Rely completely on ISP for cache misses

    };


    The acl statement above sets up a range of IP addresses we can reference throughout the named.conf file. The allow-query specifies IP addresses of hosts that can query our nameserver. The forwarders statement tells our nameserver to forward any unresolvable queries to our upstream nameservers. The forward-only statement restricts our nameserver to only rely on our ISP nameservers and not contact other nameservers to find information that our ISP can not provide. It's very rare for a primary and secondary ISP nameserver to be down at the same time but you can comment forward-only if you want your nameserver to try the root nameservers when the upstream ISP nameservers cannot resolve a hostname.

    Save file. Exit.

    Modify the resolv.conf file found in /etc and place the IP address of our DNS server which is set to 10.1.1.2.

    sudo vi /etc/resolv.conf

    search kunkun.my

    nameserver 10.1.1.2

    Define the zones.

    sudo mkdir /etc/bind/zones sudo vi /etc/bind/zones/kunkun.my.db

    $TTL 3D

    @ IN SOA dns.kunkun.my. root.kunkun.my. (

    2

    28800

    3600

    604800

    38400 );

    kunkun.my. IN NS dns.kunkun.my.

    web IN A 10.1.1.10

    www IN CNAME web.kunkun.my.

    dns IN A 10.1.1.2

    • The TTL or time to live is set for 3 days
    • The dns.kunkun.my nameserver is defined
    • An alias of www is assigned to ubuntudesktop using CNAME

    Create a “rev.1.1.10.in-addr.arpa” file for reverse lookup.

    sudo vi /etc/bind/zones/rev.1.1.10.in-addr.arpa

    $TTL 3D

    @ IN SOA dns.kunkun.my. root.kunkun.my. (

    2

    28800

    604800

    604800

    86400 )

    IN NS dns.kunkun.my.

    10 IN PTR web.kunkun.my.


    Restart Bind to activate our latest changes.

    sudo /etc/init.d/bind9 restart


    4. Test our new domain and DNS entries.

    Dig

    dig kunkun.my

    dig -x 10.1.1.10

    Nslookup

    nslookup web

    Enjoy ubuntu... ;)

Wednesday, November 3, 2010

How to remove JPAGE_CURRENT_OF_TOTAL in Joomla 1.5

This is how typically it would look like:


<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

JPAGE_CURRENT_OF_TOTAL

  1. Download a matching language pack for the version of Joomla you're working with.
  2. If the language pack is just not available yet, fix it manually:

    • Locate the main localization file - so if you have Finish installation it would be: \language\fi-FI\fi-FI.ini
    • Manually add the following line in to it:
      JPAGE_CURRENT_OF_TOTAL=Page %s of %s
      You probably will want to translate it to your own language before.

Sunday, October 24, 2010

DHCP server - Windows

The installation of the DHCP-server on Windows NT4 server (the DHCP-server
is NOT included in Windows NT4 workstation )
is very simple:

In the Network-configuration,
tab: Services, click on "Add"
and then select:
"Microsoft DHCP Server"

The following notice will be displayed:

The system running the DHCP-server (distributing IP-addresses to other systems)
itself MUST use a static IP-address (manually assigned) , it can NOT request
to receive an IP-address from any DHCP-server (itself or another DHCP server).

Like after all changes to the network configuration, you have to reboot:


Configuration of the DHCP-server

Although the DHCP-server is listed
as a Networking service, it is NOT
configured from the Network applet
(the Properties button is grayed out)
The "DHCP - Manager" has been
added to the menu for the
"Administrative Tools"
You need to define now a range of IP-addresses
to be distributed.
This range is called: "Scope".

To be able to define Scope, click first on the
entry "Local Machine" to expand the entry,
the "+" -sign needs to change to the "-"-sign.
Only then you are able to select from the
menu: "Scope" the option "Create"


You assign the range of IP-addresses to be assigned by DHCP-server
( in the example: all IP-addresses between 102.54.107.1 and 192.54.107.49):

usually, an IP-address is NOT assigned permanently, but only for a limited
time, called the "Lease Duration".

On selected the "OK"-button, you will be asked on whether to activate
the scope, select "Yes":


The yellow light-bulb indicates, that
the scope is now active and that the
DHCP-server is ready to assign the
IP-addresses.
To display the IP-range ("Scope") for
viewing/editing, select from the menu
"Scope" the option "Properties"

Setting up a connected Windows systems to use the DHCP-server is very simple:

In the Network-configuration,
select the properties for the
TCP/IP-protocol and just make
sure, that it defines to
"obtain an IP address automatically"


To verify the assigned IP-address on a Windows95/98 system, run the
"WINIPCFG" program (usually from the RUN-menu)(On Windows NT, use IPCONFIG):

In this example, DHCP assigned the IP-address 192.54.107.1.
But there is no "Default gateway" defined !


TCP/IP requires more than just the IP-address, for communication outside
the local network-cable (the local "subnet"), it needs to know the IP-address
of the Gateway (also called Router).
DHCP can be configured to provide also this information to the clients:

make sure, that your Scope is selected
(highlighted in blue), then select from the
menu: "DHCP Options", then "Scope"


From the list of
"Unused Options", select
"Router", then use the
"Add"-button.
Once the "Router" is
an "Active Option",
click on the button
"Value" to define the
IP-address for the Router.
On the expanded Windows,
click on "Edit Array",
allowing then to enter
the IP-address of the
Router, then select the
"Add"-button to get the
new values displayed in
the list of IP-addresses.

Press "OK" to exit this
window.
The IP-address of the
Router is displayed.

Press "OK" to close the
DHCP-Options window.


The DHCP-Mananger is now displayed
for the scope also the option for the
Router.

When now checking on Windows95/98 with WINIPCFG:

the IP-address for the "Default Gateway" is defined.

If your configuration requires the use of WINS, it can be also configured
as an option of the DHCP-server.


DHCP can also be used to assigned IP-addresses for incoming RAS-
connections
:


To view the list of IP-address already
assigned, select from the menu: "Scope"
the option "Active Leases"
In this example, 192.54.107.1 is assign
to a LAN user, while 192.54.107.2
is assigned to the Modem to handle
incoming RAS TCP/IP-connections.

Howto: Ubuntu Linux convert DHCP network configuration to static IP configuration

Your main network configuration file is /etc/network/interfaces

Desired new sample settings:
=> Host IP address 192.168.1.100
=> Netmask: 255.255.255.0
=> Network ID: 192.168.1.0
=> Broadcast IP: 192.168.1.255
=> Gateway/Router IP: 192.168.1.254
=> DNS Server: 192.168.1.254

Open network configuration file
$ sudo vi /etc/network/interfacesOR$ sudo nano /etc/network/interfaces

Find and remove dhcp entry:
iface eth0 inet dhcp

Append new network settings:

iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254

Save and close the file. Restart the network:
$ sudo /etc/init.d/networking restart

Task: Define new DNS servers

Open /etc/resolv.conf file
$ sudo vi /etc/resolv.conf

You need to remove old DNS server assigned by DHCP server:
search myisp.com
nameserver 192.168.1.254
nameserver 202.54.1.20
nameserver 202.54.1.30

Save and close the file.

Task: Test DNS server

$ host cyberciti.biz

Network command line cheat sheet

You can also use commands to change settings. Please note that these settings are temporary and not the permanent. Use above method to make network changes permanent or GUI tool as described below.

Task: Display network interface information

$ ifconfig

Task: Take down network interface eth0 / take a network interface down

$ sudo ifconfig eth0 downOR $ sudo ifdown eth0

Task: Bring a network interface eth0 up

$ sudo ifconfig eth0 upOR$ sudo ifup eth0

Task: Change IP address and netmask from command line

Activate network interface eth0 with a new IP (192.168.1.50) / netmask:
$ sudo ifconfig eth0 192.168.1.50 netmask 255.255.255.0 up

Task: Display the routing table

$ /sbin/route OR$ /sbin/route -n
Output:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 ra0
172.16.114.0 * 255.255.255.0 U 0 0 0 eth0
172.16.236.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.1.254 0.0.0.0 UG 0 0 0 ra0

Task: Add a new gateway

$ sudo route add default gw 172.16.236.0

Task: Display current active Internet connections (servers and established connection)

$ netstat -nat

Task: Display open ports

$ sudo netstat -tulpOR$ sudo netstat -tulpn

Task: Display network interfaces stats (RX/TX etc)

$ netstat -i

Task: Display output for active/established connections only

$ netstat -e
$ netstat -te
$ netstat -tue

Where,

  • -t : TCP connections
  • -u : UDP connections
  • -e : Established

Task: Test network connectivity

Send ICMP ECHO_REQUEST to network hosts, routers, servers etc with ping command. This verifies connectivity exists between local host and remote network system:
$ ping router
$ ping 192.168.1.254
$ ping cyberciti.biz

See simple Linux system monitoring with ping command and scripts for more information.

Task: Use GUI (Graphical Configuration) network Tool

If you are new, use GUI configuration tool, type the following command at terminal:
$ network-admin &

Above command is Ubuntu's GUI for configuring network connections tool.

Final tip - Learn how find out more information about commands

A man page is your best friend when you wanted to learn more about particular command or syntax. For example, read detailed information about ifconfig and netstat command:
$ man ifconfig
$ man netstat

Just get a short help with all command options by appending --help option to each command:
$ netstat --help

Find out what command is used for particular task by searching the short descriptions and manual page names for the keyword:
$ man -k 'delete directory'
$ apropos -s 1 remove

Display short descriptions of a command:
$ whatis rm
$ whatis netstat

Linux offers an excellent collection of utilities, which can be use to finding the files and executables, remember you cannot memorize all the commands and files ;)

kunkun-laptop .... ;)