sorry i haven't been clearer about this:
with a few inserted debug statements (say, printing
the string to my tty directly) i can tell that the perl
code gets executed.
but no apache settings are affected. ZERO effect on apache.
doesn't act as if its done a damn thing. apache ignores it
even though it executes. the only settings it goes by
are the ones in the httpd.conf/srm.conf/access.conf files
which existed before/after (independent of) this script
being called.
package Apache::ReadConfig; # in case that isn't set
my $set = <<"END_SETTINGS";
<VirtualHost xxx.yyy.zzz.qqq>
ServerAdmin webmaster\@$host
DocumentRoot $docroot
ServerName $host
DirectoryIndex index # index.html index.cgi
CustomLog $logroot/access.log common
CustomLog $logroot/referer.log referer
CustomLog $logroot/agent.log agent
ScriptLog $logroot/scriptDebug.log
@{[join "", map <<THIS, qw(/cgi-bin/ /cgi/)]}
ScriptAlias $_ /usr/lib/cgi-bin
THIS
</VirtualHost>
END_SETTINGS
Apache->httpd_conf($set);
__END__
that's basically the script (with the variables filled in,
inside a loop, of course).
# apachectl configtest
Syntax OK
# apachectl graceful
#
so i go to my browser and try going to one of my virtual
hosts:
http://virtual1.myhost.com/
and instead of the files at the proper docroot, i get
http://www.myhost.com/
files--i.e. apache has gotten no virtual host directive.
none.
so forget that i looked for useful data under /server-info
and /perl-status... the fact that it matches the apache
setup (i.e. IT'S WRONG) seemed to be a reasonably accurate
report of a screwy situation.
THE PERL CODE IS RUNNING, BUT *NOT* AFFECTING ANY APACHE SETTINGS.
do i need to write the string to a file and then INCLUDE
it in the httpd.conf file after the script runs?
feels like i have issued a directive in access.conf that disables
perl sections (or 'do "file.pl"') scripts for taking any effect.
or, there's a directive within the perl code that's missing.
help!