[ svnb ] can be installed in two configurations:
Please follow the general installation instructions which installs [ svnb ] as a CGI script. Later, you will see how to install [ svnb ] as a mod_perl handler.
The latest version of [ svnb ] can be downloaded from here..
The extracted package will create the following directory struture:
svnb-001.003 ¦ +---cgi-bin +---htdocs ¦ +---svnb ¦ +---help ¦ +---icon ¦ +---javascript ¦ +---template +---perl +---Svnb +---Svn
Move the content of the cgi-bin
directory to
your cgi directory. Move the contents of the htdocs
directory to your homepage directory. The perl
directory contains the mod_perl handler. For cgi based scripting,
the Perl script svnb.pl
(inside cgi-bin
)
will use this directory (with the use pragma
).
Let's just change dir to you folder, unzip and locate the
target directories. Assumption is, your home drive is
/home/folder/mine
. Your ~/cgi-bin
directory serves cgi scripts. Your ~/htdocs
directory serves documents.
cd /home/folder/mine gzip -.d svnb-001.003.tar.gz tar -vxf svnb-001.003.tar mv svnb-001.003/cgi-bin/svnb.pl cgi-bin/ mv svnb-001.003/htdocs/svnb htdocs/
Maybe you do not have a ~/perl
directory.
Here, this directory serves Perl modules and handlers.
mkdir perl mv svnb-001.003/perl/* perl/
Text::Template
- required Perl modules
[ svnb ] requires Text::Template
This is not part of the standard Perl distribution. Hence, you
need to install it. Follow these instructions to install it.
Texdt::Template
from CPAN gzip -d Text-Template-1.44.tar.gz tar -xcvf Text-Template-1.44.tar cd Text-Template-1.44 perl Makefile.PL PREFIX=/home/folder/mine/perl make make test make install
Read the release notes under svnb-001.003/relNotes.txt
if you want.
Adopt the access layer. You execute CGI script. Hence, you
just use the object representing the response handler
in a mod_perl environment. The svnb.pl
script
residing in your cgi-bin
directory is the access
layer. Check that this layer uses all required modules. There
must be the path to the /perl
directory.
Remember Text::Teamplate
? You need your script
use your site's perl library directory. to:
Just say
use lib "/home/folder/mine/perl"; use lib "/home/folder/mine/perl/lib/perl5/site_perl/5.8.3/";
at the top of the script (or where ever if you want). Then, the script knows to use the handler module.
Finally, change the shebang line of svnb.pl
.
If Perl resides in /usr/bin/
, then the complete
script look something like this:
#!/usr/bin/perl use lib "/home/folder/mine/perl"; use lib "/home/folder/mine/perl/lib/perl5/site_perl/5.8.3/"; use Svnb::Browser; Svnb::Browser -> handler();
Not done, yet. Next, you need to change the specific settings
for your environment. There is no
configuration file. The settings are included at the top of
the Svnb::Svn.pm
object module inside
~/perl/Svnb/
.
my %SETTING = ( DEBUG => 0, SVN => 'svn', REPOSITORY => 'file:///home/folder/mine/svn-repos', CACHE => 3 * 60, TEMPLATE => '/home/folder/mine/htdocs/svnb/template', EMPTY_ICON => '/svnb/icon/empty.gif', DIR_ICON => '/svnb/icon/folderBlue.gif', FILE_ICON => '/svnb/icon/generic.gif', HISTORY_ICON => '/svnb/icon/history.gif', CSS_FILE => '/svnb/template/svnb.css', JAVASCRIPT_FILE => '/svnb/javascript/svnb.js', MESSAGE_LENGTH => 60, HELP_PAGE => '/svnb/help', HELP_SUFFIX => '.html', );
Run the cgi script with perl -c svnb.pl
. No errors?
Check your svn repository. Or do you have one, yet? Create a fresh directory and initialize the first repository. Here, we use a FSFS file-based type repository. I prefer Berkeley DB. But don't mind.
mkdir svn-repos svnadmin create --fs-type fsfs svn-repos/svnb
Download a dump file if you need a testing repository.
The [ svnb ]
sources are available as
a svn
repository dump file.
gzip -d svnb-svn.001.dump.gz svnadmin load svn-repos/svnb < svnb-svn.001.dump
You can verify and list the repository if you want:
svnadmin verify svn-repos/svnb/ svn -R list file:///home/folder/mine/svn-repos/svnTest/
Change permissions and clean up to your needs:
chmod -R 755 htdocs/* chmod -R 755 cgi-bin/*.pl rm svnb-001.003.tar rm -Rf svnb-001.003 rm Text-Template-1.44.tar rm -Rf Text-Template-1.44 rm svnb-svn.001.dump
To install [ svnb ]
as a mod_perl handler
you need to add /home/folder/mine/perl
to
the @INC
search list. You do this usually
with the use lib bla bla
statement in
your Apache start up file:
use lib /home/folder/mine/perl
This allows Apache to find Svnb::Browser
when analyzing the following httpd.conf
section:
PerlModule Svnb::Browser <Location /sb> SetHandler perl-script PerlHandler Svnb::Browser </Location>
With this configuration you can locate your browser
to http://yourServerDotNet/sb/svnb/
and see
the [ svnb ]
repository.
[ svnb ] © 2005 by Michael Rau | [ svnb ] hosted at |