Praesideo: Latin for 'to watch over'

Discussion in 'Perl Misc' started by invinity, Mar 8, 2005.

  1. invinity

    invinity Guest

    Hey all,

    I am currently writing a module that is designed to automate the
    startup and management of Apache processes. In addition, the module is
    designed to provide a VirtualHost-like environment, but with a
    dedicated Apache process for each host, all on a single IP address. I
    am hoping to get lots of input about the practicality of this program
    and my current namespace, which is "Praesideo". Actually, I am still in
    the process of converting the modules over to the "Praesideo"
    namespace. My old namespace is "Server::ApacheIVHost."

    If you're still interested at this point, but don't want to read all
    the stuff I wrote below, you can go directly to browsing the Praesideo
    code at http://svn.nvinity.net/Server-ApacheIVHost/trunk. I have not
    yet setup anything through CPAN, because the code is not mature enough.
    Please remember that the code is still in the old namespace.

    How:
    At the heart of Praesedio is a daemon package, Overseer, which pulls in
    host/domain info. and manages file/folders/Apache processes based on
    certain settings. Each Apache process is launched with mod_perl
    handlers set to tie it into the Praesideo system. Adding a new host
    (i.e. 'test.mydomain.com') is simply a matter of adding the host
    information to your storage system. The Overseer daemon will
    automatically create directories and launch Apache. Eventually, I want
    to write a web-based admin interface to make this even easier.

    As stated above Praesideo provides a VirtualHost-like setup with
    individual Apache processes. This is accomplished by running a master
    Apache process on port 80 that proxies requests to the appropriate real
    host, which is listening on a different port.

    To store all the information about hosts and domains managed by
    Praesideo, I created a pluggable API so that any storage method can be
    used as long as someone writes the code for it. As of now, I have
    concentrated efforts on a module for SQL based storage.

    Why:
    Even with the small network I run, I was still manually adding
    VirutalHosts to my Apache configuration files more often than I wanted.
    I also wanted my friends to be able customize the Apache configuration
    of their host, but I didn't want them to be able to issue restart
    commands to Apache or be able to bring down all my sites with a bad
    configuration directive. In addition, I ran into times when I really
    wanted a new website up, but I needed the Apache process to run under a
    different user than the default. With Apache 2, the 'prechild' MPM
    would provide this functionality, but was not stable and I'm not sure
    if it even is today.

    Concerns:
    My biggest concern are the extra resources required to run a seperate
    Apache process for each host. To midigate this, the number of child
    processes started by each Apache process can be reduced, along with
    restricting the DSOs loaded by each Apache process. In addition, I've
    been looking into creating groups of hosts that are all run under the
    same process to reduce the total number of Apache processes.

    I appreciate your time and input.

    Thanks,
    Matt Pitts
    invinity, Mar 8, 2005
    #1
    1. Advertising

  2. invinity

    John Bokma Guest

    invinity wrote:

    > am hoping to get lots of input about the practicality of this program
    > and my current namespace, which is "Praesideo". Actually, I am still


    Since you are explaining in your subject what it means, do you think it's a
    good name? How many people will make spelling errors do you think?

    --
    John Small Perl scripts: http://johnbokma.com/perl/
    Perl programmer available: http://castleamber.com/
    Happy Customers: http://castleamber.com/testimonials.html
    John Bokma, Mar 8, 2005
    #2
    1. Advertising

  3. invinity

    invinity Guest

    John,

    Yeah I thought about that. I was just hoping that noone else would say
    anything :). I actually put the translation in the subject to draw
    people in... I was trying to 'sell' my post.

    Do you think it would be better to stick with the current namespace
    "Server::ApacheIVHost"? Or maybe just "ApacheIVHost"?

    Thanks for the input
    Matt
    invinity, Mar 9, 2005
    #3
  4. invinity <> wrote:


    > Yeah I thought about that.



    What that is that that?

    It is customary to quote some context when composing a followup.


    --
    Tad McClellan SGML consulting
    Perl programming
    Fort Worth, Texas
    Tad McClellan, Mar 9, 2005
    #4
  5. invinity

    John Bokma Guest

    invinity wrote:

    > John,
    >
    > Yeah I thought about that. I was just hoping that noone else would say
    > anything :). I actually put the translation in the subject to draw
    > people in... I was trying to 'sell' my post.
    >
    > Do you think it would be better to stick with the current namespace
    > "Server::ApacheIVHost"? Or maybe just "ApacheIVHost"?


    "I am currently writing a module that is designed to automate the
    startup and management of Apache processes. In addition, the module is
    designed to provide a VirtualHost-like environment, but with a
    dedicated Apache process for each host, all on a single IP address."

    Something like:

    Apache::processManager ?

    or even:

    Apache::Manager
    Apache::Manager::process for a single process?

    I have no idea how the virtualisation exactly works, but maybe:

    my $process = new Apache::Manager::process;
    my $manager = new Apache::Manager;
    $manager->manage( $process );
    $process->virtualize( port => 8080 );
    $process->start;
    :
    :
    $process->kill;

    I know, giving things a name is hard. I have been refactoring my pet
    project too often :-D

    --
    John Small Perl scripts: http://johnbokma.com/perl/
    Perl programmer available: http://castleamber.com/
    Happy Customers: http://castleamber.com/testimonials.html
    John Bokma, Mar 9, 2005
    #5
  6. invinity

    invinity Guest

    John,

    Thanks a bunch for the input.

    I was under the impression that modules in the "Apache::" namespace
    were deemed to be packages for mod_perl (i.e. Apache::RequestRec). Is
    this not the case?

    Matt
    invinity, Mar 9, 2005
    #6
  7. invinity

    invinity Guest

    Tad McClellan wrote:
    > What that is that that?
    >
    > It is customary to quote some context when composing a followup.


    Thanks Tad. I'm not yet experienced with posting, but I will learn.
    invinity, Mar 9, 2005
    #7
  8. invinity

    invinity Guest

    invinity wrote:
    > Hey all,
    >
    > I am currently writing a module that is designed to automate the
    > startup and management of Apache processes. In addition, the module

    is
    > designed to provide a VirtualHost-like environment, but with a
    > dedicated Apache process for each host, all on a single IP address. I
    > am hoping to get lots of input about the practicality of this program
    > and my current namespace, which is "Praesideo". Actually, I am still

    in
    > the process of converting the modules over to the "Praesideo"
    > namespace. My old namespace is "Server::ApacheIVHost."


    I forgot to mention that Praesideo also uses Net::DNS to
    add/update/delete DNS entries for hosts, which further automates the
    host creation process.
    invinity, Mar 9, 2005
    #8
  9. invinity

    invinity Guest

    invinity wrote:
    > Hey all,
    >
    > I am currently writing a module that is designed to automate the
    > startup and management of Apache processes. In addition, the module

    is
    > designed to provide a VirtualHost-like environment, but with a
    > dedicated Apache process for each host, all on a single IP address. I
    > am hoping to get lots of input about the practicality of this program
    > and my current namespace, which is "Praesideo". Actually, I am still

    in
    > the process of converting the modules over to the "Praesideo"
    > namespace. My old namespace is "Server::ApacheIVHost."


    I forgot to mention that Praesideo also uses Net::DNS to
    add/update/delete DNS entries for hosts, which further automates the
    host creation process.
    invinity, Mar 9, 2005
    #9
    1. Advertising

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. Joergen Bech
    Replies:
    2
    Views:
    4,435
    Joergen Bech
    Jun 14, 2005
  2. tosh
    Replies:
    2
    Views:
    979
  3. Replies:
    1
    Views:
    5,200
  4. Mikki
    Replies:
    1
    Views:
    559
    Andreas Prilop
    Jan 15, 2004
  5. harvey007
    Replies:
    0
    Views:
    479
    harvey007
    Mar 4, 2009
Loading...

Share This Page