What I've done:
1. First get Hamachi (a free network emulation program), set up a network on it, then both log on to that network
2. Download the Minecraft_Server.exe from Minecraft.net
3. Run it once, then after to generates a world close it
4. Go into the Server properties file (open with a text program like notepad)
5. Change the value of "server-ip" to whatever your Hamachi network's ip is
6. Change "white-list" to true
7. Go into the white-list text file and add you and your friend's names
8. Go into the ops text file and add at least your name (this lets you use server commands)
9. Run the Minecraft_Server.exe again
10. Run Minecraft.exe and go to Multiplayer, enter the Hamachi IP address, and have fun.