|
|
Apache::PerlSections - Utilities for work with <Perl> sections
use Apache::PerlSections ();
It is possible to configure you server entirely in Perl using <Perl> sections in httpd.conf. This module is here to help you with such a task.
This method will dump out all the configuration variables mod_perl
will be feeding the the apache config gears. The output is suitable
to read back in via eval.
Example:
<Perl>
use Apache::PerlSections ();
$Port = 8529;
$Location{"/perl"} = {
SetHandler => "perl-script",
PerlHandler => "Apache::Registry",
Options => "ExecCGI",
};
@DocumentIndex = qw(index.htm index.html);
$VirtualHost{"www.foo.com"} = {
DocumentRoot => "/tmp/docs",
ErrorLog => "/dev/null",
Location => {
"/" => {
Allowoverride => 'All',
Order => 'deny,allow',
Deny => 'from all',
Allow => 'from foo.com',
},
},
};
print Apache::PerlSections->dump;
</Perl>
This will print something like so:
package Apache::ReadConfig; #scalars:
$Port = 8529;
#arrays:
@DocumentIndex = ( 'index.htm', 'index.html' );
#hashes:
%Location = (
'/perl' => {
PerlHandler => 'Apache::Registry',
SetHandler => 'perl-script',
Options => 'ExecCGI'
}
);
%VirtualHost = (
'www.foo.com' => {
Location => {
'/' => {
Deny => 'from all',
Order => 'deny,allow',
Allow => 'from foo.com',
Allowoverride => 'All'
}
},
DocumentRoot => '/tmp/docs',
ErrorLog => '/dev/null'
}
);
1; __END__
This method will call the dump method, writing the output
to a file, suitable to be pulled in via require.
Example:
Apache::PerlSections->store("httpd_config.pl");
require 'httpd_config.pl';
mod_perl(1), Data::Dumper(3), Devel::Symdump(3)
Doug MacEachern