head 1.1;
branch 1.1.1;
access ;
symbols ePerl_2_2_14:1.1.1.1 RSE:1.1.1;
locks ; strict;
comment @# @;
1.1
date 99.05.02.14.43.37; author rse; state Exp;
branches 1.1.1.1;
next ;
1.1.1.1
date 99.05.02.14.43.37; author rse; state Exp;
branches ;
next ;
desc
@@
1.1
log
@Initial revision
@
text
@ ____ _
___| _ \ ___ _ __| |
/ _ \ |_) / _ \ '__| |
| __/ __/ __/ | | |
\___|_| \___|_| |_|
ePerl -- Embedded Perl 5 Language
I N S T A L L A T I O N
as an integrated Server-Side-Scripting-Language
for the Apache webserver (Version 1.2)
===============================================
Actually you have two options to install ePerl inside an Apache webserver
environment as a Server-Side-Scripting-Language (SSSL):
a) ePerl as a NPH-CGI/1.1 complaint on-the-fly filter
This is the preferred standard method of using ePerl as a SSSL. Here
the original ePerl interpreter gets used by just installing the
stand-alone program "eperl" as a on-the-fly filter for Apache. Use
this when high performance is not the major option to you and when you
want to use the Security features of ePerl (Extension-Checks, SetUID).
Also notice that only this variant is fully supported by the author.
b) ePerl as an Apache/mod_perl handler
This is a special method of using ePerl as a SSSL by making use of the
mod_perl package which already integrates a complete Perl 5
interpreter into Apache. This method is intended to be used for
special purposes and situations where the webmaster really knows what
you does.
I RECOMMEND YOU NOT TO USE THIS VARIANT WHEN SECURITY IS AN IMPORTANT
POINT TO YOU. Usually this means in practice that this variant is only
used _additionally_ to the one in (a) in high-performance situations
for scripts provided by the webmaster only. Don't use this variant for
providing ePerl to Joe Average.
So, this variant is not fully supported by the author, because it is
(and can) not be a 100% compatible ePerl variant. This is because of
principle restrictions, for instance this variant cannot provide the
SetUID feature, etc.
WHEN USING THIS VARIANT YOU SHOULD REALLY KNOW WHAT YOU ARE DOING!
DON'T BLAME THE AUTHOR FOR ANY RISKS OR DAMAGES.
Ok, here are the installation steps for the two variants. You can also
follow both processes to install ePerl as variant (a) for your users and
additionally as variant (b) for yourself (the webmaster).
ePerl as a NPH-CGI/1.1 complaint on-the-fly filter
--------------------------------------------------
1. Proceed the standard installation as described in file
``INSTALL'' for the stand-alone program "eperl". In short:
$ ./configure --prefix=/path/to/eperl/
$ make
$ make test
$ make install
2. Now install "eperl" as a special private version
for Apache. First copy it to the CGI directory of Apache
and use the NPH-CGI/1.1 complaint interface:
$ cp /path/to/eperl/bin/eperl /path/to/apache/cgi-bin/nph-eperl
3. Additionally when you also want UID/GID-switching (see eperl(1) for more
details), you have to set the Unix setuid bit:
$ chown root /path/to/apache/cgi-bin/nph-eperl
$ chmod u+s /path/to/apache/cgi-bin/nph-eperl
4. Finally configure Apache to process all pages with extension '.phtml' via
the ePerl NPH-CGI/1.1 program. To accomplish this you have to add the
following to your httpd.conf file of Apache:
AddType application/x-httpd-eperl .phtml .eperl .epl
Action application/x-httpd-eperl /internal/cgi/nph-eperl
ScriptAlias /internal/cgi /path/to/apache/cgi-bin
5. Now test it by coping the files from the eg/ subdirectory of
the ePerl distribution to an area which is accessible by Apache and
request the ``demo-xx.phtml'' files through your webbrowser. They should
be implicitly pipes on-the-fly through the ePerl interpreter.
ePerl as an Apache/mod_perl handler
-----------------------------------
1. Proceed the standard installation as described in file
``INSTALL'' for the Perl 5 interface modules. In short:
$ perl Makefile.PL
$ make
$ make test
$ make install
ATTENTION! For mod_perl to find the modules later you the "perl" in "perl
Makefile.PL" should be the one which was also used when you have
installed Apache/mod_perl. If not you have to supply paths later of add
the paths to @@INC inside your mod_perl init script.
2. Now configure Apache to process all pages with extension '.iphtml' (for
internal .phtml) via the mod_perl handler Apache::ePerl. To accomplish
this you have to add the following to your httpd.conf file of Apache:
PerlModule Apache::ePerl
SetHandler perl-script
PerlHandler Apache::ePerl
This forces all files under /root/of/webmaster/area/ with extension
.iphtml to be processed by the Apache::ePerl::handler function which
emulates the runtime behavior of the stand-alone "eperl" program (when
run as a SSSL) up to 90%.
If you're not paranoid about security (for instance driving a stand-alone
webserver without user accounts) you can also just use
PerlModule Apache::ePerl
SetHandler perl-script
PerlHandler Apache::ePerl
which enabled .iphtml files everywhere.
@
1.1.1.1
log
@Import of ePerl 2.2.14
@
text
@@