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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
|
$Id: README,v 1.1.1.2 2003/12/06 19:47:23 hartmans Exp $
General Information
-------------------
PSP is an object-oriented web development system which allows the
construction of dynamic content from a set of files that resemble HTML with
some perl inline markup. It has a driver (optimized for FastCGI and
mod_perl), a compiler, and a set of extensions to facilitate the rapid and
easy to maintain development of medium to large scale web applications.
The current official home of PSP is likely to change but is currently:
http://psp.sourceforge.net
The latest distribution can be found in
http://download.sourceforge.net/psp/
or
ftp://psp.sourceforge.net/pub/psp/
Installation
------------
PSP is expected to compile and run on all systems which have perl5.004 or
later installed. PSP is known to compile and run on the following systems:
- Linux (2.0.x, 2.1.x, 2.2.x, 2.3.x)
- Solaris (2.5.1, 2.6, 7)
- Digital UNIX 4.0
- NetBSD 1.4
To build, you'll probably want to do the following in the psp-x.x.x
directory:
./configure --prefix=/usr/local/psp --enable-build-cpan
make depend
make all
make install
make test_samples
Or, if you would prefer to keep your source tree more pristine and/or
perform multiple build options concurrently, this project supports the
relocation of your build directory as follows:
mkdir build
cd build
../configure --prefix=/usr/local/psp --enable-build-cpan
make depend
make all
make install
make test_samples
A discussion about configure options specific to PSP follows. More
complete, generic instructions about configure can be found in the INSTALL
file.
`--enable-build-cpan'
Build and install the CPAN modules found in the "cpan" directory and
required by PSP. Note: as of its version 3.13, HTML-Parser does not
support <% ... %> -style tags. If you do not use this configure
option, many of the samples in the samples directory will not work.
The patch against HTML-Parser-3.13 (and submitted to that project)
can be found at cpan/hparser3.13.patch.
`--disable-build-samples'
Prevents a Makefile from being generated in the samples directory
which will be able to build and install all the samples into the pile
directory specified by the source configuration/build system.
`--enable-cpan-style'
Causes the PSP modules in the "lib" directory to be built by their
CPAN build mechanisms (e.g. Makefile.PL). I don't know why anyone
would do this. The installation mechanism is not as comprehensive,
and some features of the build system are not supported
(e.g. installation of CGI scripts).
`--enable-site-lib'
Causes the build system to install all modules in the perl site_lib.
You must have write access to this directory.
By the end of the "install" and "test_samples" targets, you will have two
CGI scripts in /usr/local/psp/cgi: piledriver.cgi and piledriver.fcg.
Apache: Normal CGI
------------------
To call them from Apache, you will need to have Apache already installed
and to modify your httpd.conf, or otherwise make Apache aware of
piledriver.cgi. For instance you can simply copy piledriver.cgi into an
already active cgi-bin directory (in which case you'd perhaps access
http://localhost/cgi-bin/piledriver.cgi).
You can also make /usr/local/psp/cgi an active cgi directory with the
following directive in your httpd.conf:
ScriptAlias /psp-cgi/ /usr/local/psp/cgi/
(in which case you'd access http://localhost/psp-cgi/piledriver.cgi).
Or, you can map a given URI to the piledriver with the following
directives:
Alias /psp /usr/local/psp/cgi/piledriver.cgi
<Location /psp>
Options ExecCGI
SetHandler cgi-script
</Location>
(in which case you'd access simply http://localhost/psp for the same
effect as the 2 above cases.)
Apache: FastCGI
---------------
To use PSP with FastCGI, you'll need to have Apache built with support for
mod_fastcgi.o. See www.fastcgi.com for more information. Once this is
done, you can add the following to httpd.conf:
Alias /psp /usr/local/psp/cgi/piledriver.fcg
<Location /psp>
Options ExecCGI
SetHandler fastcgi-script
</Location>
AppClass /usr/local/psp/cgi/piledriver.fcg -processes 4
You can test FastCGI is working by going to
http://localhost/psp/gtest/dump multiple times to note that while the
process ID may jump around (no session affinity per FastCGI application),
the request count for each PID monotonically increases.
Apache: mod_perl
----------------
To make PSP work with mod_perl, you'll need to start with an Apache built
with it. See perl.apache.org for more information about this. You then
will need to add the following (or similar) to your httpd.conf:
<Location /psp>
SetHandler perl-script
PerlHandler PSP::Driver
</Location>
I know PSP::Driver has a proper handler() and works within mod_perl, but I
have not found much time to test and/or optimize PSP against mod_perl. I
would truly appreciate someone looking further into this. I do not think
the above will work unless you specify --enable-site-lib above, as I don't
see any easy way to specify alternative perl libraries, other than
PerlRequire'ing some script which contains only:
use lib qw(/usr/local/psp/lib/perl);
Perhaps there is an easy way to include this library when you use
PerlSections and/or httpd.conf.pl.
Usage
-----
More info here later.
Mailing Lists
-------------
If you would like to receive announcements regarding future releases, and
related low-traffic information, please subscribe to the PSP announce
mailing list at psp-announce@erf.net. To subscribe, send e-mail to
Majordomo@erf.net containing "subscribe psp-announce your-email-address" in
its body (without quotes).
If you are planning to hack on PSP, please subscribe to the PSP development
mailing list at psp-dev@erf.net. To subscribe, send e-mail to
Majordomo@erf.net containing "subscribe psp-dev your-email-address" in its
body (without quotes).
Copyright
---------
Copyright (c) 2000, FundsXpress Financial Network, Inc.
Disclaimer
----------
This library is free software released "AS IS WITH ALL FAULTS"
and WITHOUT ANY WARRANTIES under the terms of the GNU Lesser
General Public License, Version 2.1, a copy of which can be
found in the "COPYING" file of this distribution.
James Jurach <muaddib@erf.net>
|