So You Want to Host Your Own Blog...
This guest post was submitted by Dave Miller of Dave's Blog. You can also find Dave as "DaveAtFraud" on StumbleUpon as well as a number of other blogs and discussion groups.
The premise for this article is that you want to know what it would take to host your own blog. Obviously, if you expend enough money, you can do anything so the narrower question is how to run your own blog and not spend a prodigious amount of money. Given this question, I'll describe how I set up and host my blog at Dave's Blog.
I decided to run Linux a long time ago so naturally my host operating system is a Linux distribution. In keeping with the theme that what is described in this article shouldn't cost a lot, I run CentOS which is a free derivative of Red Hat Enterprise Linux (RHEL). There are a number of Linux distributions to choose from but I started out running Red Hat Linux 5.0 in 1998 and, although I've tried some of the alternatives, I've stuck with Red Hat or a clone such as CentOS. The resource section has information regarding alternatives to CentOS. Likewise, I settled on WordPress for my blog and, again, the resources section has a link to sites that allows you to compare various blog software.
The combination of CentOS Linux and Wordpress means my software cost for my blog was zero. Running CentOS Linux means I also get the Apache web server, a very effective firewall and authoring software. The downside is there is a somewhat steeper learning curve and support consists of posting questions on various forums or mailing lists and hoping for a reply.
Finding an ISP
If you want to host your own blog, the first trick is to find an Internet Service Provider (ISP) who will let you run a web server. Most of the large ISPs do not allow residential customers to run any sort of server. Your best bet is to see if there are any smaller, local ISPs that service your area. You will probably still need to pay a little extra for a business account that gets you a fixed Internet Protocol (IP) address but smaller operations tend to be more flexible than big corporations that only sell specific packages. Be up front and tell them what you want to do and you'd be surprised how many people will let you do it.
I'm sure if my web site and blog start generating a significant amount of traffic, I'll have to find another arrangement. On the other hand, if I'm generating that much traffic, I'll hopefully be able to monetize my blog and pay for hosting. The hint here is you don't need a fat pipe to the Internet when you're just starting out. I'm running my web site and blog over a megabit connection which is sufficient for now. Your local telephone directory is a good place to start for finding the local ISPs for your area.
Getting a domain
Before you buy a suitable server computer and start installing software you need to make it so people can find you on the Internet. This is done by registering a domain. In theory, this should be really simple. Unfortunately, competitive pressures mean you need to be careful or you'll have to pay extra to get the domain name you want.
At least one domain registrar is currently the target of a class action suit over this issue. It seems they would register any domain that people checked on for availability so they could then sell the domain to the person who had just checked on it. Your best bet is to come up with a list of several possible acceptable domain names for your blog. These should be unique and somehow tie to either you or the subject of your blog You can see whether someone is actually using a domain name by just typing it into your browser's address bar. A “not found” doesn't mean it's available but hitting a site definitely means it's not available. When you're ready, hit one of the registrars in the resources section (I use Go Daddy) and just attempt to register the domain name you want starting at the beginning of your list.
The registrars I've dealt with will provide Domain Name Services for your domain at your option. Unless you also want to learn about running a domain name server (DNS), select this option. The registrar will need the fixed IP address you got from your ISP in the previous step.
Setting up the server
At this point I'm going to assume you have registered a domain and lined up an ISP for your blog. The next step is setting up a server for your blog. As with your Internet connection, you don't need a whole lot in the way of hardware when you are just starting out. Until the motherboard died from bad capacitors, I was running my web site and blog on an AMD 1700+ CPU with 768 MB of RAM. The bad motherboard forced me to upgrade so the site is now hosted on an AMD 2400+ CPU with 2GB of RAM. The bottom line here is you don't need high end hardware to start out. Whatever you come up with just needs to be reliable with either of the above systems as a reasonable bottom end.
I won't go into details about installing the software or basic system configuration. Pick the server install option and configure the system's firewall so that port 80 is open for your connection to the outside world. The interface will use the fixed IP address you got from your ISP (see above). Make sure that you include the MySQL database and the Apache web server as part of the operating system installation.
Once the install is complete and the system has rebooted after the install you can start Apache and you should be able to use a browser to navigate to your domain and see the Apache test page. At this point you need to install WordPress or whichever blogging software you will be running. Installing WordPress is really easy and is well documented in the WordPress installation instructions. Since I also run a web site as well as my blog on my server I chose to just include a link on my site's main page to my blog as well as publishing my blog's URL (http://davenjudy.org/wordpress).
About the only gotcha I ran into was the default CentOS install did
not include the PHP-mysql libraries (WordPress is written using the PHP
programming language). Once these were installed, WordPress worked as
advertised.
Maintaining your server
As if the above was not enough, there's still more work to do. If you want to be taken seriously as running a blog, you need to make sure your blog is available and you don't lose content. This means you probably need to have your server attached to an uninteruptable power supply (UPS) and you need to make some sort of arrangement for backing up your blog's content. UPSs are available at most retail stores that sell computers. Talk to a salesperson there or hit one of the UPS manufacturers' sites to size a UPS for your server.
Backups can be as simple as just having two hard disks on your
server and keeping a copy of your blog's content on the second drive. A
fact of computer life is hard drives die but there is a fairly small
probability that two independent drives will both die at the same
time. Alternatives include writing the backup to a muti-session DVD or
CD or tape systems, etc. You may also want to consider setting up some
type of RAID for your server but RAID only protects against a drive
failure; it doesn't protect against deleting the wrong thing.
Closing thoughts
Hosting your own blog and web site is kind of neat but definitely not for everybody. It takes a serious commitment since there will always be things to do like upgrading and maintaining the server software. Hopefully, this article has provided you with some insight into why it's a good idea to just go with a blog that's hosted by someone else unless you're really serious about hosting it yourself.
>> Looking for a blogging gig? Please consider writing for IGTB.
>> Subscribe to this blog.
Resources
The following resources fill in quite a bit of detail or provide alternatives to what I have described.
Introduction
The main article contains links to CentOS and WordPress if you decide to go the same route I did. If you want to look into alternative Linux distributions (distros in Linux speak), Really Linux has a good discussion of what you should consider when choosing a Linux distribution. DistroWatch has very comprehensive coverage of almost all Linux distributions. If you try your own Google search to compare Linux distros, be sure to consider how current the article is. I ran across quite a few fairly dated comparisons when researching this article.
This page has the best comprehensive and compact comparison I have found of different blogging software packages. This site lets you easily compare any two blog packages if that works better for you.
Getting a domain
I have been very happy with Go Daddy as my domain registrar. You may also want to consider Verisign or search for other choices. Verisign has been accused of snatching domains as they are searched.
Configuring the server
Apache.org has the complete manual for the Apache web server on-line and it is also included as an install option. The Apache server configuration file (/etc/httpd/conf/httpd.conf) is well commented and provides some good examples. You may be tempted to use a graphical server administration tool such as webmin or PHP-MyAdmin. If you go this route, be aware that you need to very carefully secure these since they provide full administration capability. I see several attempts to crack PHP-MyAdmin each week on my web server and I don't even run it (hint: just hiding it isn't enough).
You may find it helpful to install a second network card on your server so that it is accessible from an internal network. Discussing how and why you would want to do this is beyond the scope of this article.


1&1 is one of the top hosting services right now for a couple reasons.
1. They are cheap.
2. They have good customer service if you're only a beginner.
Here's the URL
http://www.1and1.com/?k_id=17299587
Posted by: mrmet44@hotmail.com | March 19, 2008 at 05:21 PM
Thanks for the pointer to 1&1. There's a good probability that I'll switch to a hosting service at some point.
I know better than to claim I've learned everything there is to learn about running a web site. What I will say is that I've learned about as much as I'm likely to learn from this scale of operation. I just know that managing my stuff at a hosting provider won't be nearly as much fun.
Cheers,
Dave
Posted by: David G. Miller | March 19, 2008 at 11:22 PM