My advice, for what it's worth, play with some free web hosts first to get a feel for what you are going to do and what you are going to need. You can get a lot of learning and research done at no cost but your own time that way.
I can recommend a few:
ByethostProhostingYour own ISP (if they gave you space with your account, most do but it's usually very limited)
A handy comparison list (many are fly-by nights that may be data mining - stick to the bigger guys, like Prohosting):
http://www.webhosts4free.com/Better yet, read the
Apache docs, download and install a copy on your local machine on a high speed connection, use
dydns for a subdomain name and practice away on your own machines where you are in full control. (most residential ISP accounts do not allow this though, so be careful, whenever I did it I always ran it on a different port than the usual for http - for example, port 30033 instead of port 80) If you make enough headway with Apache, then move on to scripting and databases and then you are ready to look at selecting an e-commerce platform. This approach will also cost you nothing but time. (and you can also upgrade to a commercial account with your ISP and go legit once you test everything out, again remaining in full control of the resources of your own business - though if hardware demands are large for your application then a hosting company may be more cost effective)
You could also give
Abyss a try for quick prototyping and research, it is more user friendly than Apache but has fewer capabilities.
If you are not interested in researching the issue in either of those two ways, then you may want to hire someone to asses your situation and needs for you.
Another idea might be to rough out a business plan and approach the bank or credit union for a loan (whether you need one or not) and see what resources they might be able to point you towards. I bet they get plenty of such applications and know the financial pitfalls of these deals.