What this site is made of

This site is a LAMP VPS solution hosted on ServerAxis. VPS stands for Virtual Private Server while LAMP is the traditional combination of widely known and highly regarded in the open source community CentOS Linux, Apache web server, MySQL database and PHP scripting language.

Before I go into details why I picked ServerAxis and how things are setup here, I’d like to describe some of the ideas I had in mind as I was “shopping” around for my own “virtual home”:
- First and foremost, hosting would have to be on Linux (simply because I have more experience with it)
- SSH access was a must (I’m a command line kinda guy)
- no connection lag (due to the above)
- no limitation of mySQL databases (as I had lots of projects in mind)
- as much disk space as possible (obviously)
- as much network traffic as possible (no comments)
- the environment would have to have php, perl, apache, mySQL and sysadmins would have to maintain decent library of perl mods and would not mind requests for extra mods to be added if users wished

Naturally, since this was the first online web project of my own, I decided to begin with shared hosting. You host your website on the same server with many other users and share disk, cpu, memory and other hardware resources with the others, hence the name - shared hosting.

I tried few shared hosting sites. Site5, WestHost, Brinkster - they all were okay, but I wasn’t happy with the jail shell on Site5, westhost screwed up my initial account setup and I just couldn’t trust them anymore, and frankly I don’t recall what was it with brinkster that turned me away from them, but finally I ended up on SUSO.org.

Priced at $15/month SUSO.org was a bit more expensive, than other sites I had tried, however they were well worth it. I spent few months with them and was very pleased with the level of service they provided. Mark (the owner of the company) takes great care of his customers, personally handling most of the support. SSH access (with no lag) was excellent, apache/php/mysql configuration allowed for installation of a variety of popular open source software. Unlimited(!) disk space, unlimited number of mysql databases and personal touch in customer service was what influenced the most my decision to host with them.

I realized that I have outgrown shared hosting when I exceeded number of included into their package number of supported domains (which at the time was 5). Besides, I wanted to experiment more with projects requiring wikies, various CMS, blogs management systems, forums, and so on. It was at that time when I realized that I needed more freedom and I turned to the next logical step - VPS solutions.

WebHostingTalk forum was (and still is) a terrific source of information on shared/dedicated as well as VPS hosting experience of many people. After digging through dozens of reviews I found myself on VPSlink.com. Main selling point with them was that I could start with a tiny VPS solution which would cost me as low as $7/month and later just keep upgrading it based on my demands. It didn’t take long before I upgraded to $21/month plan because things just wouldn’t compile with 64Mb of RAM :) There were few things I liked about VPSLink:

1) Their VPS management panel from which you could pick and install (reinstall) your own OS (they offered quite a variety)
2) The same VPS management panel included easy to manage/maintain DNS records (I hated the idea of maintaining my own DNS server, and that was a perfect solution for me)
3) They were inexpensive and quite reliable
4) They have a nice wiki with lots of documentation on how to install/configure things as well as a great forum where VPSLink users share their experience and help each other out with all kinds of day to day VPS maintenance tasks

The reason I left them was an unfortunate one - all of a sudden I started experiencing very annoying SSH lag on my VPS. Other people hosting on the same node complained as well. Few weeks went by but VPS staff still couldn’t address the issue and I went shopping again.

After more reading on WebHostingTalk.com and I decided to give ServerAxis a try. Account was setup relatively quickly and I started building the environment.

So, what is this site made of?

1. As I mentioned earlier, as operating system for my VPS I picked CentOS, simply because I’ve used RedHat in the past, and CentOS is built on RedHat kernel (basically, CentOS is an enterprise version of RedHat, as I read somewhere).

2. Next step - MySQL. Instead of compiling it, I decided to use pre-built package. Initialized the database, set root password and - there I was, ready to roll.

3. Next step was compiliting Apache. Went smooth, no issues there. The only thing I would recommend doing right away is to use –enable-rewrite=shared option when configuring your Apache - you will need rewrite mod if you want to be search engine optimized.

4. Next step - compiling PHP. Took me several tries, but finally I got it. I used the following options when I configured it:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib --with-libdir=lib64 --with-gd

You have to point it to apxs if you want php mod built for apache. You also have to point it to mySQL in order to have mySQL support. zlib will be required by most of the software that will be using PHP, so might as well include it right away. lib64 option is for 64bit system (which serveraxis is), and finally gd is a graphics library which came in handy in photogallery I used later. And that should pretty much do it for PHP.

5. I spent a lot of time deciding which content management system to go with. Up until recently, my experience building web sites was strictly “old fashined”. I used notepad to write static pages, and I got quite good at it. One of my latest “static” projects was community website for the condominium complex where I used to own back then: Hunter’s Key at North Palms Village, Tampa, FL. However, I felt that the time has come to catch up with the progress and adopt more efficient and perhaps more elegant approaches to web design - implement Content Management System (CMS).

After reading up on various open source CMS implementations I decided to go with Joomla. However, there were few challenges with Joomla which I failed to overcome. First, I knew nothing about CSS, and CSS is Joomla’s backbone. Second, I had hard time switching my mind from the world of static pages layed out on the file system in strict hierarchical order to this completely new concept of having a single template, with a bunch of modules glued to different spots in the template and configured to appear or disappear based on picked by user menu options. It was just too much for me. I tried put few pages in Joomla, but because I refused to use the standard layout offered by templates and unable to tweak it the way I wanted - it brought me nothing but frustration.

Next logical step was to try to use Wiki as my home page CMS. After reviewing pretty much every wiki there was out there, I decided to go with tikiwiki. Highly customizeable with plenty of options and plugins I was able to re-format it just the way I wanted and for a while it looked very promising… when suddenly I hit a wall. I could not marry tikiwiki and gd. As a result, all the images that I was loading into tikiwiki weren’t resizing automatically… it was very frustrating and at that moment, somehow I didn’t think that I could use a separate gallery for my images instead (which ended up doing later anyways). So, once again, frustrated I abandoned tikiwiki and turned my eye onto bloggins software.

I looked at Nuclues, Text Pattern and Wordpress. Wordpress seemed more appealing due to its popularity, tons of available templates/skins and extensive user community. There was only one problem - I needed a CMS system, not a blog. But I figured, since I (almost) managed to tweak a wiki to serve as a CMS - I could probably do the same with Wordpress. Luckely, latest release of Wordpress alone with categorized blog posts also supported static pages…. and one could also created sub-pages! This was pretty much all I needed to hear :) Admin interface, from where you manage your posts and static pages was quite intuitive, so I decided to run with the Wordpress.