My Application of the Day: Kochizz for Apache2 Configuration
My application discovery of the day (well of the yesterday, to be more precise), is Kochizz. Kochizz is a Qt4-based GUI tool to get to grips with the Apache2 configuration.
[image:2959 align="center" size="preview" hspace=4 vspace=2 border=0 class="showonplanet"]
As anyone who ever tried to set up an Apache2 web server may know, this can be an insanely complicated task, because the thingie can use multiple configuration files at once, which are included and nested into each other with (you guessed it?), Include directives.
Kochizz makes that job much easier now. Mind you, Kochizz is not yet released as a stable application, but it is already in Release Candidate 1 shape. Being a Qt4 app, it means you get Linux, Windows as well as Mac OS X versions... for free. Not least because the license is GPL v2...
[image:2960 align="right" width="465" height="318" hspace=4 vspace=2 border=0 class="showonplanet"]
(BTW: clicking on one of the screenshots displays them from their original location, where you may find additional explanatory commentary about them.)
Kochizz can not only handle one server configuration at a time, it can handle many -- by using a extra tab for each additional server (or main config file variation). That is very handy if you are responsible for multiple Apache installations, or if you want to create a new configuration as a variation from an existing one.
When Kochizz starts up, it loads the config file you pointed it at, and all the nestedly included additional files, parses them for potential syntax errors (which it reports) and then displays the overall configuration directive in a tree-like display. Then you can easily change any directive by enabling or disabling a checkbox.
Attention, here is a glitch: seeing an enabled checkbox (with an 'x' in it) usually means that this part of the configuration is disabled. (The reason is: disabling a directive from Kochizz inserts a specially formated comment in front of the respecitive line, that it can also reliably remove: that comment markup consists of the three characters #$* as you can see on one of the screenshots.
[image:2961 align="left" width="465" height="318" hspace=4 vspace=2 border=0 class="showonplanet"]
Anyway... the next goodie is this: you can easily switch to a different tab in the GUI editor that displays the original config file as ASCII text. And benefit from its nice builtin syntax highlighter. And edit that, there... And see how your edited change propels back into the GUI representation of the config.
What I also do like very much: unlike many other GUI tools to edit configuration files of $someothersoftware, Kochizz preserves the original comments in your configuration.
Whatever config file(s) Kochizz has read in, Kochizz can also 'Save as...' under a different name. You can optionally pick to merge all the Include-nested config files into a single "all-in-one" file.
To run my little test I downloaded the Linux tarball and simply extracted it. It contains a binary called (you guessed it?) kochizz. (Unfortunately, the download page does not tell you which exact versions of Linux distros the binary is meant to run on.) However, on an openSUSE-10.2 system this ran without a flaw. Since the authors of Kochizz say that the application has no other external dependency (but Qt4) it should run on pretty much every Linux distro that has this dependency satisfied (On $debian, just do a "sudo apt-get install libqt4-core libqt4-gui" to get this on board). I was able to start the binary directly from the extracted tarball (which was placed on a rather obscure spot in my filesystem).
The nice thing about the builtin documentation for each config directive is this: basically, there is none... it uses the original Apache documentation instead, and it is able to jump to the correct spot there if you are looking for context-sensitive help. So you know that you get your info from the mouth of the horse, if you look up something...
What I'm missing from this release is a "Search" function, that let's me find spots of in the config containing a certain string. (The function is there, in the menu; but it didn't work for me when I tried it -- didn't find several words I searched for which I know are in the config files multiple times). Another unfinished thing: the Kochizz manual. I mean, it's there. But it's only there in French, not (yet) in English....
The authors of Kochizz, two French students, would be glad to see people joining their project for further help, now that they have made their first release.
If you like Kochizz, you may want to visit its Qt-apps page and leave a comment and your rating there.
You still are puzzled about that name, "Kochizz"? Read the authors' explanation....