Site Migration Notes

The migration from ***Site5|http://www.site5.com/*** to ***TekTonic|http://www.tektonic.net/*** has been going pretty well. I signed up on Thursday, December 9, and the bulk of the migration was finished on ***Tuesday, December 21|http://prwdot.org/archives/002273.html***. I’d like to share some notes of a technical nature for those of you who may be interested.

My server at TekTonic runs the ***Virtuozzo|http://www.sw-soft.com/en/products/virtuozzo/*** VPS system. It’s pretty spiffy in terms of the QoS services it provides, as well as the capability to run separate virtual machines insde one physical machine. There is a dedicated control panel which lets me start and stop my server, back it up, see if there are any QoS alerts, and monitor my system resources. I’ve found monitoring system resources to be important, since I’m only paying for 128 megs of memory.

I downloaded and compiled my own versions of Apache and PHP: ***Apache 2.0.52|http://httpd.apache.org/***, and ***PHP 4.3.10|http://www.php.net/***. I followed the basic installation instructions for the most part, though with PHP I did want to compile some custom options in so that I could get IMAP support. The user comments on ***this page|http://us3.php.net/imap*** were helpful for figuring that out. Mostly it involved passing some specific configuration options related to the IMAP support libraries.

In addition to PHP, I also installed the ***mod_security|http://www.modsecurity.org/*** Apache module. This module provides a front line of defense for web-based attacks, as well as for things like blog comment spam. I haven’t fully explored all of the options it offers yet, but it has already started working to prevent comment spam before it even reaches ***Movable Type|http://www.movabletype.org/***.

I installed ***SpamAssassin|http://spamassassin.apache.org/*** to help combat email spam. It’s taken me some work to get it fine-tuned, but with the help of their ***Wiki|http://wiki.apache.org/spamassassin/*** documentation, I’ve managed to get it working pretty well. It uses a bunch of pre-defined rules to locally filter spam based on content analysis, and it also uses some network tests, where it sends a checksum of each message to remote servers to see if the message has already been reported as spam. One problem I’ve run into is that SpamAssassin adds significant overhead to email processing, particularly if you’re using the networking tests. I’m not sure whether I’ll be keeping those network tests in place… I need to see how effective they are in detecting spam as compared to the built-in local tests. On a more powerful machine it wouldn’t be a big deal, but now that I’m managing my own system resources, I need to keep things lean and mean wherever possible.

For a good webmail system, I’ve installed the ***Horde|http://www.horde.org/*** application framework, with the ***IMP|http://www.horde.org/imp/*** webmail client. Horde just released a new generation of their software, and it’s very very nice. Horde was not terribly difficult to install… the most important thing was to get PHP compiled with all of the proper modules to support IMAP, encryption, etc. That is all covered in the Horde documentation.

Most recently, I’ve installed ***Cacti|http://www.cacti.net/*** to help monitor system activity and resources in a long-term, graphical format. This is great to help me see where and when resource usage is peaking, and to analyze what I might need to change in the future.

There are still a few things that I need to do. I need to figure out some decent regular backup solution. The Virtuozzo control panel allows me to back up the site in one big snapshot, but this is a manual process, and I can only store one backup at a time. Ideally I’d like to backup content on a fairly regular basis, weekly or perhaps with some incremental daily backups. Probably doing something like rsyncing or ssh tarring everything to my home system and backing up to CD-ROM.

If anyone has any other questions about my experiences, please let me know!

Leave a Reply

Your email address will not be published. Required fields are marked *