Apache-ASP
view release on metacpan or search on metacpan
do a raw directory copy as in:
shell> cp -rpd ./site $DOCUMENT_ROOT/asp
So you could then reference the Apache::ASP docs at /asp/ at your site,
and the examples at /asp/eg/ .
This is not a good production configuration, because it is insecure
with the FollowSymLinks, and tells Apache to look for .htaccess
which is bad for performance but it should be handy for getting
started with development.
You will know that Apache::ASP is working normally if you
can run the scripts in ./site/eg/ without any errors. Common
problems can be found in the FAQ section.
=head2 Build static Apache and mod_perl for Apache 1.3.x
For a quick build of apache, there is a script in the distribution at
./make_httpd/build_httpds.sh that can compile a statically linked
Apache with mod_ssl and mod_perl. Just drop the sources into the
make_httpd directory, configure the environments as appropriate,
and execute the script like this:
make_httpd> ./build_httpds.sh
You might also find helpful a couple items:
Stas's mod_perl guide install section
http://perl.apache.org/guide/install.html
Apache Toolbox
http://www.apachetoolbox.com/
People have been using Apache Toolbox to automate their
complex builds of Apache 1.3.x with great success.
=head2 Win32 / Windows Install
If you are on a Win32 platform, like WinNT or Windows 2000,
you can download the win32 binaries linked to from:
http://perl.apache.org/download/binaries.html#Win32
and install the latest perl-win32-bin-*.exe file.
Randy Kobes has graciously provided these, which include
compiled versions perl, mod_perl, apache, mod_ssl,
as well as all the modules required by Apache::ASP
and Apache::ASP itself.
After installing this distribution, in Apache2\conf\perl.conf
(pulled in via Apache2\conf\httpd.conf) there's directives that
have Apache::ASP handle files placed under the Apache2\asp\
directory. There should be a sample Apache::ASP script there,
printenv.html, accessed as http://127.0.0.1/asp/printenv.html
which, if working, will print out your environment variables.
=head2 WinME / 98 / 95 flock() workaround
For those on desktop Windows operation systems, Apache::ASP v2.25 and
later needs a special work around for the lack of flock() support
on these systems. Please add this to your Apache httpd.conf to
fix this problem after mod_perl is installed:
<Perl>
*CORE::GLOBAL::flock = sub { 1 };
</Perl>
PerlModule Apache::ASP
Please be sure to add this configuration before Apache::ASP is loaded
via PerlModule, or a PerlRequire statement.
=head1 CONFIG
You may use a <Files ...> directive in your httpd.conf
Apache configuration file to make Apache::ASP start ticking. Configure the
optional settings if you want, the defaults are fine to get started.
The settings are documented below.
Make sure Global is set to where your web applications global.asa is
if you have one!
PerlModule Apache::ASP
<Files ~ (\.asp)>
SetHandler perl-script
PerlHandler Apache::ASP
PerlSetVar Global .
PerlSetVar StateDir /tmp/asp
</Files>
NOTE: do not use this for the examples in ./site/eg. To get the
examples working, check out the Quick Start section of INSTALL
You may use other Apache configuration tags like <Directory>,
<Location>, and <VirtualHost>, to separately define ASP
configurations, but using the <Files> tag is natural for
ASP application building because it lends itself naturally
to mixed media per directory. For building many separate
ASP sites, you might want to use separate .htaccess files,
or <Files> tags in <VirtualHost> sections, the latter being
better for performance.
=head2 Core
=item Global
Global is the nerve center of an Apache::ASP application, in which
the global.asa may reside defining the web application's
event handlers.
This directory is pushed onto @INC, so you will be able
to "use" and "require" files in this directory, and perl modules
developed for this application may be dropped into this directory,
for easy use.
Unless StateDir is configured, this directory must be some
writeable directory by the web server. $Session and $Application
object state files will be stored in this directory. If StateDir
is configured, then ignore this paragraph, as it overrides the
Global directory for this purpose.
( run in 2.400 seconds using v1.01-cache-2.11-cpan-df04353d9ac )