Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > New Module: Apache process/host manager

Thread Tools

New Module: Apache process/host manager

Posts: n/a
I am writing a Perl module that launches and manages Apache processes
based on stored parameters. I'm currently working with the namespace
"Server::ApacheIVHost" where ApacheIVHost is an abbreviation for
"Apache Independent Virtual Hosts". I'm hoping to get lost of input on
the potential usefulness of this project and my current namespace.

As the name implies this package is designed to create a
virtual-host-type setup using seperate Apache processes. This is
accomplished by creating an Apache process for every virtual host
address, each listening on a different port, and using 'master' Apache
processes on ports 80 (really any port you want) and 443 to proxy
connections to the appropriate server. The package contains modules to
store host information in an SQL database, but the software is written
with a clearly defined API to easily allow for the addition of other
storage interfaces.

Server::ApacheIVHost provides three main things:
1. The ability to run host processes under a specific Unix user/group
and all the advantages that this implies. For example, I run and host
under my Subversion repository user/group for mod_dav_svn.

2. Per-host configuration files. This has alot of advantages, one being
the ability to let users alter a host's configuration files, and if
they mess up and their server doesn't start, oh well. They've shut down
their own server and noone elses.

3. Host creation is completely automated. For example, when storing
host information in a MySQL database one needs only to add a new host
entry and Server::ApacheIVHost automatically creates directories for
the host, creates log files, starts its daemon and updates its DNS

My biggest concern is the resource requirements of running an Apache
process for every single hostname. I'm worried that this per-host
process scheme will be too impractical in mass virtualhost systems. To
help reduce the resource requirement the StartServers, MinSpareServers
and MaxSpareServers directives can/will be reduced for the single host
processes. In addition, Server::ApacheIVHost is being written to allow
for a custom list of DSOs per host process, so as to reduce the
process's memory footprint. On my personal server (500MHz P3/1GB RAM),
I have about twenty hosts running through Server::ApacheIVHost and I
don't see any resource problems, however my web traffic is lite.

Please provide me ANY feedback you feel is relevant. I'm really looking
for thoughts on my module namespace and a discussion of how useful you
feel this module might be.

Thank you!
Matthew Pitts
invinity <at>

Reply With Quote
Posts: n/a
I forgot to mention that the code for Server::ApacheIVHost can be
browsed via mod_dav_svn at

Thanks again for any input you guys have.
Matthew Pitts
invinity <at>

Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Apache FileUpload - java.lang.NoClassDefFoundError: org/apache/commons/io/FileCleaner Java 2 03-16-2006 09:20 AM
AXIS jars org.apache.axis.wsi.* and org.apache.axis.transport.jms.* Java 0 02-23-2005 04:02 PM