You probably would want to setup your site like the following,
Dedicated server for simple HTTP, serving the pages, etc. (Apache should be able to handle it)
Another dedicated for serving the images (Apache again) - since I'm pretty sure that most social networking sites involve alot of images.
And finally another dedicated working the database, which would probably be MySQL.
Expect for all three servers to be around Dual Cores/CPUs at around 3GHz, 2GB Ram, 40GB (make sure it's fast) for the first apache server; 160GB for the image server, and 80GB for the database server.
Make sure that the above have high bandwidth - as you'll probably be using alot of bandwidth - at 100Mbit (For speed).
This should cost you probably just under a thousand per month.