Sunday, November 30, 2008

An Example To Setup Bugzilla 3.2 with Oracle

An Example To Setup Bugzilla 3.2 with Oracle
The following Example shows you how to install Bugzilla with Oracle on Linux. For details, see the Bugzilla Installation Guide.

Preparation

Software requirement:

Perl 5.81 or above
Oracle v10.02.0 or above
Apache(httpd),sendmail etc.


Oracle Configuration

You need Oracle v10.02.0 or above,either Enterprise or XE edition,depending on the real need.

Create Tablespace(Optional):

Login sqlplus as sys or system, and execute:

CREATE TABLESPACE bugs
DATAFILE '/u01/oradata/bugzilla.dbf' SIZE 500M
AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;


Create Database User For Bugzilla:

Login sqlplus as sys or system, and execute(username: bugs, password: bugs):
CREATE USER bugs
IDENTIFIED BY "bugs"
DEFAULT TABLESPACE bugs
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT;
-- GRANT/REVOKE ROLE PRIVILEGES
GRANT CONNECT TO bugs;
GRANT RESOURCE TO bugs;
-- GRANT/REVOKE SYSTEM PRIVILEGES
GRANT UNLIMITED TABLESPACE TO bugs;
GRANT EXECUTE ON CTXSYS.CTX_DDL TO bugs;

Apache Configuration for Oracle

Config ORACLE_HOME and LD_LIBRARY_PATH, like:
vi /etc/httpd/conf.d/bugzilla.conf
Enter below and save:
# Set ORACLE_HOME and LD_LIBRARY_PATH
SetEnv ORACLE_HOME /usr/lib/oracle/xe/app/oracle/product/10.2.0/server
SetEnv LD_LIBRARY_PATH /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib


Install Bugzilla 3.2

Download and untar
Download Bugzilla3.2

cd /var/www/html/
wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.tar.gz
tar zxvf bugzilla-3.2.tar.gz
mv bugzilla-3.2 bugzilla


checksetup.pl

Then run checksetup.pl cd bugzilla
./checksetup.pl

Install all the perl modules needed, before that you need to install perl-CPAN if you don't have it:
yum install perl-CPAN

The simplest way to install all the modules on Linux is to run:
/usr/bin/perl install-module.pl --all

You can leave all things to default

Install DBD::Oracle

export ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server"
export LD_LIBRARY_PATH="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib"
/usr/bin/perl install-module.pl DBD::Oracle


Note: If the Oracle Database is on a remote server,you need to install Oracle Instant Client or Oracle Client, then set the ORACLE_HOME and LD_LIBRARY_PATH to the right value

run checksetup.pl again to generate localconfig:
./checksetup.pl

Edit localconfig:
$db_driver = 'oracle';
$db_host = '10.182.120.189'; # IP or hostname

$db_name = 'XE'; # SID
$db_user = 'bugs'; # Database Username
$db_pass = 'bugs' # DataBase Password

After that,run checksetup.pl again:
./checksetup.pl

Enter the information for the administrator user:

Enter the e-mail address of the administrator: admin@my.company
Enter the real name of the administrator:Admin
Enter a password for the administrator account:
Please retype the password to verify:


Apache for Bugzilla

edit /etc/httpd/conf.d/bugzilla.conf, append:

AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit


restart Apache
service httpd restart

login Bugzilla as Admin (http://yourip/bugzilla/), and config the urlbase

Installation Finish!

Note:if you run into message like below, disable the selinux,and restart your OS:
'oracle' is not a valid choice for $db_driver in localconfig: Can't load 'lib/i386-linux-thread-
multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle:
libclntsh.so.10.1: cannot enable executable stack as shared object requires: Permission denied at /usr/lib/perl5/5.10.0 /i386-linux-thread-multi/DynaLoader.pm line 203.
at Bugzilla/DB/Oracle.pm line 41
Compilation failed in require at Bugzilla/DB/Oracle.pm line 41.
BEGIN failed--compilation aborted at Bugzilla/DB/Oracle.pm line 41.
Compilation failed in require at (eval 30) line 3.

No comments:

Followers