for the archives, a small guide to thread perl in chroot + modules

get latest perl
<!> use a non-root account with rights on chosen destination dir (to
avoid any conflict with system perl)
$ cd perl-x.x.x
$ rm -f config.sh Policy.sh
$ sh Configure -Dinstallprefix='/var/www/perl5web' -Dusethreads
-Duseperlio -Duselargefiles -Dopenbsd_distribution=define -des
$ make
$ make test     # can ignore (1 test failed for me)
$ make install
$ export
PERL5LIB=/var/www/perl5web/lib/perl5/5.8.8/OpenBSD.i386-openbsd-thread-multi:/var/www/perl5web/lib/perl5/5.8.8

$ /var/www/perl5web/bin/perl -V|more    # to check all is ok

next edit
/var/www/perl5web/lib/perl5/5.8.8/OpenBSD.i386-openbsd-thread-multi/Config.pm

and check all paths (replace system one with ones you choose)
ex:
/usr/lib -> /var/www/perl5web/lib
/usr/local -> /var/www/usr/perl5web     # for modules

last, you can compile your modules.
set PERL5LIB like above and use the web compiled perl.
ex:
$ export
PERL5LIB=/var/www/perl5web/lib/perl5/5.8.8/OpenBSD.i386-openbsd-thread-multi:/var/www/pe
rl5web/lib/perl5/5.8.8
$ /var/www/perl5web/bin/perl Makefile.PL PREFIX=/var/www/usr/perl5web
$ make
$ make install




Regards

                Julien

note: to keep your security level good, you can systrace apache, use
mod_security and restrict perl in apache config.

Reply via email to