F. Xavier Noria wrote: > The fact is that developers in my team have Apache under /usr/local in > Linux machines, but we would prefer to develop as normal users, not as > www or nobody, though that will be the user in production. > > What is the standard way to configure things for that? We have created > somehow the Apache directory layout under the root of the project tree > and call httpd -f project_root/conf/httpd.conf, where we customize the > user and group (in my case fxn), full paths to log and pid files > writable by that user, etc. but ServerRoot is /usr/local/apache and the > original modules under /usr/local/apache are there, so we cannot use > $r->server_root_relative to access, say, to application config files > which seems to be standard (and quite natural) idiom. The httpd.conf in > CVS is a template customized once per-machine with a script.
It doesn't seem worth it to me to go to a lot of trouble to avoid starting apache as root in development, especially if that's how you'll do it in production. I've always just put my modules in /usr/local/apache/lib/perl where they get picked up automatically (with no use lib or @INC changes). I make that directory writeable by my standard login (a security hole, but it's just my personal machine and not visible on the Internet), and keep a root shell open for restarting the server. That works fine unless you have mutiple users developing on the same box. - Perrin