NAME
P5EEx::Blue::installguide - P5EE Installation Guide
INTRODUCTION
This is the Installation Guide to the P5EE (Perl 5 Enterprise Environment). You can find out more background to the project on the web.
http://www.officevision.com/pub/p5ee
http://p5ee.perl.org
Installation of the P5EE requires the following:
* install Perl (at least 5.5.3) (5.005_03)
(you can test this by typing "perl -v")
* install Apache or other web server
* install dependent Perl modules from CPAN
* install P5EE software
We will discuss the last item first, because it is assumed that most people know how to do the first three or they are already done.
SET UP THE ENVIRONMENT
You could just install all of the software into "/usr/local" or wherever your Perl is installed. In that case, skip this section.
If however, you are setting up a development environment, or if you wish to install multiple versions of the P5EE software, it is advisable you choose an approach as follows.
Set Up a Development Environment (Unix)
Choose a directory that will be the base of all P5EE environments (i.e. /usr/mycompany, any base directory will do).
/usr/mycompany
Create a subdirectory for each separate developer/tester. You may wish to choose groups rather than users (i.e. "devel", "qagroup"). (In this case, you would have several developers working in one directory tree. This may cause more conflicts between developers during development, but the conflicts get worked out more quickly than when developers work in separate directories.)
/usr/mycompany/spadkins
/usr/mycompany/joe
/usr/mycompany/marysue
/usr/mycompany/devel
/usr/mycompany/qagroup
These are independent development "sandboxes". Later, when we start making releases of the software (which includes the P5EE framework), we will create other environment directories like this.
/usr/mycompany/0.5.0
/usr/mycompany/0.5.1
/usr/mycompany/1.0.0
/usr/mycompany/2.17.10
All of these directories will have their own self-contained installation of software. Named versions (i.e. "test", "qa", "prod") are simply symbolic links to the particular version to which they currently apply.
In your chosen development directory, you should set the permissions to allow access to be granted by group.
chgrp -R spadkins /usr/mycompany/spadkins # all files and dirs owned by group
chmod 775 `find /usr/mycompany/spadkins -type d -print` # dirs writable by the group
chmod g+s `find /usr/mycompany/spadkins -type d -print` # setgid bit keeps files in the group
Within each directory, you should create a default set of subdirectories.
cd /usr/mycompany/spadkins
mkdir src lib bin man etc include src/tar
You should set up in your ".profile" some appropriate variables.
PREFIX=/usr/mycompany/spadkins; export PREFIX
PATH=$PREFIX/bin:$PATH; export PATH
LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
LIBPATH=$PREFIX/lib:$LIBPATH; export LIBPATH # for AIX? (instead of LD_LIBRARY_PATH)
MANPATH=$PREFIX/man:$MANPATH; export MANPATH
Note: If no initial MANPATH was set, setting the MANPATH this way could inhibit the "man" command from finding all of the standard "man" pages. You may need to create an initial MANPATH something like this and then add the $PREFIX/man directory to it.
MANPATH=`find /usr /opt /man -type d -name man -print 2> /dev/null`
MANPATH=`echo $MANPATH | sed 's/ /:/g'`
export MANPATH
Note: It may be similar for LD_LIBRARY_PATH, and you may need to set an initial LD_LIBRARY_PATH something like this.
LD_LIBRARY_PATH=`find /usr /opt /lib -type d -name lib -print 2> /dev/null`
LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed 's/ /:/g'`
export LD_LIBRARY_PATH
Now log out and log in again so that your ".profile" variables are in your environment.
Set Up a Development Environment (Windows)
Anyone care to write this up and send it to me? (Stephen Adkins <stephen.adkins@officevision.com>)
INSTALL DEPENDENT SOFTWARE
Install Dependent Modules from CPAN
perl -MCPAN -e shell
cpan> install Date::Parse
cpan> install Date::Format
cpan> install Data::Dumper
cpan> install Compress::Zlib
cpan> install MIME::Base64
cpan> install Storable
cpan> install Exception::Class
cpan> install Class::MethodMaker
cpan> install Hook::LexWrap
cpan> install Aspect
cpan> exit
If anyone finds other dependent modules, please let me know.
GET P5EE SOFTWARE
Get P5EE From CPAN
The P5EE is not yet on CPAN. Try one of the other methods.
Get P5EE from CVS (to develop P5EE)
You should use this method if you *do* have commit access on the P5EE CVS repository. (Note, substitute your CVS user id for "LOGIN" below.)
cd $PREFIX/src
cvs -d :pserver:LOGIN@cvs.perl.org:/cvs/public login
[enter your perl.org password]
cvs -d :pserver:LOGIN@cvs.perl.org:/cvs/public co p5ee
Later, when you want to refresh your directory with the latest software from CVS, you can repeat the same commands or you can do the following.
cd $PREFIX/src/p5ee
cvs update -dP
See a CVS document to find out how to create, delete, and modify files and then submit changes.
Get P5EE from CVS (anonymous, read-only access to latest P5EE)
You should use this method if you do *not* have commit access on the P5EE CVS repository but you do want to stay up to date with the latest P5EE software (recommended, because there are no releases yet).
cd $PREFIX/src
cvs -d :pserver:anonymous@cvs.perl.org:/cvs/public login
[press enter at the password prompt]
cvs -d :pserver:anonymous@cvs.perl.org:/cvs/public co p5ee
Later, when you want to refresh your directory with the latest software from CVS, you can repeat the same commands or you can do the following.
cd $PREFIX/src/p5ee
cvs update -dP
The "cvs update" method is the preferred way to get updates.
Get P5EE from a Snapshot
If you do not have CVS on your system, you can still get reasonably recent sources from http://cvs.perl.org/snapshots/p5ee/.
cd $PREFIX/src
wget -O tar/p5ee-latest.tar.gz http://cvs.perl.org/snapshots/p5ee/p5ee-latest.tar.gz
gunzip < tar/p5ee-latest.tar.gz | tar xvf -
If you don't have "wget" (http://www.gnu.org/software/wget/wget.html), you can use Perl's own LWP.
cd $PREFIX/src
perl -MLWP::Simple -e 'getstore("http://cvs.perl.org/snapshots/p5ee/p5ee-latest.tar.gz", "tar/p5ee-latest.tar.gz")'
gunzip < tar/p5ee-latest.tar.gz | tar xvf -
INSTALL P5EE SOFTWARE
Install Perl Modules, Man Pages, HTML Pages
cd $PREFIX/src/p5ee/P5EEx/Blue
make
make test (these may or may not work. the tests themselves are under development.)
make install
Edit Main Config File
You will need to do this one time.
cd $PREFIX/src/p5ee/P5EEx/Blue/cgi-bin
cp demo.conf p5ee.conf
vi p5ee.conf
# edit the following lines:
# * perlinc = list of perl include paths
# * scriptDir = absolute path for directory which the "p5x" script will be in
# * scriptUrlDir = path from http://localhost to the scriptDir
# * htmlDir = absolute path for the "htdocs" directory
# * htmlUrlDir = path from http://localhost to the htmlDir
# * ttTemplateDir = apsolute path for the "templates" directory