I don't think there is a short answer for that one. There are a bunh of issues with security, bandwidth and also read your ISP's contract. If you have home service most will not allow you to host your own (if you get caught) and will disconnect your service or require you to upgrade.
Do a search for setting up a server.
You probably want to find something Linux based.
I use xampp for testing localy, easy to set up if it has the services you need I would recommend it.