Went down this path ourselves. Basically you have to give everything a try to see what works, that's where the learning comes in. Google everything.
We went as far to create our own Blue Marble Tile sets (using GDal) for the base maps, only to find that Mapquest offers them for free provided that; a) you let them know if you will exceed more than 4000 tiles a second and b) you attribute them. They have a Satellite layer as well as OSM Layers. The OSM Layers are routeable and have reverse geocode look-ups. SO why create your own OSM data using osm2pgsql now and why create your own basemaps? It is already here for you.
Having said all that, we did end up creating our own crowd sourced map in the Philippines (not based on OSM) and stuck it into Postgres with a Geoserver Front end. It is the most comprehensive available now. Out here in this part of the world, the ability of Bing and Google to map to the degree where it was useful is limited. They have bigger fish to fry. The OSM community is very active, but there are only a few of them, however they do a great job and their efforts will pay huge dividends to the community down the track.
We settled on these technologies and applications:
- Windows Servers 2008 R2 because we had them
- GeoWebcCache to speed it up
- GeoServer To create and style tiles
- PostGres for the database
- PostGis To make GIS work on Postgres
- PgRouting for all routing on POstGres
- JQuery and OpenLayers for the Client Side
- MySql for the logging and more generic data
- ASP.Net and Classic Asp to put it all together and serve to the user
I never read any books, just sat with Google as my research tool. Questions like "How do I set up PostGres to work with Pgrouting" give a wealth of information. (AfterDark has an excellent blog with a LOT of information)
One thing to remember, the GIS Community is so giving and so willing to help. 99% of the people involved are not doing it for commercial gain, so look for and read the information posted. Remember, whatever you wish to do, someone else started at the beginning before you did and probably published it. Then, feel free publish your experiences for the next person who comes along, it will be an invaluable addition for those who follow.
If you don't have a public facing server to play with, get a free one from AWS. You will find you will probably get the bug and end up playing from home, with Ah Ha moments about 2am in the morning.
In answer to your specific question about Web Servers, you will need Administrative Access to a server to make this happen. The server can be your desktop PC, or a free AWS server. All the things you need are available under windows (32bit) and Linux/Unix. For a 20 user system, you could just do this all on your PC.
I actually started with a Geoserver Install on my desktop PC whilst figuring it all out. Installed it and went to
http://localhost:8080/Geoserver and it all grew from there
Hope this helps, go for it and enjoy the experience, it is incredibly rewarding.