The easiest way is to use gparted which is on the Parted Magic cd:
http://partedmagic.com/
Essentially, you move sda2 then sda3 to the left to put the unallocated space next to sda4 and then enlarge sda4 to take up all the available space. You should back up your drive to an external hard drive beforehand since moving and resizing partitions carries some risk of data loss.
You shouldn't have to change fstab or liloconf since the partition layout order is not changing and each partition will have the same device file designation when you are done. However, that fact notwithstanding, moving partitions around like you will be doing can cause lilo to no longer function. If that happens, you have to boot with a live cd, mount your root partition and run lilo -v from a change root environment:
# chroot <root mount point>
# lilo -v
That usually corrects the problem.