disclaimer: I'm providing the instructions I used to get my minecraft server up and running with pigmap -- these are not necessarily the best instructions.

First you need to setup your website for the google maps api. Sign up for a key here
Next ssh or log into your ubuntu server. To make things easy I have Apache installed on my Minecraft server.
Install build-essential, git, and the libraries needed to build pigmap:

user@server:~$ sudo apt-get install build-essential git libpng12-0 libpng12-dev libpthread-stubs0 libpthread-stubs0-dev
Next clone the pigmap repository:
user@server:~$ git checkout https://github.com/equalpants/pigmap.git

Use the included Makefile in the pigmap folder to build pigmap:
user@server:~$ cd pigmap
user@server:~/pigmap$ make
You need a copy of terrain.png from the minecraft.jar and a copy of fire.png residing somewhere on the server. I put a copy in my home directory.
Next I created two folders - input in my home directory and output in /var/www/. Then I ran rsync and synced from my world folder to the input folder:
user@server:~$ rsync -r -t -v /home/user/World1/ /home/user/input/


Continued below...

If you need to copy from your minecraft server to a webserver you'll have to look for the commands here
Finally I ran pigmap for the first time -- this can take a while if you have a decent sized map -- i'd recommend running in a screen

user@server:~$ /home/user/pigmap/pigmap -B 6 -T 1 -Z 10 -i /home/user/input/ -o /var/www/output -g /home/user/ -h 3
If you launched this in screen go ahead and disconnect from that screen -- it's time to build the website in /var/www.
The latest pigmap build has a template.html page that is auto-generated. Use this instead of the ripped code below!
I basically just ripped the entire code from the Aporkalypse Map page

Continued below...

Once that's done it's time to create the cron jobs to automate updating. I set the cron jobs to run every hour starting 15 minutes in:

user@server:~$ crontab -e
Using your favorite editor add:
15 * * * * rsync -r -t -v /home/user/World1 /home/user/input > change
this rsyncs your world and pipes the verbose output into a file called changed. Next we're going to take the first two lines of of change (they're just junk) before running the pigmap update
28 * * * * tail -n +3 /home/user/change > changes
finally run pigmape:
30 * * * * /home/user/pigmap/pigmap -i /home/user/input/World1 -o /var/www/output -g /home/user/ -c /home/user/changes -h 3 -x -m /home/user/pigmap
the -g point to the terrain.png -c is the file containing a list of files to update. -m point to the template html files
That should be it -- you should be able to browse to your server - view the map - and cron should take care of updating it for you.

Because it's using an incremental - once you've done the initial sync it should be pretty fast updating.

Working examples:
-- Aporkalypse Map - by the creators of the map generator
Down Button
Up Button