there are varios ways, a cheap and fairly simple option is to use a cantenna, this is like a directional antenna, you can either buy one or make your own, google it. might reach half a mile might not.
another option which ive read that can reach up to eight miles under the right conditions is what is called a bi-quad antenna or a double bi-quad antenna, you will most likely have to make your own, it is basicly a special signal emmiter connected to a sattite (direct tv size), google "bi-quad antenna" for more info
also i would definately use wireless N gigabit, b/c it is the strongest of all wireless types
hope this helps!