Episode: 1394
Title: HPR1394: Setting Up Your Own Blog
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1394/hpr1394.mp3
Transcribed: 2025-10-18 00:44:17

---

...
Hi, my name is Keith Murray, I'm a developer and software architect from Vancouver, back
for another round of hacker public radio.
I was trying to decide what to choose for a topic this time around and turn to the requested
topics list on the HPR website.
There are a lot of great topic ideas on the list, but not many that I know a whole lot
about, so I'm here today to talk to you about setting up your own blog.
I know that the vast majority of the HPR audiences are probably familiar with the concept
of a blog, but just in case you need a refresher, here's a short definition.
A blog, short for web blog, is a website typically consisting of chronologically listed posts
or articles, often on a particular topic or theme, and that's really all it is, a collection
of similar, smaller works gathered together in a consistent format.
I've linked to the Wikipedia article in the show notes for a more precise definition
and a little bit of history.
I'm going to make the assumption that the HPR audience would be more interested in the
guts of actually setting up and configuring a blog, rather than an explanation of how
to sign up for something like one of the commercial blog hosting services like WordPress.com
or Squarespace.com.
Before diving into the depths of setting up our own blogging platforms, you will need
to figure out where the blog will live, or more precisely where it will be hosted.
Hosting at home when your own server gives you the most control and flexibility of your
server, but may not provide you with the experience you desire.
Websites are hosted by default on a couple of specific ports, 80 and 443.
Many ISPs will block these ports to outside traffic.
This isn't a problem if you only want the blog visible on your home network.
If however, you're planning to share your thoughts and insights with the world at large,
you may need to find someone else to do the hosting for you.
Web hosting services, and again, I'm not talking about blog hosting services, that's
another show.
Our company is that provide you with space to host your website.
While there are almost as many hosting options as there are stars in the sky, well, okay,
maybe not quite that many, but you know what I mean, I'm going to focus on three simple
server setup scenarios.
The first type of access is FTP only.
This is the kind of service that most internet service providers will give you as a perk
of your service with them.
They give you some server space and an FTP password, and that's about it.
The best part is usually the price, free, with your internet service, of course.
There are a couple of downsides to this though.
The first one is lack of features.
The other is sort of binds you to your ISP.
If your website is www.yourisp.com slash your username, that's not only a really ugly URL,
but you would probably have to move the website if you decided to change providers down the
road.
All in all, not a particularly good deal, despite the price.
Shared hosting providers typically offer a more complete hosting package, often including
a year's domain registration with a hosting plan.
Other services may include web-based administration tools, large disk space allocations, email
hosting, and more importantly, shell access.
For me, the latter has been a requirement of every hosting provider I've signed up for.
Having the ability to connect to the back end of your website over an SSH tunnel offers
you tons of flexibility and the ability to better understand what's actually going
on under the hood of your website.
The shell access is often restricted, however, and in the vast majority of shared hosting
scenarios, you won't have rude access to the server and are thus restricted from installing
software or making fundamental alterations to the underlying system.
For those wanting to retain even more control over their environment, the best option may
be a virtual private server, or VPS.
A VPS is essentially a virtual machine hosted in the provider's data center that you
have all to yourself.
You get rude access to the machine, and you can pretty well do anything you want with
it, within the jurisdiction of legal boundaries, of course.
This means that you can install software, change settings, and generally raise a ruckus
on your shiny new server.
It also means that, for the most part, you'll need to get yourself out of any server-side
quandaries.
It provides you with a very high degree of freedom, and in my estimation, is one of the best ways
to learn how to administer a server and brush up on your ninja-like command line skills.
So, now that we've covered off some hosting options and figured out where you want to
put your blog, the next choice is what you want to use to actually serve and manage your
blog.
I'm going to touch on three options again, each one tailored a bit for each of the server
options above, but as I said, there's tons of ways to actually put these scenarios together,
so you'll have to poke around and figure out what works best for you.
The most old school way to set up your blog would be to have manually edited HTML files
and push them up to your server over FTP.
This method will work with all of the server configurations I spoke about earlier.
All you need for this is the basic FTP access.
All of the tools that you need to edit your site would actually be on your computer,
and then you simply upload the finished files to the server.
This is fine for small, simple websites, but can quickly get unwieldy with larger projects.
That of course is the price that you pay for simplicity.
There are tools to help you manage these types of sites, however, a few of these were
discussed on a summer 2013 episode of Going Linux that I'll link to from the show notes.
The review covers several tools which had been evaluated for helping to maintain the
show's website, which was built using the static page plus FTP method.
By far, the most common method these days is to maintain a blog using some sort of blogging
software.
As I mentioned in the opening, there are a number of services which offer to host your
blog for you.
Many of these also have a corresponding software package that you could install on your
own shared hosting server or VPS, and allow that to take on the hosting function for you.
There are a number of options available, and several of these are open source to a greater
or lesser degree.
The most common choice by far these days is WordPress.
Originally conceived as a fork of an open source blogging tool called B2 or Cafe Log,
WordPress has evolved into a leader in the field with large numbers of people using
the software to host their blogs.
To get started with WordPress, you need to have a server with some sort of web server
software, most commonly Apache or EngineX, a database, most commonly MySQL, enough disk
space, and of course permission to host the blog.
If you're setting up your own server, distributions like Ubuntu will let you choose to install
a lamp stack, either at install time, or afterward by installing the components using
the apt package manager.
Lamp in this case refers to the combination of Linux, Apache, MySQL, and PHP, which form
the underlying components required to allow WordPress, and many other software packages
to run.
Other distributions offer similar options.
Since there are dozens of tutorials on the web about setting up a typical lamp stack,
I won't get into that on this episode, but once you have a working server, you can
download the latest version of WordPress from the WordPress.org website, uncompress it,
load it into a browser, and follow the setup instructions.
If WordPress is a little too common for you, there are lots of alternatives, among them,
long time WordPress rivals, Jumla, and Drupal.
From a technical and system perspective, the experience is much the same as setting
up WordPress.
Drupal and Jumla both need a web server and PHP in a database to function, and because
getting step-by-step installation details in an audio podcast is a little bit challenging,
I've added installation guides for Jumla, Drupal, and of course WordPress to the show notes
for this episode.
One final model of blogging software is the concept of a static website system.
Much like the first option, the blog ends up being a collection of static HTML pages,
images, and style sheets, and in some cases, JavaScript files.
However, like the second example, there's no need to manually code all of the files, because
the website is built using a script or a piece of software.
These programs will process a set of input files and create the entire website automatically.
The website can then be uploaded over FTP like the static file website, or these site
generation scripts can be run on your VPS directly, and in some cases, even on shared hosting.
One big advantage to static websites is speed.
Because none of the content is being generated when users access the page, and there's
no database to query, the pages typically render far more quickly than they would in a software
package like WordPress.
In addition, because the content is just simple static files, these websites are generally
more secure since no code has to actually be executed, and no scripts have to be run when
the pages are loaded.
This reduces the attack service on your web server, particularly if, in the case of a VPS,
you don't have extensions like PHP even install on the machine.
The website generators typically take content files written in plain text or a text-based
format like HTML or Markdown, and run them through a manual or automated process that
merges the content with templates that are written in HTML or templating language like
YAML.
These produce a complete website that's ready to be deployed or copied up to your web
server.
Static files can be stored on your machine where the script runs, or they can be shared
location like in a Dropbox folder, or even outside the file system, in a version control
system like Git or subversion.
One example of a fairly popular blogging tool is Jekyll.
This is the engine behind many of the project pages at GitHub.
The system is written in Ruby, and is designed to pull source files from a Git repository,
like those provided on GitHub.
Another option is the PHP-based secondcrack, which can be configured to read source files
from a shared Dropbox folder, making editing on the fly from your phone, or from a tablet
pretty easy.
For more information on static site generation, check out HPR episode 1370, where Tony
Palais gets into detail on static site generation, and a tool called Octopress in particular,
which is a technical descendent of Jekyll.
Regardless of how you decide to tackle it, with one of the solutions I've talked about
today, or a managed pay service, the most important part of any blog is the content.
It builds yourself a solution that works for you and allows you to put up the content
on your terms and in your own time.
The only right solution is the one that actually gets you writing, so get out there and show
us how it's done.
I hope this has been helpful in getting you interested in tackling your own blogging
project.
If you're interested in any of the other things I can do, you can find me on Twitter at
kdmurry or my blog at kdmurry.net.
Thanks for listening.
Today's show, like all our shows, was contributed by a HPR listener like yourself.
If you ever consider recording a podcast, then visit our website to find out how easy
it really is.
Hacker Public Radio was founded by the digital dog pound and new Phenomenal Computer
Club.
HPR is funded by the binary revolution at binref.com, all binref projects are crowd-sponsored
by linear pages.
For shared hosting to custom private clouds, go to lunarpages.com for all your hosting
needs.
Unless otherwise stasis, today's show is released under a creative comments, attribution, share
a line, free those own license.
