Apache-ASP
view release on metacpan or search on metacpan
Options FollowSymLinks
AllowOverride All
</Directory>
To copy the entire site, including the examples, you might 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.
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.
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.
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.
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.
Core
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.
Includes, specified with <!--#include file=somefile.inc--> or
$Response->Include() syntax, may also be in this directory, please see
section on includes for more information.
PerlSetVar Global /tmp
GlobalPackage
Perl package namespace that all scripts, includes, & global.asa events
( run in 0.629 second using v1.01-cache-2.11-cpan-39bf76dae61 )