I don't want to burst your bubble, and I do believe that it is possible for you to learn how to do all that with the necessary dedication and the resources that are available, but you may be biting off more than you or most people could handle. You are right to think that you need to DIY if your budget is tiny, given the likely five figure sums that you will be quoted; but the kind of site that you describe would normally be created and managed by a whole team of developers. If you still want to take it on, start at the top; if you are not yet 100% accomplished with HMTL and CSS, get there first. Then focus on just one technology/coding system that you don't yet know and learn how to do that, building on what you have picked up so far. Keep your approach as modular as possible. Any decent fully featured hosting will do, and you don't need to pay a great deal. Heart Internet is good, for example. If you need fora, run them in PHPBB.