Support This Project

ApacheConfig -- Tools to Support Apache Server Configuration

PHP Tools   Python Tools   Downloads

Latest releases:

ApacheConfig.phpApacheConfig.py
0.012005-09-29Pre-AlphaVersion 0.01
 Released for comments and feedback.
0.012005-09-29Pre-AlphaVersion 0.01
 Released for comments and feedback. Note: replaced by ConfigPatch. See below.

2005 09 29

(Apologies for the rough Web site, I may get around to fixing this but it's not likely.)

This project aims to fix some ongoing headaches:

There are a few places where this comes up: building a new system and updating the installation's configuration; debugging an existing installation; dealing with upgrades that write all over your existing configuration (backup, what backup?); and (when you do have a backup) merging changes to integrate features from a new release.

This situation is complicated by the fact that Apache configuration is the one place where nearly every Linux distribution seems to think it can make "value added" changes and make things easier. The result, of course, is that everything gets more complicated. The tools in this project are an attempt to help system installers and administrators deal with these issues.

Initially this project has two packages, ApacheConfig.php and ApacheConfig.py. Although they are very similar, they have different functions (at least for now).

ApacheConfig.php

Status: Pre-alpha, incomplete, buggy, but not dangerous.

Given a reference to a root configuration file (typically httpd.conf), this code will read the configuration, including all include files (wildcards in includes are supported) into an internal tree representation.

An application can then change settings for core modules (e.g. "worker.c") and environment variables. An evaluate() function then derives the actual configuration by considering all <IfModule ..> and <IfDefined ...> directives.

A configuration writer class will then either dump the results out in nicely indented format (currently works) or create an HTML report with directives sorted by scope (global, directory, location, etc) so that when some include file overides your main settings you can figure it out and fix it. The HTML report is currently uglier than this page, incomplete, and somewhat confusing -- yet still useful.

More Information...

Feature Summary:

Planned Work:

Ideas not Likely to be Implemented:

ApacheConfig.py

NEWS: ApacheConfig has been replaced with a more general solution to the problem of applying changes to configuration files: ConfigPatch. ConfigPatch does everything ApacheConfig set out to do, and more. It's an application-independent solution that currently handles both INI-style config files and Apache config files (including wildcarded include directives).

Status: Pre-alpha, incomplete, buggy, dangerous, and superceded -- USE AT YOUR OWN RISK.

Given a reference to a configuration file (typically httpd.conf), this code will read the file, build an internal tree representation of the directives in the file, and allow an application to make changes to the file by referencing semantic content, such as the name of the directive to be modified or the path of nested directives where the change needs to be made.

More Information...

Feature Summary:

Known Issues:

Planned Work:

Ideas not Likely to be Implemented:


PHP Tools   Python Tools   Downloads

SourceForge.net LogoSupport This Project