Monday, June 26, 2006

Setting up a Server

Up until now, all of the hacks that I've posted here have been client-side and somewhat labor-intensive. If you want to try it yourself (and that, after all, is the point of hacking) then you have to set up Perl on your own computer, download the appropriate files and start modifying them.

For some time, I've been planning to buy and set up a server, and the recent Doing Digital History workshop at the Center for History and New Media at GMU gave me the impetus to do so. So I ordered a server, and, in the meantime, have been doing test installations of server software on my home machine, so I have some idea of what to expect. The new server will be a not-very-expensive Windows XP Pro machine with 2Gb of RAM and two 320Gb hard drives. I will be using open source software whenever possible. After three days of installing, testing, making mistakes, uninstalling, and trying again, I've come up with the following sequence.

1. Install XAMPP. In order to run a minimal server, you're going to need a webserver (Apache), a database server (MySQL), FTP client and server (FileZilla), a way to make dynamically generated web pages (PHP) and an all-purpose programming language (Perl). In my first few attempts, I tried installing these packages separately and then trying to get them to work together. This turned out to be less straightforward than I had hoped, and I was in the process of trying to debug my installation when I discovered that it is possible to install everything you need in one pass. This is not only much faster, but everything works together as advertised. Once the basic XAMPP package is installed, you will want to install the Perl and mod_perl addons, and fix potential security holes. Before the following step, you will also need to enable CURL for PHP.

2. Install WordPress. At the workshop, I was very impressed with the way that Josh Greenberg was able to quickly set up a workshop website, blog, syllabus, links to readings, individual blogs for class members, group blog feed and wiki. The magic behind this was WordPress, a popular open source package. If CURL is enabled for PHP (see step 1) it is very easy to import your existing blogs from Blogger and other popular sites. There are also a number of different themes available to change the look and feel of your site or of various parts of it. After playing around with Alex King's Theme Browser, I downloaded about a dozen themes for further experimentation.

3. Install Streetprint Engine and/or Greenstone Digital Library Software. I want our public and digital history students to be able to create online repositories with a minimum of effort. These two packages both worked very well in my test installations; the former is easier to use and more oriented toward page-at-a-time display of images or artifacts, while the latter is oriented more toward libraries. I will probably install both and use whichever is more appropriate to a particular project.

4. (Optional) Install content management system. I experimented with Joomla! and Drupal and decided not to install a CMS, at least not yet. Both systems allow users to create database-driven websites without programming, but I figure that WordPress will give me most of the functionality that I need. Besides, I want my students to program!

More once the server is up and running...

Tags: | | | | | |