New Module: Apache process/host manager

Discussion in 'Perl Misc' started by invinity, Feb 7, 2005.

  1. invinity

    invinity Guest

    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>
    invinity, Feb 7, 2005
    1. Advertisements

  2. invinity

    invinity Guest

    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>
    invinity, Feb 7, 2005
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Orpheus66
    Jul 30, 2003
  2. Joe
  3. david wolf

    about tomcat host-manager

    david wolf, Aug 15, 2006, in forum: Java
    Tom Cole
    Aug 15, 2006
  4. padma
    Oct 3, 2007
  5. Metalone
    Jan 6, 2010

Share This Page