I'll let the stocking experts put their 2 cents in. With the substrate, I use pool filter sand. It's cheap and is pretty clean right out of the bag. (At least the kind I use is). I think I got a 50lb bag for like $12. For the rocks, you can use pretty much anything you want. Lots of people to go local landscape yards or rock quarries. I grabbed mine from the side of a local road.
For the little bit of rock you need some places will give it to you for free if not very cheap. Just be sure to clean them properly before putting them in the tank. I clean mine with a bleach water solution, scrub, rinse very well and allow them to completely dry. For your background, check the DIY section, lots of ideas and how to's. Good luck, post pics of your progress.