TkApache FAQ

v1.0 (BETA)

© 1998 by Michael Holve
Placed under the GNU Public License (GPL)

Last updated on October 14th 1998

Table of Contents

  1. Introduction
  2. Requirements
  3. Features
  4. Configuration of TkApache
  5. The Interface
  6. Platforms


Welcome to TkApache!

TkApache is a configuration and management tool for the Apache Web server. It was developed with versions 1.2x and 1.3x in mind and designed to provide a simple, yet powerful GUI front-end.

This software, documentation and graphics were developed under Linux which provided inspiration, a rock solid and stable development platform and all the necessary tools to do so. Other than time, which really was a labor of love, it cost me nothing. It is to Linux and the OpenSource community that I give special thanks to and dedicate this software.

I also want to thank my fellow developers for without which, TkApache would have been either impossible or at the very least, taken a lot longer to develop. Developers include Lance Dillon on logic code and Gworynath on the developer's and upcoming user's mailing lists and the install script.

()()   Michael Holve
(OO)   Linux Hacker
=<>=   October 1998


TkApache was developed with the principal of not forcing the end-user to install and/or compile a lot of extra Perl modules or other hacks to use it. However, there are certain minimum requirements that must be met. The list below indicates items that were used to develop TkApache. See the platform section for details on various platforms.

It is written primarily in PerlTk, that is, Perl with the Perl::Tk module installed. This allows for a very flexible and open architecture allowing changes and updates as the Apache Web server grows and as the Internet community contributes to the project.

TkApache System Requirements
Software Version
Apache 1.2x-1.3x
Perl 5.004+
Perl::Tk 800.011+
Tcl/tk 8.0p2+

Safe bet is 16-24MB or more. If you can run X then you can probably run TkApache just fine. Windows95/NT users should be able to run TkApache unmodified - if they can get all of the above working. Both Windows95/NT and Macintosh platforms will undergo testing for compatibility as well as various Unices.

TkApache has been tested on a dual 166MHz (SMP) Pentium to a 300MHz Pentium II system, both with 128MB of RAM and it runs quickly. As TkApache becomes more widespread, further platform testing and benchmarking can be performed. Just as with the memory, if you can run X then you can probably run TkApache just fine.


Current features (v1.0):

These are current, real features in this version!
Planned features (v2.0+):
Some of these features may/will rely on hooks into externally developed software

Configuration of TkApache

The Setup Window


When TkApache is first run, you will be presented with a setup screen as seen to the left.

You must enter the appropriate values for your system such as the paths and binary names. The options are:

  • Server Root
    Where your Apache is installed and where the binary is under sbin
  • Apache Conf
    Location of the Apache configuration files, httpd.conf, access.conf & srm.conf
  • Apache Binary
    Filename of your Apache binary (you can have multiple versions)
  • TkApache
    Location where you installed or want to install TkApache to
  • TkAPache.conf
    You can have multiple users or configuration files - enter the full path and filename
  • PS Command
    Command with options that is run for the process window (if blank, TkApache will guess)
  • Logging
    Enables logging (if selected, you can output to a logfile entered on next line)
  • Read-Only
    Forces TkApache to save files to your working directory rather than the real ones

Command Line Options

Below is a table describing command line options to TkApache. Most, if not all of these options may be placed into the TkApache configuration file (TkApache.conf). Those that may be used in this way are marked by asterisks below.

The format for options within the configuration files are the value you see in the left hand column below, minus the two hypens - followed by an equal (=) sign and the value you wish to give it without quotes.

Another option in configuring TkApache can be had by making a small shell script that calls TkApache and passes the parameters below as if on the command line. I used this method during development before the configuration file handling was in place. One reason for this is so that new versions of the TkApache.conf can be placed into the TkApache directory without overwriting your configuration, or for having multiple configurations.

Pay attention to these options as proper operation of TkApache depends on it.

TkApache Configuration Options
Option Config Description of Function Default Setting
--apachedir * Location of the Apache directory (a.k.a. ServerRoot) - Red Hat is spread out /usr/local/etc/httpd
--apachebindir * Location of the Apache server binary (httpd) - not the file itself [--apachedir]/sbin
--configdir * Location of the Apache configuration files (httpd.conf, access.conf, srm.conf) [--apachedir]/etc
--help   Display an overview of command line options, not unlike this section N/A
--logfile * Name of the file to direct logging output to - logging must be enabled. N/A
--readonly || ro * Do not write actual Apache configuration files - write to temporary files Write mode
--tkapachedir * Location of the TkApache directory /usr/local/TkApache
--tkapacheconf   TkApache configuration file to use if not the default TkApache.conf
--version   Version of TkApache installed and author information N/A

Red Hat systems these files and directories are scattered all over the filesystem. Some may prefer this, as I do - as it places the files in logical places within the filesystem. However, this is very peculiar to Red Hat. Most systems have an ../apache/ directory somewhere. The settings below are samples of a standard Red Hat system (v4.2-5.1 tested).

It has been noticed that newer versions of the Apache web server (v1.3x) found in the contrib FTP directories follow the more traditional location and structure, and that is under /usr/local.

Red Hat Linux v4.2 through 5.1
Option Localized Setting
--apachedir /usr
--apachebindir /usr/sbin
--configdir /etc/httpd/conf
--logfile TkApache.log
--readonly || ro This is up to you
--tkapachedir /usr/local/TkApache

The Interface

The Tail Window


Above is the tail window, which allows you to watch your access and error logs in a manner not unlike the UNIX "tail -f" command.

If you have large log files, then it will take a moment for the tail window to read them. A method to limit the number of lines (user selectable) is being developed, to prevent problems with huge log files.

They are self-refreshing, like the "tail -f" command, so this window requires no action from you. You can switch notebook tabs to toggle whichever log file you wish to view. This will also serve to force a refresh of the window. Simply click the exit button to close the window.

The Main Window


This documentation won't attempt to document Apache configuration options. Instead, you are directed to try the following two links:


This link may work on your system. Many Linux systems install the Apache documentation into the HTDOCS directory, under the manual directory. It is local documentation and your system's location may vary.

This is Apache's home page. You can find documentation here online along with more information Apache in general. A subset of the information here is present on most Linux systems and quite possibly other systems as well under the Apache directory.

Above is a picture of the main interface window. This is where you'll spend most of your time in TkApache, setting various configuration parameters for the Apache web server. Again, the individual parameters will not be documented here, but the interface will be explained below.


Setup Brings up the setup window to configure and/or setup TkApache
Tail Brings up the tail window to watch your access and error logs
Save Saves current settings to Apache configuration files. If "read-only" mode is enabled, TkApache saves the config files in your working directory
Last This is TkApache's "safety net" - you can save/load known good configurations to return to
Reset This clears your changes since the last save operation and restores the values
Restart Restarts the currently running httpd for changes to take effect. Watch your error log!
Help Currently brings up Netscape to view (this) documentation on TkApache. See note below
Exit Closes TkApache

Notebook Tabs

Global Options Options that effect Apache overall, including performance
Files & Logging Where key Apache files and logs are, their formats, etc.
Server Behavior Setup your aliasing and redirects here
Process Report The output of this tab depends on your system, but shows the httpd processes, version and platform
Security Items  
About The ubiquitous About information. Who made it, logo, version and copyright

Miscellaneous Notes

The interface window has been locked through code to prevent resizing, as the contents of the window are not really suited for different sizes and shapes of windows.

Using the AfterStep window manager under Linux, it was found that AfterStep ignored the no-resize directive and allowed you to shrink the window in the Y-axis. You can, however expand it back out to it's intended size. Window Maker was reported to have followed TkApache's directives though. No reports on other platforms or window managers at this time.

You may not launch multiple instances of the setup or tail windows.

On screen resolutions of 640x480, the main interface window will exceed the screen dimensions on the X-axis. There was no simple way to pack this much data density into a smaller window and keep the format. There is believed to be a work-around for this, however. You might be able to specify a smaller than default font for every text item, including buttons, etc. which should conceivably shrink the window down. This will be implemented soon and has not been tested as of this version.

The Help function at this time requires you to have Netscape Navigator or Communicator installed on your system to view the included (this) documentation. Support for other browsers, internal context-sensitive help is being developed.


TkApache was designed to be as portable as possible, and should not pose any problems as long as you can get Perl, PerlTk and tcl/tk w/tix working. Below are the platforms that TkApache has been successfully been tested on.

The following information is based on what the initial tests are to be performed on and will be adjusted as soon as actual testing begins.

Platforms TkApache to be Tested On Initially
OS Version CPU/Machine GUI
Currently Verified
Linux RH5.1 Pentium 166MHz
PII 300MHz
To be Tested
Irix 6.3 O2 X/4Dwm
Solaris 2.6 Intel X/OpenLook
SunOS 5.5.1 Ultra 1 X/CDE
HP/UX 10 HP/9000 X/CDE
Possible Other Platforms
Windows95/NT 95/4.0 Pentium 166MHz Windows
Macintosh MacOS 8.1 PPC 300MHz MacOS

All images are (C) 1994-2005 by Michael Holve