Apache-ASP

 view release on metacpan or  search on metacpan

ASP.pm  view on Meta::CPAN

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 )