stas 2002/06/15 11:25:58 Modified: src/docs/2.0/user/config config.pod Log: work in progress on configuration issues Revision Changes Path 1.16 +203 -11 modperl-docs/src/docs/2.0/user/config/config.pod Index: config.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/config/config.pod,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- config.pod 4 Jun 2002 10:11:42 -0000 1.15 +++ config.pod 15 Jun 2002 18:25:58 -0000 1.16 @@ -2,10 +2,18 @@ mod_perl 2.0 Server Configuration + + =head1 Description This chapter provides an indepth mod_perl 2.0 configuration details. + + + + + + =head1 mod_perl configuration directives Similar to mod_perl 1.0, in order to use mod_perl 2.0 a few @@ -13,6 +21,14 @@ quite similar to 1.0 settings but some directives were renamed and new directives were added. + + + + + + + + =head1 Enabling mod_perl To enable mod_perl built as DSO add to I<httpd.conf>: @@ -27,6 +43,11 @@ + + + + + =head1 Perl's Command Line Switches Now you can pass any Perl's command line switches in I<httpd.conf> @@ -46,6 +67,13 @@ whereas C<-I> does not. + + + + + + + =head1 PerlOptions Directive The directive C<PerlOptions> provides fine-grained configuration for @@ -131,8 +159,13 @@ =head2 C<Perl*Handler> -Disable C<Perl*Handlers>, all compiled in handlers are enabled by -default. +Disable C<Perl*Handler>s, all compiled-in handlers are enabled by +default. The option name is derived from the C<Perl*Handler> name, by +stripping the C<Perl> and C<Handler> parts of the word. So +C<PerlLogHandler> becomes C<Log> which can be used to disable +C<PerlLogHandler>: + + PerlOptions -Log Suppose one of the hosts does not want to allow users to configure C<PerlAuthenHandler>, C<PerlAuthzHandler>, C<PerlAccessHandler> and @@ -308,6 +341,14 @@ Notice that we have got the value of the environment variable I<TEST>. + + + + + + + + =head1 Handlers Directives META: need to add descriptions @@ -375,6 +416,8 @@ + + =head1 Threads Mode Specific Directives These directives are enabled only in a threaded mod_perl+Apache combo: @@ -454,7 +497,145 @@ -=head1 Server Startup Define Option Retrieval + + + + + + +=head1 mod_perl Directives Argument Types and Allowed Location + +The following table shows where in the configuration files mod_perl +configuration directives are allowed to appear, what kind of and how +many arguments they expect: + +General directives: + + Directive Arguments SRV DIR + --------------------------------------------------- + PerlSwitches ITERATE V + PerlRequire ITERATE V + PerlModule ITERATE V + PerlOptions ITERATE V V + PerlSetVar TAKE2 V V + PerlAddVar ITERATE2 V V + PerlSetEnv TAKE2 V V + PerlPassEnv TAKE1 V + <Perl> Sections RAW_ARGS V + PerlTrace TAKE1 V + +Handler assignment directives: + + Directive Arguments TYPE SRV DIR + --------------------------------------------------------- + PerlOpenLogsHandler ITERATE RUN_ALL V + PerlPostConfigHandler ITERATE RUN_ALL V + PerlChildInitHandler ITERATE VOID V + + PerlPreConnectionHandler ITERATE RUN_ALL V + PerlProcessConnectionHandler ITERATE RUN_FIRST V + + PerlPostReadRequestHandler ITERATE RUN_ALL V + PerlTransHandler ITERATE RUN_FIRST V + PerlInitHandler ITERATE RUN_ALL V V + PerlHeaderParserHandler ITERATE RUN_ALL V V + PerlAccessHandler ITERATE RUN_ALL V V + PerlAuthenHandler ITERATE RUN_FIRST V V + PerlAuthzHandler ITERATE RUN_FIRST V V + PerlTypeHandler ITERATE RUN_FIRST V V + PerlFixupHandler ITERATE RUN_ALL V V + PerlResponseHandler ITERATE RUN_FIRST V V + PerlLogHandler ITERATE RUN_ALL V V + PerlCleanupHandler ITERATE XXX V V + + PerlInputFilterHandler ITERATE VOID V V + PerlOutputFilterHandler ITERATE VOID V V + + +Perl Interpreter management directives: + + Directive Arguments SRV DIR + --------------------------------------------------- + PerlInterpStart TAKE1 V + PerlInterpMax TAKE1 V + PerlInterpMinSpare TAKE1 V + PerlInterpMaxSpare TAKE1 V + PerlInterpMaxRequests TAKE1 V + PerlInterpScope TAKE1 V V + +mod_perl 1.0 back compatibility directives: + + Directive Arguments SRV DIR + --------------------------------------------------- + PerlHandler ITERATE V V + PerlSendHeader FLAG V V + PerlSetupEnv FLAG V V + PerlTaintCheck FLAG V + PerlWarn FLAG V + +The I<Arguments> column represents the type of arguments directives +accepts, where: + +=over + +=item ITERATE + +Expects a list of arguments. + +=item ITERATE2 + +Expects one argument, followed by at least one or more arguments. + +=item TAKE1 + +Expects one argument only. + +=item TAKE2 + +Expects two arguments only. + +=item FLAG + +One of C<On> or C<Off> (case insensitive). + +=item RAW_ARGS + +The function parses the command line by itself. + +=back + +The second and the third column show the locations the directives are +allowed to appear in: + +=over + +=item SRV + +Global configuration and C<E<lt>VirtualHostE<gt>> (mnemonic: +I<SeRVer>). These directives are defined as C<RSRC_CONF> in the source +code. + +=item DIR + +C<E<lt>DirectoryE<gt>>, C<E<lt>LocationE<gt>>, C<E<lt>FilesE<gt>> and +all their regex variants (mnemonic: I<DIRectory>). These directives +can also appear in I<.htaccess> files. These directives are defined +as C<OR_ALL> in the source code. + +=back + +Apache specifies other allowed location types which are currently not +used by the core mod_perl directives and their definition can be found +in I<include/httpd_config.h> (hint: search for C<RSRC_CONF>). + + + + + + + + +=head1 Server Startup Options Retrieval Inside I<httpd.conf> one can do conditional configuration based on the define options passed at the server startup. For example: @@ -493,7 +674,14 @@ Apache::DB->init; } -=head2 MODPERL2 Define +For example to check whether the server has been started in a single +mode use: + + if (Apache::exists_config_define("ONE_PROCESS")) { + print "Running in a single mode"; + } + +=head2 MODPERL2 Define Option When running under mod_perl 2.0 a special configuration define C<MODPERL2> is enabled internally, as if the server had been started @@ -516,15 +704,17 @@ } -=head1 Retrieving Server Startup Options -The httpd server startup options can be retrieved using -C<Apache::exists_config_define()>. For example to check whether the -server has been started in a single mode use: - if (Apache::exists_config_define("ONE_PROCESS")) { - print "Running in a single mode"; - } + + + + + + + + + @@ -553,6 +743,8 @@ When C<level> is not specified, the tracing level will be set to the value of the MOD_PERL_TRACE environment variable. + +
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]