It's fairly easy. If anybody wants to know how, or you're stuck on something, go ahead and ask me!
TUTORIAL:
First, you should start off by going to the Minecraft website.
Download the multiplayer server program
here. Follow the instructions at the bottom of the page, depending on your operating system. It is much simpler to use the .exe, but it is for Windows users only. You can use the minecraft_server.jar on any operating system, but it is harder to set up. I reccommend saving it to a new folder, as it creates multiple files when you start a server.
Alternatively, you could download
Bukkit - it's an easier way of hosting minecraft servers. It is more reliable, and also has plugins. It takes some more advanced setup, though. You will also need minecraft_server.jar for it to work.
The next thing you need to do, is port forward. This varies on how to do, depending on your router.
I recommend going to portforward.com - it has a list of routers there, and directions on how!
NOTE: One you click your router, it will take you to an advertisement page! There is a skip button!
Once you go to your router, find the Port Forwarding menu (for me it was under NAT > Port Forwarding) and create a new customer-defined service. It should look something like this:
(Most routers aren't as confusing as this, don't worry. If you don't have certain options, don't enter them.) TCP is reccommended, as I'm not sure about UDP and TCP/UDP. You can try them too, though. To find your LAN server IP, for xp type cmd in run, and for vista and windows 7, just type cmd in the search bar. Once it starts, type "ipconfig", and scroll all the way up to the top. Under something like LAN/Local Area Network, it should say something like "IPv_" - the number next to it should be your LAN Server IP.
Once you have that, go to where you installed your software - start it up using the instructions on the page you downloaded it from, and wait. Once it's up, I reccommend stopping it by typing "stop" and then closing it when it says you can, if it doesn't automatically. Then, you can open server.properties with notepad - or textedit, or whatever your OS has - and edit the settings of the server!
The last thing you need to do is to get your external ip using
whatismyip.com. Tell your friends to connect to this address. If it doesn't work, tell them to put :25565 at the end. (and if that doesn't work, you have a problem.)
Any questions, post below!
Have fun!
-bayat, revised by LegoIsReal