Big Web Five, No. 5: The web server…

The fifth and final portion of the web development stack of goodness, the web server, has traditionally been ignored by many web designers. After all, the only choice is between Windows and Apache, is it not? What more do you need to know.

Well, a lot, if you really want to grasp the power of web applications with both hands. Far from being just a hard drive connected to the ‘net with your website on, the server is the veritable brains, brawn, soul and heart of a web application. Whereas you could write a decent website without CSS, JavaScript, server-side scripting or HTML (remember, WML, XML and other langauges will display in a browser), try running a site without a server. No server, no website.

So it makes sense to understand a little bit about what the web server – both the hardware and software – does. This isn’t the place to discuss that, partly as I only know enough to get myself in trouble, partly because that isn’t what I want to talk about. What I do want to mention is a little thing I’ve been using more and more over the last year and has proven itself to be a formidable tool in the hands of any web developer – the .htaccess file.

Basically, a .htaccess file is the Swiss army knife of URL manipulation, or they “provide a way to make configuration changes on a per-directory basis”. The capabilities of this little file are quite amazing, and I’ve mentioned several tools and websites I’ve written that use just a few of the features to make things possible that using more traditional web development techniques would be almost impossible.

So, using the power of server modules and functions – of which htaccess is a prime example – means that you can manipulate your site in a myriad of ways, making it more useful to users and easier to maintain. Take this fantastic system for example. It allows you to harness the power of htaccess (the server), PHP (server-side scripting), CSS (presentation information) and HTML to generate mobile phone-friendly web pages. Great stuff.

So, for my last example of a web application that uses HTML, CSS, JavaScript, server-side scripting (PHP), the power of the web server – and, as if that’s not enough, a database as well – may I introduce projectGenie. As the name may suggest it’s a project management system specifically designed for web development teams and has among its features:

  • Customer and contact management
  • Different levels of access
  • Management of projects tasks and bugs
  • Forum-style notes for each task and bug
  • Simple version management
  • To-do lists for users
  • File attachments for projects, tasks and bugs
  • Membership of projects
  • Comprehensive admnistration facilities
  • Detailed manual

You can log in as a guest and play around with it, let me know of any problems you find. One major thing to note is that some of the lists won’t work as they require a newer version of MySQL than I’ve got. I’m working on that and will try to get it fully working soon. The details to log in with are:

Username: guest
Password: guest

Of course, this isn’t anything ground-breaking (although I am quite proud of it), but it does demonstrate the different areas of web technology working together to make something useful. But then again, every website does that, doesn’t it? It’s a magic mix, and the fun is in the kneading.