© 1998 by Michael Holve
Placed under the GNU Public License (GPL)
NO WARRANTIES OF ANY KIND
DRAFT COPY
Last updated on October 14th 1998
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
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.
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):
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:
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.
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.
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.
This documentation won't attempt to document Apache configuration options. Instead, you are
directed to try the following two links:
http://localhost/manual/index.html 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.
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.
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.
Introduction
(OO) Linux Hacker
=<>= October 1998
Requirements
TkApache System Requirements
Software
Version
Apache
1.2x-1.3x
Perl
5.004+
Perl::Tk
800.011+
Tcl/tk
8.0p2+
Tix
4.1.8.0+
Features
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
Where your Apache is installed and where the binary is under sbin
Location of the Apache configuration files, httpd.conf, access.conf & srm.conf
Filename of your Apache binary (you can have multiple versions)
Location where you installed or want to install TkApache to
You can have multiple users or configuration files - enter the full path and filename
Command with options that is run for the process window (if blank, TkApache will guess)
Enables logging (if selected, you can output to a logfile entered on next line)
Forces TkApache to save files to your working directory rather than the real ones
Command Line Options
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 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
The Main Window
Buttons
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
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.
Platforms
Platforms TkApache to be Tested On Initially
OS
Version
CPU/Machine
GUI
Currently Verified
Linux
RH5.1
Pentium 166MHz
PII 300MHz
X/AfterStep
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