BuildForge Help

Build Forge Installation and Configuration (UNIX/Linux)

Use this procedure to install the Build Forge Management Console on UNIX and Linux.

This section includes instructions for you to perform the following steps: A reference section for the bfinstall.pl script is included.

Prepare Build Forge Files

To prepare the Build Forge files for installation:
  1. Download the Build Forge tarball from IBM (or copy it from the installation media if it has been provided). Do the following as a non-root user.
    • Make a installation directory. Recommended: /usr/local/buildforge
    • Copy the tarball from the installation media to the installation directory.
    mkdir /usr/local/buildforge
    cd /usr/local/buildforge
    <download tarball>
    
  2. Extract the image.
    $ gunzip -c mc-<version>-<build>.tar.gz | tar xvf -
    
    Example: mc-7.0.1-2039.tar.gz. Note that tar is set to use stdin for the pipe (using the - parameter)

Install Build Forge

  1. Go to the newly created installation directory. This example uses /usr/local/buildforge.
    $ cd /usr/local/buildforge
    
  2. Run the bfinstall.pl Perl script with the -–with-dbtype parameter for your database type. Values are:
    • DB2: --–with-dbtype=db2
    • MySQL:-–with-dbtype=mysql
    • Oracle:–-with-dbtype=oracle
    The following example installs for DB2:
    $ ./bfinstall.pl --with-dbtype=db2
    The script asks you to confirm the installation of PHP and Perl you are using, then validates the versions and installed components of PHP and Perl. You may see messages passed through from your compiler as well as output from the script itself.
To make the Build Forge console pages your document root, update the httpd.conf file in Apache, as follows:
  • Set DocumentRoot in Apache httpd.conf to /usr/local/buildforge/ui
  • Modify the Apache httpd.conf and update the directive to point to /usr/local/buildforge/u

Include Build Forge in System Startup

In general you need to do the following to configure your system to start the Management Console at startup:
  • Copy the <bf-install>/rc/buildforge script to init.d.
  • Create run-level links from the run-level directory to the buildforge script (where it resides in init.d). Links are needed to start Management Console at one or more run levels (S links) and to terminate it on shutdown (K links)
The directory locations, directory names, run-level usage, and linking conventions vary slightly from platform to platform. Specific instructions for each platform follow.
Important: If you are running Management Console on the same host as the database it uses, be sure the database is started first.

Set Permissions for Apache

Set the owner of <bf-install>/ui/templates_c to the Apache user

  1. Go to the Build Forge installation directory.
    $ cd <bf-install>/ui/
  2. Set the owner as the user Apache runs as.
    $ chown <apache-user> templates_c
    Depending on your configuration, the Apache user may be one of the following: apache, apache2, httpd, nobody, www, www-data, www-user. If Apache is running, execute the following command to find out the user name: ps -ef | grep httpd.
  3. Use chmod to set permissions for the user as follows.
    • ui: set +rx
    • all directories below ui: set +r
    • templates_c: set +rwx

bfinstall.pl Reference

The bfinstall.pl script can take the following parameters:
  • -–with-dbtype=dbtype[,DBlibdir] Required, specifies the type of database being used as the Build Forge database. The dbtype must be one of the following values: db2, mysql, oracle. The DBlibdir directory
  • -–with-perl=pathspecifies the installation directory of the Perl installation you want to use with Build Forge.
  • -–with-php=path specifies the installation directory of the PHP installation you want to use with Build Forge.
  • -–with-bfdir=path specifies the installation directory of the Build Forge installation.
  • -–use-CPAN=[y | n] Access CPAN to install any necessary Perl additions or updates. Requires that you be connected to the Internet. If not set, the script prompts you.
The following example shows an entire session, with user input in bold. It was set up to show how to supply the path to an alternate Perl installation and to show how the script detects any missing PHP database drivers.
The current perl binary is /usr/bin/perl.  Is this the same perl that
Build Forge will be using?  n

Which perl will Build Forge be using? /usr/local/installtest/bin/perl
I'm re-executing myself with that perl now.  Wait one...



Where did you unpack the buildforge tar file?  /usr/local/buildforge


 Checking perl modules (ALL are required):

Checking Perl version ... 5.8.8
Checking Perl module Config::IniFiles ... 2.38
Checking Perl module Data::Dumper ... 2.121_08
Checking Perl module DBI ... 1.52
Checking Perl module File::Basename ... 2.74
Checking Perl module File::Path ... 1.08
Checking Perl module File::Temp ... 0.16
Checking Perl module Getopt::Std ... 1.05
Checking Perl module HTML::Template ... 2.8
Checking Perl module IO::Select ... 1.17
Checking Perl module IO::Socket ... 1.29
Checking Perl module IO::File ... 1.13
Checking Perl module IPC::Open2 ... 1.02
Checking Perl module MIME::Lite ... 3.01
Checking Perl module POSIX ... 1.09
Checking Perl module Set::Crontab ... 1.00
Checking Perl module Sys::Hostname ... 1.11
Checking Perl module Text::Balanced ... 1.95
Checking Perl module Time::Local ... 1.11
Checking Perl module XML::Writer ... 0.602
Checking Perl module XML::Writer::String ... 0.1
Checking Perl module XML::XPath ... 1.13
MySQL: Checking Perl module DBD::mysql ... 3.0007
buildforge.conf exists and looks like this:
db_hostname localhost
db_database bf_71
db_username build
db_password build
db_type mysql
db_provider mysql

Checking PHP module and database compliance... 

Is the php being used for the web server /usr/local/bin/php? y

Checking PHP version ... 5.2.1
Launching PHP checks ... launched

PHP mysql driver is INSTALLED
PHP mysqli driver is MISSING

Missing PHP drivers need to be added to the php.ini as 
extensions and the extensions need to be copied into the 
php extension_dir specified in the php.ini file.
These extensions can be build from the php source by adding
a configure parameter to add shared DB drivers
(look at the output of ./configure --help in the php sourcedir
for a list of parameters)

The php source can be downloaded from http://php.net/releases
If you are running a unix that has a package manager, check for
packages containing the php module for your database

The supported and tested version of php is 5.2.1.
If you need to run a later version of php, please contact
support