Re: development question

2000-12-26 Thread Ken Williams

[EMAIL PROTECTED] (Steven Lembark) wrote:
include doesn't work since we are sharing the same CVS tree and
would end up with the same includes -- unless there is something
like

   Include "$ENV{LOGNAME}-conf"

to allow per-user portions of the config.

I'd be inclined to do it the other way around.  Start the server using
/blah/blah/httpd -f /home/ralph/myhttpd.conf , then include the central
shared httpd.conf.


  ------
  Ken Williams Last Bastion of Euclidity
  [EMAIL PROTECTED]The Math Forum



development question

2000-12-25 Thread Steven Lembark


apache 1.3.14.

 havemultiple developers hacking html, mod_perl w/ own sandboxes.
need them to start up their own servers on various ports (e.g.,
8081, 8082...).  we are using CVS and need to share access to a
valid httpd.conf file.  

hmmm...  we all use the same httpd.conf and we all step on one 
another w/ ports and dir's.  not good.

no way i know of use specify htdocs as a relative path or use
$HOME or $SANDBOX to set it.

virtual hosts don't work well since everyone collides on the 
main server's PORT setting and none of has have SU access to 
suck up port 80 (which still wouldn't help if we collide on 80).

trying to avoid people using -d for now -- still doesn't help
since DocumentRoot wants an absolute path.

include doesn't work since we are sharing the same CVS tree and
would end up with the same includes -- unless there is something
like

Include "$ENV{LOGNAME}-conf"

to allow per-user portions of the config.

never learned how to configure apache w/ the perl format,
which might solve the entire thing via $ENV{HOME}.  might not...

so...

anyone have an example httpd.conf (stock or perly) that would
allow multiple people on the same machine to check out the same
httpd.conf, start up httpd w/ -f ./httpd.conf and not collide
on the ports, dir's?   

the only thing i can come up with so far is rather messy,
using, with

IfDefine blah
Include blah-config
/IfDefine

we can edit the common httpd.conf file for each of ourselves.

seems like performing the replacement in-place (e.g., via 
$LOGNAME) would be a cleaner way.

thanx




-- 
 Steven Lembark   2930 W. Palmer St.
 Chicago, IL  60647
 [EMAIL PROTECTED]   800-762-1582



Re: development question

2000-12-25 Thread James G Smith

Steven Lembark [EMAIL PROTECTED] wrote:

apache 1.3.14.

 havemultiple developers hacking html, mod_perl w/ own sandboxes.
need them to start up their own servers on various ports (e.g.,
8081, 8082...).  we are using CVS and need to share access to a
valid httpd.conf file.  

hmmm...  we all use the same httpd.conf and we all step on one 
another w/ ports and dir's.  not good.

no way i know of use specify htdocs as a relative path or use
$HOME or $SANDBOX to set it.

First, read up on perl.../perl sections (Ch. 8 - appr. pg. 416 - in the 
eagle book).

If everyone's uid is between 1024 and 65536 exclusive (or whatever the valid 
range is for ports), you could do something like this:

perl
  $DocumentRoot = $ENV{'HOME'} . "/htdocs";
  $Port = $UID;
/perl

If the uid is not conducive to this, at worst, you could do the following:

perl
  %ports = (
  #  uid = port
1001 = 8000,
1002 = 8001,
1020 = 8002,
  );

  $Port = $ports{$UID};
/perl

and hope only people with defined ports try to start the server.

Similar things can be done with the rest of the configuration, and everyone 
can share the same configuration file.
+-
James Smith - [EMAIL PROTECTED] | http://www.jamesmith.com/
[EMAIL PROTECTED] | http://sourcegarden.org/
  [EMAIL PROTECTED]  | http://cis.tamu.edu/systems/opensystems/
+--