perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Martin" <...@ams.org>
Subject Fw: [mp2] 'make test' error--cannot start server: httpd (<path>) does not exist
Date Mon, 22 Aug 2005 18:58:03 GMT
Well, the suexec mechanism seems to be working OK:

# ps -ef | grep httpd
  nobody 28220 28219   0 14:38:25 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
  nobody 28225 28219   0 14:38:26 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
    root 28219     1   0 14:38:25 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
  nobody 28221 28219   0 14:38:26 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
  nobody 28224 28219   0 14:38:26 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
    root 28229 28212   0 14:38:29 pts/10      0:00 grep httpd
  nobody 28223 28219   0 14:38:26 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start
  nobody 28222 28219   0 14:38:26 ?           0:00 
/usr/local/stow/apache-2.0.54/apache2/bin/httpd -k start

Should I need to chown my httpd to nobody to make Apache::Test work 
(circumventing suexec)?
Note: chowning the entire apache tree to nobody:nobody still causes the 
"httpd (<path>) does not exist" error in mod_perl 2.

In case I failed to mention this before:

# /usr/local/apache2/bin/httpd -V
Server version: Apache/2.0.54
Server built:   Aug 18 2005 12:40:02
Server's Module Magic Number: 20020903:9
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


----- Original Message ----- 
From: "Philippe M. Chiasson" <gozer@ectoplasm.org>
To: "Eric Martin" <emm@ams.org>
Cc: <modperl@perl.apache.org>
Sent: Monday, August 22, 2005 2:17 PM
Subject: Re: [mp2] 'make test' error--cannot start server: httpd (<path>) 
does not exist

Eric Martin wrote:
> 1. Just installed gcc-3.4.4, perl-5.8.7, apache-2.0.54 on a clean
> installation of Solaris 10.  gcc, perl, and apache went in without a
> hitch. About 70 perl modules also installed without failure using the
> new gcc/perl.
>
>
> 2. I then proceed to do: 'perl Makefile.PL
> MP_APXS=/usr/local/apache2/bin/apxs', 'make' (/usr/ccs/bin), and 'make
> test,' which gives:
> ============begin 'make test'============
> # make test
> cd "src/modules/perl" && make
> /usr/bin/perl -Iblib/arch -Iblib/lib \
> t/TEST -clean
> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
> APACHE_TEST_USER= APACHE_TEST_APXS= \
> /usr/bin/perl -Iblib/arch -Iblib/lib \
> t/TEST -bugreport -verbose=0
> [warning] root mode: changing the files ownership to 'nobody' 
> (60001:60001)
> [warning] testing whether 'nobody' is able to -rwx
> /usr/local/src/perlmods/mod_perl-2.0.1/t
> "/usr/bin/perl"
> -Mlib=/usr/local/src/perlmods/mod_perl-2.0.1/Apache-Test/lib
> -MApache::TestRun -e 'eval { Apache::TestRun::run_root_fs_test(60001,
> 60001, q[/usr/local/src/perlmods/mod_perl-2.0.1/t]) }';
>
>
> [warning] result: OK
> [warning] the client side drops 'root' permissions and becomes 'nobody'
> [  error] cannot start server: httpd
> (/usr/local/stow/apache-2.0.54/apache2/bin/httpd) does not exist

Most likely problem here is that httpd does exist at that patch, but after
dropping privileges to nobody, it can't see it anymore.

Have you made sure that user 'nobody' can successfully stat/exec
/usr/local/stow/apache-2.0.54/apache2/bin/httpd ? (and the directories 
leading to there)

> +--------------------------------------------------------+
> | Please file a bug report: http://perl.apache.org/bugs/ |
> +--------------------------------------------------------+
> *** Error code 1
> make: Fatal error: Command failed for target `run_tests'
> =============end 'make test'=============
> Well, apxs is where I said it was (obviously), and httpd definately
> exists at: /usr/local/stow/apache-2.0.54/apache2/bin/httpd

--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 
88C3A5A5
http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 
88C3A5A5


Mime
View raw message