Please don't double post within 24 hours. If you want to add something to your post in this time then you should use the edit button (looks like a pencil).
Building a webserver requires the following:
hardware - basically any computer with a network connection
OS - runs the computer allowing applications and services to utilise the hardware
HTTP server - listens on a port for HTTP requests and returns HTTP responses
optional:
DBMS - manages data in a structured manner suitable for convenient access by applications and services
script interpreter - runs server-side scripts, written by you, that perform actions on data or create responses to the user
stuff you don't need (but some people will tell you that you do):
separate database server
content management system
static external IP address (you'll need either a static IP or a dyndns account if you want an Internet facing server though)
virtual machines
RAID
windows server
gigabit ethernet
high specification server
lots of cash
degree in computer science
and the list goes on
Example:
Hardware - anything you have will probably be fine; 2GHz Pentium 4, CD RW, 512 MB RAM, 40GB IDE HDD, 10/100MBit ethernet card, PS2 keyboard and mouse, VGA monitor
OS - I don't recommend ubuntu server because it's command line only, nothing wrong with that if you have a bit of linux experience but for a first time user, a GUI would be less of a learning curve. Personally, I'd choose Debian.
HTTP server - There is a reasonable selection of HTTP servers but the choice here is pretty straight forward; apache.
With the above equipment, you can serve static content (that is, the HTML pages, images, XML data, text documents, PDF files or whatever else happens to be in the web directory on the server) but its not until you introduce a DBMS and a scripting language that things get really interesting.
I did intend to go on to write something about creating dynamic content with server-side scripting and databases but I'm running out of time so I'll have to cut that short and just say that if you have any further questions or want to know more about anything I have written, please feel free to ask.