Quick Website On Your Own
The Easy Ways
Making a website can be complex and technically challenging, but if you just want something simple and easy to use, you can do your own.
There are essentially three parts to building a website.
1. Get a domain
2. Get it hosted
3. Add your content
There are infinitely many ways you can accomplish those three steps, but I recommend one of two easy methods.
Pay wordpress.com or squarespace.com something like $30-$500 per year and get an easy domain registration along with hosting and point and click tools to add your content. This is the easiest way to get world class capabilities relatively inexpensively.
Pay just for the domain part and get the point and click tools for free. It's cheaper than the easiest options but still not hard.
Create a website using Google Sites. Why? For 99% of users, even businesses it is free. Plus it is easy. You need a Google account, but you can create one in the process if you don't already have one.
So how? Go to http://sites.google.com or https://sites.google.com/site/?usp=sites_home and follow the directions. It will walk you through the process, but I recommend reviewing the tutorials.
Add content. You will pick a template during the process of creating a Google Site, all you need to do is edit the content. If you don't already have software to edit pictures, I recommend GIMP, not because it is the easiest option, but because it is free and very capable. If you'd like something easier, consider Inkscape, but really whatever you have and are comfortable with is fine. Paint is even acceptable, and most people already have it on their computer. (Start - Programs - Accessories) In the end, you need pictures and text and most people can handle that.
Point Google to the domain and point your domain to it. If you don't have one, Google can provide it to you. There are various methods of accomplishing this depending on where you got your domain:
Dyndns - to set up the confirmation for your site, go to My Services, click Dyn Standard DNS Service, add the DNS record described in the previous process
That's really all there is to it.
The Medium Difficulty Way
If you want complexity, there are a variety of options.
Get a host and a CMS (Content Management System) that works on it.
For hosting, as a good second choice, I recommend Google App Engine. You can pick your own content management system and most users will get free service, but fees are reasonable if you have a high traffic volume. There are some different options described at http://www.lleess.com/2013/03/cms-on-google-app-engine-gae.html . You can use Wordpress or GuteCMS and probably others. I use Vosao.
There are other free hosts out there and some that are reasonably inexpensive. I've had mixed experiences with them so I don't really have a strong alternate recommendation. GoDaddy provides hosting and CMS as well, but I don't think it is quite as easy to use as Google Sites and don't feel like it is quite as Google Sites and don't feel like it is as flexible as Google App Engine.
You'll still need to register a domain. I recommend GoDaddy, DynDNS or Comodo, but most are pretty easy to use and set up.
Adding the content is pretty simple with a CMS.
The Hard Way
You can host your own server if you can afford the bandwidth. Pretty much any computer that is connected to the Internet can be a web server. All you need to do is ensure that you can do it with your ISP and run web server software. The most common is Apache. There are versions of Apache for pretty much every operating system but Linux is the most common. I recommend using CentOS (a linux distribution) as your operating system for Apache. My personal choice of servers is usually for Nginx but it is less well known and therefore a little more complex to get set up correctly. Nginx pays off by scaling very well and being very fast and lightweight.
Alternatively, you can purchase hosting and manage your sever that somebody else is running. Softlayer is one option that I've seen good results with, but you can search for VPS services and find many options.
There are a variety of options for this, but I recommend GoDaddy or DynDNS for this. If you're hosting your own server, DynDNS will let your server keep the IP address current automatically. If you've got a VPS then either works or a dozen other options. The important bit is that you know you need to have your DNS provider point your domain to your IP.
If you really want to make it hard, you can do your own DNS services. Bind is the most common software for this, but I like dnsmasq since it is usually easier to set up.
CMS systems are what I recommend for ease. There are lots out there, but I have had good experiences with PmWiki and MediaWiki. I've got some experience with MODX as well. There are literally thousands of options, but I recommend that you pick one in a programming language you're interested in learning or already know.
CMS is not actually required. If you are willing to build all your pages yourself, you can code them in any programming language you like or just build text based HTML pages. This is by far the most challenging option, but it does pay off if you don't have much content to manage or are really comfortable with programming and HTML.
If you decide you want to do everything the hard way, you'll need:
To pay for a domain name. There is no simple way around this I'm afraid. DynDNS can provide free domain service if you're comfortable using one of their domains, and they have a lot, so it is worth checking out if you're just getting started. However, if you want the world to know where to find your specific site, you have to pay one of the providers that does the registration service.
DNS service. Most people you can buy a domain from also provide DNS with it. If you want to do it yourself, you still need to register the service, but you can do all the management yourself with software like Bind or dnsmasq.
Hosting your own server isn't terribly difficult but you need to pay somebody to connect it to the Internet. If you're Google or AT&T you can do it yourself but you probably need somebody else to provide it. I recommend reading your Terms of Service carefully before embarking on this option. Typically home users aren't allowed to host servers officially. You may be able to get away with it if you don't get so much traffic that they consider it a business, but caution is in order particularly if you are providing service to other people.
Content management is something you can do by typing in a text editor or by building your own programs to return the pages or tying software to databases... pretty much anything you know well enough, you can do yourself. If you're competent enough to do it, you can program a whole webserver in binary on hardware you build yourself. Most people can't do that. I've never met anyone who could so if you are going that route, I would appreciate if you drop me a line.