[ 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:
Move the content of the
cgi-bin directory to
your cgi directory. Move the contents of the
directory to your homepage directory. The
directory contains the mod_perl handler. For cgi based scripting,
the Perl script
will use this directory (with the
Let's just change dir to you folder, unzip and locate the
target directories. Assumption is, your home drive is
directory serves cgi scripts. Your
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
Here, this directory serves Perl modules and handlers.
mkdir perl mv svnb-001.003/perl/* perl/
Text::Template- required Perl modules
[ svnb ] requires
This is not part of the standard Perl distribution. Hence, you
need to install it. Follow these instructions to install it.
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
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
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
Text::Teamplate? You need your script
use your site's perl library directory. to:
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
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
Svnb::Svn.pm object module inside
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.
[ svnb ] sources are available as
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
[ svnb ] as a mod_perl handler
you need to add
@INC search list. You do this usually
use lib bla bla statement in
your Apache start up file:
use lib /home/folder/mine/perl
This allows Apache to find
when analyzing the following
PerlModule Svnb::Browser <Location /sb> SetHandler perl-script PerlHandler Svnb::Browser </Location>
With this configuration you can locate your browser
http://yourServerDotNet/sb/svnb/ and see
[ svnb ]repository.
|[ svnb ] © 2005 by Michael Rau||[ svnb ]