Starting a blog (pt2)

Find Hosting and Getting a Domain Name

So you want to start your own blog, but you’re lost in a sea of web hosting choices. Luckily for you, I’ve already spent a lot of time researching and have decided to share my knowledge and experience to save you some time and trouble.

Picking a web host is one of the first decisions (and most expensive) you will have to make when starting your own site. Since hosting isn’t easy to change once it is setup and it is typically the most expensive aspect of starting a blog, it is scary choice to make–one that requires knowledge and deliberation.

Hosting essentially has two aspects. One, of course, is what company to go with. The second is technical specifications. In reality, the technical side is just as important as the cost side of the equation. Without the correct technology your site will be setup for failure before you even begin building it.

When you are shopping around for a host you need to have a basic understanding of some technical terms and concepts before you will be able to decide on what company and hosting package to go with. If you pick the wrong type of web hosting package, your server might not support the software you need to run the type of blog you desire. Also, if you are deciding on a web host by price alone you may get what looks like a great deal, but in reality isn’t. Therefore, an understanding of the following terms and concepts is essential.

Servers come in two basic breeds: Windows and Unix (Linux is a subset of Unix). Windows Servers typically run IIS, ASP.Net, and SQL Server. Unix on the other hand typically utilizes Apache, PHP, and MySQL. Of course, there are other server configurations, but these are the most common.

Web Server: A computer program that resides on a server that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them Web pages, which are usually HTML documents and linked objects (images, etc.).

  • Apache: Apache is an open source HTTP web server that can run on just about any operating system. Typically, Apache runs on Linux servers. Apache is notable for playing a key role in the initial growth of the World Wide Web, and continues to be the most popular web server in use, serving as the reference platform against which other web servers are designed and judged. More than 60% of sites on the Internet use Apache (M and L Adventures included)
  • IIS (Internet Information Services): Microsoft’s Web server. IIS runs on Windows based servers. It is the second most popular web server (behind Apache). The only reason (at least for most bloggers) to go with IIS over Apache is because IIS supports ASP.Net. IIS web host are more expensive because IIS is not free like Apache

Web Programming Languages: Programming languages that are utilized to write web sites. Traditionally web sites were written in HTML. Over the years sites have become more dynamic and more heavily utilize server side languages. Each language has its own set of pros and cons, but most can accomplish the same tasks.

  • PHP: is an open source programming language. Originally designed as a high-level tool for producing dynamic web content, PHP is used mainly in server-side applications. PHP is very powerful and has a large community of supporters. A bunch of other open source web software is written in PHP and almost all Apache servers are configured to support it. So if you looking for the cheap and powerful solution PHP may be for you. This site relies heavily on PHP.
  • ASP.Net: is a set of web development technologies marketed by Microsoft. Programmers can use it to build dynamic web sites, web applications and XML web services. It is part of Microsoft’s .NET platform and is the successor to Microsoft’s Active Server Pages (ASP) technology. Programmers can write ASP.NET code using any of the different programming languages supported by the .NET Framework, usually C#, Visual Basic.NET, or JScript .NET, but also including open-source languages such as Perl and Python. ASP.Net is typically written in an integrated Development Environment (IDE) such as Visual Studio 2005. In an effort to compete with powerful open source technologies Microsoft has created a free version of Visual Studio called Visual Web Developer 2005 Express Edition. ASP.Net requires an IIS server and the hosting is usually more expensive.
  • RoR: Ruby on Rails is what many of the savvy Web 2.0 developers seem to love. Ruby is a the programming language and Rails is the web application framework. It strives for simplicity and allowing real-world applications to be developed in less code than other frameworks and with a minimum of configuration. The Ruby programming language allows for extensive metaprogramming, which Rails makes much use of. This results in a syntax that many of its users find to be very readable. The main con is that not every web host supports it yet. RoR is free and it can be downloaded from http://www.rubyonrails.org/.

Database: Technically a DBMS. It is the backbone of most web applications. The database stores information that can be accessed via a web language or through SQL. The DBMS is the software that manages the database.

  • MySQL: MySQL is a free database that is popular for web applications such as MediaWiki or Wordpress and acts as the database component of the LAMP and WAMP platforms, and for open-source bug tracking tools like Bugzilla. Its popularity as a web application is closely tied to the popularity of PHP, which is often combined with MySQL and nicknamed the Dynamic Duo. It is easy to find many references that combine the two in websites and books. My site utilizes MySQL
  • PostgreSQL: is a free object-relational database server (DBMS), released under a flexible BSD-style license. It offers an alternative to other open-source database systems as well as to proprietary systems. Godbit has a nice article that explains some of the difference between PostgreSQL and MySQL.
  • SQL Server: Microsoft SQL Server is a relational database management system (RDBMS) produced by Microsoft. SQL Server is commonly used by businesses for small- to medium-sized databases, but the past five years have seen greater adoption of the product for larger enterprise databases. It is very powerful and a bit pricey. For smaller sites and in an effort to compete with MySQL Microsoft has developed SQL Server 2005 Express Edition which can be downloaded for free. SQL Server requires a Windows Server (so you will also need IIS)
  • Microsoft Access: A smaller, less powerful DBMS. It is great for personal/small application use, but not ideal for web sites because of limited multi-user support and not being designed for a client-server environment..

Storage, etc.

  • Disk Storage: Exactly what it sounds like. It is just like hard drive space. The more storage you have, the more stuff you can put on your site. In reality, websites don’t require a ton of storage space, but I do recommend getting at least 1 GB (1000 MB) so that your site has plenty of room to grow.
  • Bandwidth: is the amount of information downloadable from the web server over a prescribed period of time. In essence, it is the rate [data/time], but the time in this case is not seconds but rather a month or a week. So this rate is not like 56K or broadband, etc., which are also bandwidth but are measured per seconds. Web hosting companies often quote a monthly bandwidth limit for a website, for example 2GB/month. If visitors to the website download a total greater than 2GB in one month, the bandwidth limit will have been exceeded. All you need to know that more Bandwidth is better. However, unless you are expecting tons of traffic are will be providing large file downloads there isn’t really any reason to be concerned with Bandwidth because most web servers provide plenty to support normal web site usage.
  • Email Accounts: This allows you to use your domain name in an email account. For example yourname@yoursite.com. Most hosts allow you to create several email accounts and also provide some form of web mail access. I don’t like using a host’s web mail access so I just set up my accounts so that my email auto forwards to my gmail account. I have gmail configured to send email from those accounts. Zymic Forums has a nice tutorial on how to set this up. Gmail Hosted is another option for users who need to manage several email accounts.
  • Domains: Simply the .com, .org, etc.
  • Sub domains: like having a site within a site. For example, tutorials.mandladventures.com.
  • Secure Sockets Layer (SSL): This is only needed for sites that need added security. An example use would be credit card transactions.
  • Control Panel: A Control panel in web hosting refers to the interface provided by the hosting company for the maintenance and monitoring of the hosted website. Many are host specific, but two common examples are cPanel and VDeck.
  • FTP: The File Transfer Protocol provides a way to upload files to the server. Once connected, the client (your PC)can do a number of file manipulation operations such as uploading files to the server, download files from the server, rename or delete files on the server and so on. Every good host provides FTP access to your web server.

    Shell: If you don’t already know what this is then you most likely don’t need it. If you do know what this is you probably don’t need to be reading my basic tutorial. Just in case your are wondering a Shell is a piece of software that essentially provides a kind of interface for end-users. Typically, the term refers to an operating system shell which provides access to the services of a kernel. Shell access may or may not be provided by a web host. Only power users, those who need to directly modify server settings, will ever need Shell access.

Domain Names Getting a .com is the easy part. The only hard part about it is determining what name to go with (I’ll leave that up to you. My only recommendations are to make it easy to spell, easy to remember, and unique). Most web hosting plans come with one free domain name registration. So, if you don’t already own a .com than I recommend using your host to register the domain name because it is free and requires the least amount of work.

If the host you decided to go with doesn’t offer the service, than I would considered finding a different web host. If you already own a domain name you have two options: 1. Transfer the registration to your host or 2. just transfer domain to your hosting (leaving the registration with the place you purchased it from). Check your hosting company and registrar for detailed instructions on how to do this. F.Y.I. iPowerWeb appears to have a cheap (as in $2.95 a year) domain name registration service for those of you who need to purchase additional domains.
What does all that means for you? In reality, the main choice boils down to Windows with IIS and ASP.Net or Linux with Apache and PHP. Trendier hosts also support the newer Ruby on Rails which is good if you want to learn a cool language and be in the Web 2.0 crowd.

Certain Content Management Systems (CMS) and blog platforms (to be covered later in the series) are based on certain web language and database combinations. For the software to work correctly, you will need a web server that supports the combination you are looking for.

In addition, you need to ensure that the hosting plan has adequate disk storage and bandwidth. Most web applications require a database so I recommend choosing a host that will allow you to run at least 3 databases (ideally each application will use a separate database). Dreamhost has unlimited MySQL database support. Another recommendation is to pick a host that will let you host as many .coms as you want on a single plan (once again Dreamhost offers this). Also, be sure that the host offers enough email address.

Now that you are armed with some basic knowledge go pick a host. Here are some lists to help you do additional research.

Popular Web Host

Free Hosting Options If you are unsure how much you are going to blog or if you don’t care about the professionalism of having your .com, there are some free options available. Most free hosting is advertiser supported, so be prepared for banners on your site.

Additional References

My Recommendation:

  • Dreamhost (best value and feature combination)

The first person to say “I want dreamhost” in the comments below will be eligible to get a “very good” discount on the price of hosting. I’ll contact you through email for more details. Everyone else can use the promo code “MandL” to waive the $50 first time setup fee.

Disclaimer: Though I have done my best to ensure the accuracy of this information, it is still provided As-Is. Furthermore, this is a very generalized overview of web hosting. With so many different server setups available, not all heuristics will hold true. Also, since I have not had experience with each of those hosts I can not assume liability for a bad referral. Before submitting payment to any site always research the trustworthiness of the business. Leave any questions, comments, complaints, and/or suggestions in the comments below.

7 Responses to “Starting a blog (pt2)”

  1. J. Radley says:

    I want dreamhost (please).

    Quite like your blog. Very helpful when I wanted to add Google Maps to our church website. Thank you!

    Pardon the gishpuppy address (though I suspect you understand).

  2. Matt says:

    J. Radley,

    Thanks, I’m glad you liked the Google Maps tuturial. If you don’t mind, what is the URL to your church website? I’m always curious to see how my map tuturial is used.

    Don’t worry about the address. ;)

    I’ll email you the promo code later today. I still have to set it up. If I wasn’t about to leave the house, I would do it now. Hope you understand. It will be a very good discount :)

    Thanks again for the comment.

  3. [...] New to the series? Then checkout parts 1, 2, 3, 4, and 5 [...]

  4. [...] to the series? Then checkout parts 1, 2, 3, and [...]

  5. [...] to the series? Then checkout parts 1, 2, and [...]

  6. [...] New to the series? Then checkout parts 1 and 2. [...]

  7. [...] Find hosting and getting a domain name [...]

Leave a Reply

  • All About Me

    I'm a recent college graduate with a degree in information systems and work as an IS Internal Auditor. I enjoy creating websites and learning about new technology. The best way to get me away from the PC is a good camping trip or mountain bike ride. Want to learn more?