Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Perlbal::Manual::InstaUser)Contributed Perl DocumenPerlbal::Manual::Install(3)

       Perlbal::Manual::Install	- Steps, dependencies and requirements to
       install Perlbal

       Perlbal 1.78.

       How to install Perlbal.

   Installing Perlbal for the impatient
	   $ perl -MCPAN -e shell

	   cpan> install Perlbal

       App::cpanminus is also good at quickly installing Perlbal and all of
       its dependencies

	   $ cpanm Perlbal IO::AIO Perlbal::XS::HTTPHeaders

       ... will	give you an ideal Perlbal environment.

   Installing Perlbal (with a little more detail)
       You need	to have	perl on	the machine. If	you don't have it yet, you can
       grab it from

       Having perl on the machine should give you access to the	CPAN shell,
       one of several possible ways to install and upgrade Perl	modules.

       Start your CPAN shell:

	   $ perl -MCPAN -e shell

       And now tell it to install Perlbal:

	   cpan> install Perlbal

       In the end you should see a message stating "make install  -- OK" (if
       that's not the case, please refer to section Troubleshooting later in
       this document).

   Installing Perlbal by hand (without using the CPAN shell)
       Head to <> and find the download
       link. Download the file and untar it:

	   $ tar zxvf Perlbal-X.XX.tar.gz

       Note that X.XX stands for the version number. Replace that with the
       latest version you got.

       Now you need to create the Makefile and run it; we're also going	to run
       the tests before	installing Perlbal:

	   $ cd	Perlbal-X.XX.tar.gz

	   $ perl Makefile.PL

	   $ make

	   $ make test

	   $ sudo make install

   Installing the latest development version
       You can clone Perlbal's repository from github and install it by	hand
       by following the	next steps:

	   $ git clone

	   $ cd	Perlbal

	   $ perl Makefile.PL

	   $ make

	   $ make test

	   $ sudo make install

   Optional Dependencies and Asynchronous IO
       It is very highly recommended that Perlbal::XS::HTTPHeaders is
       installed and enabled. If you have poor performance, the	first thing to
       do is install Perlbal::XS::HTTPHeaders.

	   $ perl -MCPAN -e shell

	   cpan> install Perlbal::XS::HTTPHeaders

       Enable it in your configuration:

	   XS enable headers

       Perlbal checks for IO::AIO availability and uses	it to perform
       asynchronous IO operations. If you're performing	disk operations	(e.g.,
       using Perlbal as	a web server), having IO::AIO will improve your
       response	times.

       The only	thing required in order	to benefit from	this feature is	to
       install IO::AIO:

	   $ perl -MCPAN -e shell

	   cpan> install IO::AIO

       If you don't have IO::AIO installed a warning message will be displayed
       when you	start perlbal:

	   WARNING:  AIO mode disabled or not available.
		     Perlbal will run slowly under load	if you're doing	any
		     disk operations. (e.g. web_server mode).
		     Install IO::AIO for better	performance.

   Checking that Perlbal is succesfully	installed
       Perlbal is shipped with some sample configuration files that reside in
       the conf	directory (of the source).

       You can give Perlbal a try by heading to	the directory where the	source
       is and using the	following command:

	   $ sudo perlbal -c conf/webserver.conf

       By pointing your	browser	at "localhost:80" you should now see Perlbal
       responding (showing you the contents of "/usr/share/doc").

       Note that the webserver.conf file sets up a Perlbal web server that
       listens on port 80. If you already have something listening on port 80
       you need	to either stop that service or change the port number on

       Also note that if your machine doesn't have a "/usr/share/docs"
       directory you'll	see an "ERROR: Directory not found for service docs"
       error message. Change the directory in the configuration	file to
       something that exists.

       Prerequisites not found

       If you're installing Perlbal by hand you	may encounter some error
       messages	describing how some prerequisites are not available:

	   user@machine:~/Perlbal-X.XX$	perl Makefile.PL
	   Checking if your kit	is complete...
	   Looks good
	   Warning: prerequisite BSD::Resource 0 not found.
	   Warning: prerequisite Danga::Socket 1.44 not	found.
	   Warning: prerequisite HTTP::Date 0 not found.
	   Warning: prerequisite HTTP::Response	0 not found.
	   Warning: prerequisite Sys::Syscall 0	not found.
	   Writing Makefile for	Perlbal

       This is perl's way of telling you that since you're installing Perlbal
       by hand you'll also need	to install its prerequisites by	hand. Your
       first choice is to download each	of them	separately and perform the
       same installation procedure for each. Unfortunately, they are all
       likely to have additional prerequisites.	Recursively.

       Alternately, see	the following Troubleshooting item: "No	connection to
       the internet".

       No connection to	the internet

       If you don't have a connection to the internet you can still install
       Perlbal,	but you'll have	to tranfer the source somehow to the machine.

       Given that Perlbal has other module dependencies	from CPAN (and those
       have their own dependencies too), here's	a solution for this problem:

       Step 1: On a machine with connection to the internet, install

	   $ perl -MCPAN -e shell

	   cpan> install CPAN::Mini

       Run "minicpan" to create	a minimal CPAN mirror (it contains only	the
       latest version of each module):

	   $ minicpan -l /home/user/minicpan/ -r

       Now grab	that directory and record it to	something you can read on the
       other machine (e.g., a DVD, a hard drive).

       Once you're on that machine, you	can run	the CPAN shell and tell	it to
       look for	distributions on the local directory where you now have	your
       own CPAN	mirror:

	   $ perl -MCPAN -e shell

	   cpan> o conf	urllist	push file:///home/user/path/to/minicpan

	   cpan> install Perlbal

       If you want "cpan" to record this change	don't forget to	commit:

	   cpan> o conf	commit

       No compiler available

       If there's no compiler available	on the machine you will	probably see
       an error	ending in something like:

	   Failed during this command:
	    DORMANDO/Perlbal-X.XX.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status -1

       You need	to install something like "gcc"	(check <>).

       After installing	"gcc", when trying to install Perlbal again you	may
       get another error message:

	   cpan> install Perlbal
	   Running install for module 'Perlbal'
	   Running make	for D/DO/DORMANDO/Perlbal-X.XX.tar.gz
	     Has already been unwrapped	into directory /home/myself/.cpan/build/Perlbal-X.XX-GFko0J
	     '/usr/bin/perl Makefile.PL	INSTALLDIRS=site' returned status -1, won't make
	   Running make	test
	     Make had some problems, won't test
	   Running make	install
	     Make had some problems, won't install

       This is the cpan	shell assuming nothing changed in the system and
       skipping	a few steps. You need to let it	know you're willing to forget
       the past:

	   cpan> look Perlbal

	   $ rm	-rf *

	   $ exit

       And now you can try installation	again:

	   cpan> install Perlbal


perl v5.32.1			  2011-01-23	   Perlbal::Manual::Install(3)


Want to link to this manual page? Use this URL:

home | help