I am interested in setting up my own web server at home, what is needed to achieve this?
A computer, Internet connection, and web server software like Apache.
Also, what spec of web server would I need to host multiple websites, and start my own hosting service/site?
If you are on a residential line, chances are your ISP blocks incoming requests on port 80, so that can be a little troublesome, and possibly even a breach of contract. Besides, you will have to keep your computer on 24/7.
I suggest that instead of trying to host production websites on your home computer (a localhost testbed is fine, of course), use a commercial host. If you want to host others (or your own multiple websites), get a reseller account, virtual private server, dedicated server etc.