servers

Wow, I have been busy

Ok, sorry, this is a teaser to a series of more posts I'll try to get put up over the course of the week, but I will give out free samples:

1) IRL: Wow... where to begin. I moved into my own apartment by myself, it's quite a different experience. I've been working 5-6 days a week just to cover my expenses, and managed to get promoted to assistant manager in less than a year. Now if I could only get a raise...

2) Server tweaks: Because no server is ever good enough, I've been very busily working on my servers and network infrastructure. Long story short, I've made some major architectural changes to my LAMP stack by replacing Apache's mod_php with PHP-FPM (FastCGI Process Manager).

3) Introducing Connor Behan: My friend has been renting space on my server from me for 2+ years and he only recently got around to actually using it. Lots to share about our adventures with Arch Linux + Lighttpd/PHP-FPM (and some caveats about the latter), and setting up multi-core Apache Solr to serve search queries for two Drupal sites.

4) APT repo and LAMP-related back-ports: I needed to back-port PHP to get PHP-FPM on Lucid, and while I was at it I decided to do the same for Apache, and Lighttpd. And since I went to all that trouble, naturally I needed a repo to house them in.

So, that's what I plan to cover over the week in more detail including how-to's and pictures. Stay tuned.

SNMP monitoring with Zenoss

Monitoring Dashboard

Zenoss is a web-based SNMP management/monitoring tool that you can use to track the health of your servers and networking infrastructure. Zenoss comes in two editions, Core and Enterprise. This will be a short how-to on setting up Zenoss Core to monitor your home/lab network with SNMP. I won't go over setting up the various options of Zenoss, I'll let you read about that on their docs.

Start by downloading and installing the appropriate version of Zenoss for your distribution, or a VMware image if you want to go that route. I installed the Zenoss stack on an Ubuntu 10.04 virtual machine.

sudo dpkg -i zenoss-stack_3.1.0_i386.deb

The next thing to do is configure SNMP on all the machines you want to monitor.

New Server

Core 2 Duo 2.93ghz, 2gb DDR2-800, 500gb HDDs

New Server

The rumours of my death have been greatly exaggerated

New Server

My life changed pretty significantly starting January this year. My parents announced their impending divorce, my girlfriend of the time broke up with me not long after, my grades in college began to slip... It's been a crazy year to say the least. In the last 6 months I've moved twice, put up with 'temporary' accommodations, and generally felt like my entire life was in flux. I'm glad to say things are finally starting to balance out now. I have moved closer to town where I don't need to rely on others for transportation, and managed to find a job not far away (no small feat in a blue-collar city like Hamilton where the job market has really hit the dumps).

I finally got my servers and other infrastructure online today, as you can see if you're reading this. Not only that, but I've finally gotten a brand-spankin' new server as well. This site is now hosted on a very fast Core 2 Duo 2.93ghz with 2gb of DDR2-800 RAM, and a couple 500gb hard drives. I took the opportunity to also upgrade to the latest long term support release of Ubuntu, 10.04 Lucid Lynx. All-in-all, I'm very impressed with this release. I've had to do barely any manual configuration for any of the services I'm running: Apache 2.2, PHP 5.3, MySQL 5.1 and Tomcat 6 with Apache Solr. Getting Drupal back up to date after months of being offline was quite a chore however...

In conclusion, I am very much still alive, and good things are coming my way. This is a new life, and I don't intend to let things get as bad as they were before this time around.

Followup on my web server

Just a followup on this post I made a little while back about my plans for replacing my web server. I replaced it about 2 weeks ago now and I am only now getting around to writing about it. What can I say? I've been busy.

I used old parts I had laying around because I really couldn't justify spending money on a new server at this point in time but still felt I needed it. This was a compromise. I ended up with this:

  • P4 2.6ghz with hyper-threading
  • 1gb (2gb soon) DDR-400
  • 40gb system drive
  • 160gb data drive

It seems like only a modest improvement over what I had before, but it is definitely noticeable. The improvement is most apparent with VMware Server, which I am using to host 4 virtual servers concurrently to handle other websites I host. I am still running my own sites on the hyper-visor.

The coolest thing about getting the new server though is that I now have a fully redundant backup in the old server. I use shell scripts and cron to keep the web root, Apache configuration, and databases synchronized.

My next web server

I think I'm long past due replacing my current web server with something more capable and powerful. While my current server does its job well, I'd like to expand it's roles and for that, I need beefier hardware. Currently, I am considering using virtualization to provide virtual servers for everything I need, rather than exposing the "bare-metal" to the internet. Right now I'm not completely sure on what hypervisor/virtualization software to use, but will most likely use something from VMware, specifically, VMware Server or VMware ESXi, both of which are free. There's also Xen and KVM to consider.

Some experiments with Lighttpd/FastCGI

I setup Lighttpd 1.4.18 with FastCGI support for PHP on my development server last night just to see if it's gotten any better since I last tried it. So far so good, at least setup and install went much better this time. Ubuntu has had Lighttpd in the repos since Dapper (although only Gutsy and Hardy are up to date.) Setting up FastCGI was easy this time around, I didn't get any server errors at all, although it's possible I only owe this to better understanding of the documentation. Just for kicks, I also installed eAccelerator, which is a PHP op-code cache that I've been using on my primary server for a few months along with some other performance tweaks (mostly various types of caching.)