Nobody's given me the keys to their enterprise data center (yet), but I have served in a technical role with just about every type of small organization imaginable. From businesses to charities to museums to mental health research centers to train clubs to churches, they all have one thing in common: goals, and the desire to advance those goals. Maybe that's two things, but it doesn't change the fact that organizations exist to do something, and will exploit every resource legally (usually) and morally (sometimes) available to them so they can do something bigger, faster, and stronger.
Though a relatively new field on the cosmic radar, the benefits that IT (Information Technology) have to offer organizations are huge. In a world where the Internet is on the verge of becoming a utility and a simple spreadsheet can capture decades worth of data, just a little bit of effort can go a long way in bringing an organization into the digital age. This can be especially true for organizations where manpower is limited. I like to describe these collection of thoughts as "Small IT", where organizations can leverage the benefits of IT to advance their goals.
A NASA project manager working on the SLS program once told me that to get something done, you need either time (to learn how to do it yourself), money (to pay someone else to do it), or skills (to do it yourself in a short period of time). It's great if you have two or more at your disposal, but not every organization does. I'd even venture to say that most small ones don't. Very few small organizations have disposable income, which means that they probably have some people wearing multiple hats which means that the time allocated to get tasks done is constrained by the skills of the individuals in the organization. In other words, skills provide the most value to an organization and can also be the cheapest to obtain.
One of the most valuable assets an outwards-facing organization can have is a website. Apart from the usual benefits of being able to fill in that field on the business card templates and have a place to stick downloadable forms and what-not, websites can produce an insane amount of visibility for an organization that not only attracts like-minded individuals into the organization, but to also let's the rest of the world know what you're all about. A properly built website can attract hundreds if not thousands of visitors per month without any type of advertising just by showing up in the results for search engines. How cool is that?
I don't know where the Elders of the Internet went wrong in explaining how to actually build content for the web, but the process of creating a website is still perceived as one of those nerdy things that nerdy people do. Maybe you'll find a hipster that claims to have a website when they really just have a blog on Tumblr, but creating a website from the ground up and sticking it on your very own dubya-dubya-dubya-dot-something-dot-com address bar thing is still a new concept to more people than it should be. There's nothing inherently wrong with that, but it doesn't have to be that way and hopefully the rest of this article will help clear up a lot of the technical mumbo-jump and create a few more websmasters in the process. This isn't meant to be a step-by-step tutorial by any means, but it should help give you a better understanding of how websites work and definitely nudge you in the right direction.
The first step in creating a website is to create the domain. Domains are just the fancy, human-readable names given to websites that we type into the address bar to access the site. Facebook.com, sitepearl.com, and uwhsv.org are all domain names. Bear in mind that domains aren't the actual website - we'll talk about that later. Domains are just a placeholder that direct traffic to a particular server when the domain is typed into an address bar. Think of it as a phone number that connects a caller to the person assigned to the number dialed. Domains can be purchased from a domain registrar, which are basically the editors for the world phonebook of websites.
When picking a domain name, it's important to pick one out that's memorable but short and to the point. If you're WileyAcme corporation, you would want something along the lines of WileyAcme.com instead of WileyAcme-Online.com. Thousands of domains are registered daily, so it might be difficult to find a domain that falls within those guidelines immediately. However, your domain is what's going to represent your organization to the outside world, so it's better to think for a few days to find a good domain than to spend all of 5 minutes on it and register a stupid one.
I think they're are somewhere around 70 primary registrars, the most popular one probably being GoDaddy. But if bad NASCAR drivers and sexist Super Bowl commercials aren't your thing, Network Solutions is another popular registrar that has been around since the late 70's. An unsubsidized domain will normally run anywhere from $10-$20 per year. Most registrars will provide discounts if you buy multiple years in advance or lease some server space to stick the actual website when you buy the domain.
After a domain has been purchased, the next step is to find some web hosting. Web hosting simply refers to a place to stick the physical files of your website. In other words, you want to lease part of a server that's connected to the web. Chances are your website will see maybe a few thousand hits per month, so you don't need an entire server since a single 'good' server can server millions of visitors per month. Instead, you want to chip in with hundreds of other people just like you for what's called a shared server.
In a shared hosting environment, web hosting companies put multiple clients on a single server. This doesn't mean other people will have access to your stuff (they won't), but it does mean that your little corner of the Internet will be sitting on the same server with other people. Most domain registrars also offer web hosting, but there's nothing stopping you from getting your domain and your web hosting from separate companies.
The biggest benefit of shared hosting is that instead of paying hundreds of dollars per month for a dedicated server, you'd end up paying something like $5 per month, which makes it extremely affordable. Most hosting providers will also offer a discount if you pay multiple months or even years in advance. I'd recommend paying monthly for the first couple months to see if the host you select lives up to their hype, and then pay yearly once you decide you want to stay.
As far as features on the hosting account goes, features such as an abundance of bandwidth, diskspace, and email support ( so you can have your own @domain.com emails) are pretty standard. The thing you'll want to double-check is to see if the hosting account supports PHP and offers plenty of MySQL databases. PHP and MySQL will be available from any major hosting provider, and shouldn't be listed as some kind of product 'add-on'.
This might sliding into the more technical realm of things, but since I suggested it's possible to get your web hosting and domain from separate companies, I have to cover it.
There's a protocol called DNS and it stands for Domain Name System. In the purview of our discussion today, it's one and only purpose is to translate the human-friendly domain name into the IP address that your server is hosted on.
So the server you leased has an IP address of 188.8.131.52. Nobody wants to have to remember those numbers. That's why you paid $12 for the domain name sitepearl.com. DNS allows people to punch sitepearl.com into their address bar, and then see the website at 184.108.40.206 as a result.
At the registrar, there is a setting on your domain name called "DNS Servers", or something similar. These are configurable options that tell the domain where to look for the server (by IP address) associated with the domain. By default, they're probably set to the DNS servers of the registrar. If you purchased web hosting space from the registrar, you wouldn't have to change this setting. But if you purchased your web hosting and domain from separate companies, the registrar's DNS servers will have no idea, so they can't point your visitors to the correct server. To correct this, we update the DNS Servers setting to point to the DNS servers of your hosting provider, so that every time the domain is requested, the right server is queried. DNS is nothing more than a dictionary of domains being defined by the IP addresses of their respective servers.
Building the Website
Once you have a domain and a place to stick the website, the next step is to actually create it. You can ask 10 webmasters how to build the actual, physical website for your organization and you'll probably get 12 different answers. You can generally break the responses down into three categories:
- Code it yourself - This means you'll be writing the actual HTML and supplemental code yourself. While having working knowledge of HTML is nifty, it takes years to master and is generally a lot slower than the other methods available to webmasters.
- Use a WYSIWYG - Short for "What You See Is What You Get", this refers to using website builder software to generate your website. Essentially, you tell it what pages you want on your site, what content you want on those pages, what theme for want, and press a button. Most web hosting providers will offer this software for free. This can be a nice way to start out, but usually the websites won't look that great and making changes can be difficult because most WYSIWYG software requires you to re-generate the entire site after making a single change. It's not very efficient.
- Use a Content Management System - A CMS is similar to a WYSIWYG in the sense that you don't have to know how to do any coding, but the CMS actually 'lives' on the server and is powered by a database back-end. There's a small learning curve just like learning to use any other type of software, like Word or Excel, but the benefits of a CMS extend far beyond just getting a website published.
The most popular Content Management Systems by far are Wordpress and Joomla. I personally prefer Joomla since it's a little more robust in terms of functionality, but Wordpress is a much easier platform to learn for beginners. There are a number of steps involved in getting a CMS installed into your hosting environment, but once you do it once you'll be able to do it a thousand times. I have a YouTube tutorial on how to install Joomla here. It's a couple years old, but the process is still the same.
Regardless of which approach you ultimately decide to take in building your website, you'll end up with a bunch of files for the website on your local, personal computer that ultimately need to get uploaded to the server for everyone else to access. Since there's a 99.99% chance that you won't have physical access to the server, you'll need to use a protocol named FTP (File Transfer Protocol) to move your stuff over remotely.
To move files with FTP, you first need an FTP client. My favorite is FileZilla, but there are dozens of good ones out there. In nerd lingo, a client is software you install on a computer to 'talk' to a remote resource, such as a web server or database. When you connect via FTP to the remote web server, you'll see something like this:
On the left, you have the files on your local computer. Files on the remote server are displayed on the right. By default, you'll be at what's called the 'root' directory. For files to be displayed on the website, they need to be stored in the folder that serves HTTP requests. Most web hosting providers will name this folder either "public_html" or "httpdocs".
It's Not Magic
I know the last couple sections of this article got pretty vague. While the process of procuring a domain and hosting account is pretty universal, there are literally hundreds of different ways to produce a website. If you want a 'just show me' nudge, find a cPanel hosting provider and go watch my YouTube video on how to install Joomla - then go Google some Joomla tutorials to discover how to create pages and configure your Joomla installation.
Building a website isn't magic - it's just relatively new, and well worth taking the 4 hours to learn how to do.