File: modperl.html

package info (click to toggle)
cricket 1.0.5-9
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,480 kB
  • ctags: 390
  • sloc: perl: 8,287; sh: 920; ansic: 318; makefile: 62; sql: 16
file content (80 lines) | stat: -rw-r--r-- 3,614 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
      <title>Using Cricket with mod_perl </title>
  </head>
  <body>
    <h1>Using Cricket with mod_perl</h1>
    <p>
      <tt>mod_perl</tt> is an Apache module that allows you to run
      Perl scripts inside of Apache without forking a new process for
      each one. This saves lots of time, since Perl only needs to
      parse the script once and can execute it a number of times.
    </p>
    <p>
      As of version 0.68, Cricket can run under <tt>mod_perl</tt>.
      Typically, no special code needs to be added to scripts to make
      them work in the mod_perl environment, but Cricket's lazy use of
      namespaces required some fix up work. Mea culpa. That work has
      been done now, and going forward, I intend to make sure Cricket
      works under mod_perl.
    </p>
    <p>
      If you'd like to use Cricket under mod_perl, you need to first
      fetch and install Apache with the mod_perl module. Cricket has
      only been tested so far with Apache 1.3.6 and mod_perl 1.19. The
      best way to build and install Apache and mod_perl is to fetch
      both packages, uncompress and untar them into one directory,
      then go into the mod_perl directory first and follow the
      directions in the <tt>INSTALL.apaci</tt> file.
    </p>
    <p>
      Once you have an installation of Apache with mod_perl installed,
      you need to add lines like the following to your httpd.conf file:
    </p>
    <pre>
    &lt;Files *.cgi&gt;
      SetHandler perl-script
      PerlHandler Apache::Registry
      Options ExecCGI
    &lt;/Files&gt;</pre>
    <p>
      These lines tell your webserver that whenever it sees a file
      ending in .cgi, it should let the embedded Perl interpreter run
      it. This, of course, is problematic if you have some .cgi files
      on your webserver that cannot be run by Perl. In that case, you
      should use a more restrictive specification than "*.cgi" to
      limit the scope of the directives to files in the Cricket user's
      home directory.
    </p>
    <p>
      There seems to be a bug which causes Apache to fail to find a
      library file in some cases. Confusingly, this tends to happen
      when it's trying to handle a URL that points to an image,
      resulting in missing images. This is strange, since serving up
      images should not require the Perl interpreter. You can fix this
      by setting the <tt>PERL5LIB</tt> environment variable to the
      Cricket library directory before starting the Apache webserver.
    </p>
    <p>
      If you are going to be editing the library files (i.e. to add a
      new feature), you'll want to definitely add the "PerlInitHandler
      Apache::StatINC" directive to your config file. This will make
      mod_perl check library timestamps and reload/reparse them when
      necessary. You should not run a production server with this
      enabled, since it does some extra work each time a library is
      used, which could be avoided. If you are not using the StatINC
      module, you will need to restart your server anytime you change
      a library file, or else the changes will not be picked up.
    </p>
    <p>
      <a href="http://cricket.sourceforge.net">Cricket</a>
      version 1.0.5, released 2004-03-28.
    </p>
    <p>
      Copyright (C) 1998-2000 Jeff Allen. Cricket is released under
      the <a href="gpl.html">GNU General Public License</a>.
    </p>
  </body>
</html>