Sure. Here's the bottom of httpd.conf. Nothing significant here. #******************************************************************************* # Load Remaining Config Files #******************************************************************************* Include conf.d/*.conf -----------------------------------------------------------------------------
Here's the vhost section of ssl.conf. Nothing here, either: #******************************************************************************* # Virtual Hosts #******************************************************************************* NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/webscriber.crt SSLCertificateKeyFile /etc/pki/tls/private/webscriber.key SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel notice <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> ----------------------------------------------------------------------- Here are the relevant portions of perl.conf: LoadModule perl_module modules/mod_perl.so PerlWarn on PerlTaintCheck on PerlInitHandler Apache2::Reload #-----------------------------------* # Add timezone aliases to DateTime. * #-----------------------------------* PerlModule DateTime::TimeZone::Alias <Perl> DateTime::TimeZone::Alias->set( 'US/Arizona-Navajo' => 'US/Mountain' ); </Perl> #----------------------------------------* # Load debug options if debug turned on. * #----------------------------------------* <IfDefine PERLDB> <Perl> use APR::Pool; use Apache::DB (); Apache::DB->init; </Perl> <Location /pa> PerlFixupHandler Apache::DB </Location> </IfDefine> #------------------* # Script Directory * #------------------* Alias /perl /var/www/perl <Directory /var/www/perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Directory> #---------------------* # Perl Status Handler * #---------------------* <Location /perl-status> SetHandler perl-script PerlResponseHandler Apache2::Status Order deny,allow Deny from all Allow from all </Location> #******************************************************************************* # Webscriber Handlers #******************************************************************************* PerlPassEnv SERVER_NAME <Location /pa> SetHandler perl-script PerlHeaderParserhandler +Apache2::SessionMgr PerlSetVar Apache2SessionMgr_IdleTimeout 300 PerlSetVar Apache2SessionMgr_ClassName WS::Session PerlSetVar Apache2SessionMgr_ClassArgs 'DataSource => dbi:Pg:dbname=wscontrol, UserName => apache, Commit => 1' PerlSetVar Apache2SessionMgr_TraceLevel notice PerlAuthenHandler +WS::Handler::Authenticate PerlSetVar WSHandlerAuthenticate_username ets PerlSetVar WSHandlerAuthenticate_statement "SELECT password FROM users WHERE sid = ?" AuthType Basic AuthName "Protected Area" Require valid-user </Location> ----------------------------------------------------------------------------- You can see the PerlPassEnv SERVER_HOME above the header parser and authentication handlers. Right now, I'm just testing the feature. Also, I get an error if I put PerlPassEnv inside the <Location> tags. Practical Mod_Perl says I can do this but the server won't start in this case. Fred Moyer wrote: > > On Wed, 20 Sep 2006, stevethames wrote: >> I tried PerlPassEnv and found no change. In fact, I can't verify >> PerlPassEnv does anything at all. I'm using perl-script as my handler so >> SetupEnv is turned on and I get all the environment variables in the >> response phase. >> >> In the header parser and authentication phases, I only get MOD_PERL, >> MOD_PERL_API_VERSION, and PATH. PerlPassEnv does not appear to do >> anything. >> >> One wierd thing, though. In the authentication handler, I set the >> variable >> WS_ENTITY to a piece of $r->hostname. If I reboot the server, on the >> first >> request, this variable does not appear before the response phase. >> However, >> in subsequent requests to the server, WS_ENTITY is found in the earlier >> phases but no other variables are, other than the Mod_Perl variables >> listed >> above. The wierd thing is, I set three other variables at the same time >> as >> WS_ENTTY but they don't show up--go figure. >> >> BTW, I was testing PerlPassEnv with SERVER_HOME, not WS_ENTITY. I can >> only >> conclude that PerlPassEnv is buggy. >> >> i have the same server running several virtual hosts and want to set the >> database name for the host in the apache config and I need this value >> available in the authentication handler. >> >> Any other ideas? > > If you can post some relevant snippets from your conf file, shell env > setup, and handler, we might be able to spot something that's causing the > problem. If it really is a problem with PerlPassEnv I'd like to get it > into a reproducible test case. > > >> Fred Moyer wrote: >>> >>> stevethames wrote: >>>> Can anyone tell me how to retrieve the environment variables set by the >>>> Apache server in the PerlAuthenHandler or the PerlHeaderParserHandler? >>>> Basically any handler that is called before the PerlResponseHandler. >>>> >>>> I am using virtual hosts and want to set a variable for each one. This >>>> variable is needed in the authentication handler. I can create a >>>> database >>>> and store values by the host name but setting them in the environment >>>> would >>>> be easier. >>> >>> It sounds like you are looking for PerlPassEnv >>> >>> http://perl.apache.org/docs/2.0/user/config/config.html#C_PerlPassEnv_ >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Retrieve-server-environment-vars-before-response-handler.-tf2305332.html#a6413194 >> Sent from the mod_perl - General mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/Retrieve-server-environment-vars-before-response-handler.-tf2305332.html#a6416513 Sent from the mod_perl - General mailing list archive at Nabble.com.