There are 3 things involved
There is the content on the site,then there is a company to host that content then a domain name.
1.First you need to buy a domain name,for example mywebsite.com or whatever you want to call it.
2.You need a company to host your site,you pay an annual fee,or monthly fee, whatever you host requires.
3Now that you have the name and host now comes making the content,or the webpages themselves.To create content for your website,you can make use of softwares like adobe dreamwaver,adobe fireworks and joomla to name the ones I know of.For instance my profile pic was designed using fireworks.The said softwares allow you to create the like ,share,contact us buttons and so much more.
That said,there is wordpress,check it out,it also helps to manage content on your wordpress site and it runs on android,Blackberry ,PC blah blah