We keep all our config files in Subversion and try to automate as much of the setup process as is possible. Hopefully that'll let us expand quickly if we need to upgrade to a bigger box or split over multiple machines.
My current setup is a single FreeBSD box sitting in a colo downtown that putters along without a hitch.
Also stuff like not storing sessions locally (put them in DB) makes it easy to scale out to multiple web servers.
With some decent memory (1GB+) even a single processor server is plenty to run a sizable site. It's really amazingly what can be done from a single machine these days, given their power and the efficiency of the available tools.