A "subsite" is in reality nothing but a user experience. You can have one page at example.com, another at example2.com etc. It's how they are interconnected through links and form posts that matters, and of course also through design. If they appear to be the same site, they are.
More or less anyway. There are some issues regarding cross-domain handling. For example, XmlHttpRequests (AJAX) aren't allowed cross domain.
I've never set up a forum, so I can't recommend anything in particular for that, but there should be enough free forums to choose from, requiring no development on your part, but possibly some configuration.
As for the rest, you might want to start by installing WAMP (windows apache mysql php) or LAMP (linux...). After that, just start looking at some tutorials. Googling for something like "login php mysql" should get you started.
There are enough tutorials to go around, so I don't believe you need a book. The php docs at php.net is also excellent help.
And you can of couse always post specific questions in a forum such as this one.