File: README

package info (click to toggle)
psp 0.5.5-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 4,820 kB
  • ctags: 2,333
  • sloc: perl: 21,074; ansic: 4,553; sh: 2,407; makefile: 461; php: 11; pascal: 6
file content (189 lines) | stat: -rw-r--r-- 6,350 bytes parent folder | download | duplicates (2)
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>