My Application of the Day: Kochizz for Apache2 Configuration

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....

See also a few details about the screenshots: shot 1, shot 2, shot 3.


This entry is long, so could you please add <!--break--> after the first section of this entry?
This helps using the web site. thx

regards, Jarosław Staniek
KDE4/KOffice/Kexi development

By Jarosław Staniek at Wed, 08/29/2007 - 22:41


First of all thank you for this fair review of Kochizz, all your remarks are right and relevant !

About the search function, I think indeed it has to be improved : the search is performed on the object that has focus when the item menu is clicked, so I guess that when you searched your token it was not found because the treeview had focus...
Improving the user information of where is searched the token and developing a global search function are priorities for the next version !

We also want to develop support of remote protocols (SSH, (S)FTP) to give ability to edit remote configuration files and to drive remote servers.

We apologize that the manual is not written in English, but we consider our English skills do not enable us to make a beautiful manual... If someone want to join us to translate the French manual, or to develop the project with us, we would be glad to welcome him.

Romain BLEI, Kochizz (free Apache configuration editor) developer

By ro-ro at Thu, 08/30/2007 - 07:46

"the search is performed on the object that has focus when the item menu is clicked"

I suspected that, and specificially highlighted objects/directives and searched only for words I could see there (even words that represented directives, in case the search was only meant to work for 'keywords'). 2 or 3 times it worked, 10 or 15 times it didn't. -- Oh, well... after all, even an 'RC1' version may have some bugs left, no? :-)

"We also want to develop support of remote protocols (SSH, (S)FTP)"

Yesssss! Very cool. ;-)

Please do also consider 'fish' (files transfered over shell). Which should work already 'out of the box' over most ssh connections. (Should you not yet know it, just type 'fish://your_loginname@your_ssh_server' in Konqueror's address field, and see what happens... :-) )

By Kurt Pf. at Thu, 08/30/2007 - 09:07

Thanks for the kind words :-)

BTW: in the treeview, checkboxes behaviours seems to be quite unintuitive at first (since you usually thinks "checked" means "activated"), but the reverse approach is worse: as by default all the directives are activated, this creates a "visual mess" of checked checkboxes... So I think we choosed the right way display/modify the comment state - at least I hope !


By adrien-reboisson at Thu, 08/30/2007 - 08:06

I can understand your reasoning for reversing the meaning of the checkboxes.

However, there *must* be some different means to display the enabled/disabled state.

How about having a green 'tickmark' in a box (meaning 'enabled'), which can be toggled by simply clicking on it (that would then change the tickmark into a red x, as well as 'gray out' the directive name)?

At least, the reversed meaning of the current checkboxes should be stated at some prominent place, and very clearly....

By Kurt Pf. at Thu, 08/30/2007 - 08:51