either by your ISP - in the free webspace that all of them provide - or by a dedicated web-hosting company.
As Gaz 25 says, some web-hosts provide you with software tools with which you can build your site, but usually it's up to you to acquire your own WYSIWYG (What You See Is What You Get) web design program from the many available to you.
Once you have completed the design you can upload the finished site to the server, and then it's available for anyone to view on the Internet. If you decide to use a dedicated wb-host (and if you're serious about your site you will), you'll need to buy a domain name of your own. You'll almost always be able to do this via your web-host.
If you're a complete novice you may find it helpful to ask specific questions along the way, and you can do that by returning to this thread - one of us will try to come uyp with the answers.