I want to make a site for my business but it must be free, what’s the best solution?
download and setup WordPress. It's easy and very flexible.
MakeUseOf published an eay WordPress Guide that takes you through entire process step by step. http://www.makeuseof.com/pages/set-up-your-blog-with-wordpress-the-ultimate-guide
Yeh, I have to agree with Jeff here. If you're running a business, having a FREE website ought to be embarrassing. Assuming you're profitable, you can get a 'real' website with custom domain for like $50/year.
Why are you insistant on it being free?
If you really want to impress your customers, going cheap (or worse, free) isn't a viable option. Free hosting typically is slow, doesn't offer much bandwidth and disables a lot of functionality. More over, free domains are usually a subsidiary of the hosting domain, so your domain name will look something like YOURWEBSITE.hostingwebsite.com. I recommend you spend the whole $12/yr it takes to at least possess a respectable domain name. However, if you must - I have listed a few hosts below.