Install Bugzilla on Linux 03

brightking716發表於2010-08-05

Continue [Section 6~15] 6. Install a Mail Transfer Agent

[root@centos DBD-Oracle-1.24]# rpm -qa|grep sendmail

sendmail-8.13.1-3.3.el4

Sendmail is the original Unix MTA,and it has been installed.

7. Installing Bugzilla on mod_perl

You have two options for running Bugzilla under Apache - mod_cgi (the default) and mod_perl (new in Bugzilla 2.23)

In the process of installing mod_perl, it exist much trouble,I choose mod_cgi.

[@more@]

8. Create localconfig file using checksetup.pl

# /var/www/html/bugzilla-3.2.5/checksetup.pl

Reading ./localconfig...

This version of Bugzilla contains some variables that you may want to

change and adapt to your local settings. Please edit the file

./localconfig and rerun checksetup.pl.

The following variables are new to ./localconfig since you last ran

checksetup.pl: create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret

9. Modify the localconfig file.

Load this file in your editor. The only two values you need to change are $db_driver and $db_pass, respectively the

type of the database and the password for the user you will create for your database. Pick a strong password (for

simplicity, it should not contain single quote characters) and put it here. $db_driver can be either ’mysql’, ’Pg’ or

oracle’.

Note: In Oracle, $db_name should actually be the SID name of your database

10. Database Server

10.1 Create tablespace

sys@SHENZHEN> create tablespace bugs

2 datafile '/u01/oradata/shenzhen/bugs01.dbf' size 50M

3 autoextend on next 5M maxsize unlimited;

Tablespace created.

10.2 Create a User to Oracle

SQL>

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;

10.3 Configure the Web Server

If you use Apache, append these lines to httpd.conf to set ORACLE_HOME and LD_LIBRARY_PATH.

For instance:

# vi /etc/httpd/conf/httpd.conf

SetEnv ORACLE_HOME /u01/oracle/

SetEnv LD_LIBRARY_PATH /u01/oracle/lib/

When this is done, restart your web server.

10.4 Create DB tables and other objects with checksetup.pl

# /var/www/html/bugzilla-3.2.5/checksetup.pl

There was an error connecting to Oracle:

ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc.

Then start LISTENER and make sure $db_name in localconfig is same as SID (case-sensitive).

# /var/www/html/bugzilla-3.2.5/checksetup.pl

The problem resoved,and then input adminstrator information.

11. Bugzilla using Apache

# vi /etc/httpd/conf/httpd.conf

# Add following contents for Setting Apache httpd with mod_cgi

AddHandler cgi-script .cgi

Options +Indexes +ExecCGI

DirectoryIndex index.cgi

AllowOverride Limit

12. Login Bugzilla

Open http://192.168.0.160/bugzilla/ in Brower,but it show error as follows:

Forbidden

You don't have permission to access /bugzilla/ on this server.

Apache/2.0.52 (CentOS) Server at 192.168.0.160 Port 80

--Solution:

# chmod -R 755 bugzilla

Login successfully!

13.Create a new bugzilla project

13.1 When you use Mysql database

# cd /var/www/html

# cp -r bugzilla-3.2.5 projecta

# cd projecta

# ./checksetup.pl (generate localconfig file)

# vi localconfig (modify $db_name to projecta)

# ./checksetup.pl

Then new db for projecta begin to create automatically.

Open http://192.168.0.160/projecta/

13.2 When you use Oracle database

1> Create a new tablesapce and user for new project.

sys@SHENZHEN> create tablespace projectb

datafile '/u01/oradata/shenzhen/projectb.dbf' size 50M

autoextend on next 5M maxsize unlimited;

sys@SHENZHEN>

CREATE USER projectb

IDENTIFIED BY bugs

DEFAULT TABLESPACE projectb

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT;

-- GRANT/REVOKE ROLE PRIVILEGES

GRANT CONNECT TO projectb;

GRANT RESOURCE TO projectb;

-- GRANT/REVOKE SYSTEM PRIVILEGES

GRANT UNLIMITED TABLESPACE TO projectb;

GRANT EXECUTE ON CTXSYS.CTX_DDL TO projectb;

2> Copy a new project and edit localconfig

# cd /var/www/html

# cp -r bugzilla-3.2.5 projectb

# cd projectb

# ./checksetup.pl (generate localconfig file)

# vi localconfig

make sure $db_driver = 'oracle';$db_name = 'SHENZHEN'; $db_user = 'projectb';$db_pass = 'bugs';

Then # ./checksetup.pl

The new db for projecta begin to create automatically.

Open http://192.168.0.160/projectb/

Actually, Maybe it will show some trouble when you create a new project with oracle DB.

Some isses and solution show as follows:

1> Issue 1

Run checksetup.pl with root user when you want to create database,it show error as follows:

----------------------

There was an error connecting to Oracle:

ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc.

This might have several reasons:

* Oracle is not running.

* Oracle is running, but there is a problem either in the

server configuration or the database access rights. Read the Bugzilla

Guide in the doc directory. The section about database configuration

should help.

* Your password for the 'projecta' user, specified in $db_pass, is

incorrect, in './localconfig'.

* There is a subtle problem with Perl, DBI, or Oracle. Make

sure all settings in './localconfig' are correct. If all else fails, set

'$db_check' to 0.

-----------------------

--Solution :

# export ORACLE_HOME=/u01/oracle

If it exist the same error information, maybe you can set the new bugzilla project directory permissions(rwx).

2> Issue 2

Run checksetup.pl again,it show error as follows:

--------------------

DBD::Oracle::db do failed: ORA-06550: line 1, column 7:

PLS-00201: identifier 'CTX_DDL' must be declared

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored (DBD ERROR: error possibly near indicator at char 6 in 'BEGIN CTX_DDL.CREATE_PREFERENCE

('BZ_LEX', 'WORLD_LEXER'); END;') [for Statement "BEGIN CTX_DDL.CREATE_PREFERENCE

('BZ_LEX', 'WORLD_LEXER'); END;"] at Bugzilla/DB/Oracle.pm line 345

Bugzilla::DB::Oracle::do('undef', 'BEGIN CTX_DDL.CREATE_PREFERENCEx{a}('BZ...') called at Bugzilla/DB/Oracle.pm line 495

Bugzilla::DB::Oracle::bz_setup_database('Bugzilla::DB::Oracle=HASH(0xad33820)') called at ./checksetup.pl line 144

-------------------

--solution:

Maybe the executing privilege on 'CTX_DDL' is missing,so you can grant to:

SQL> GRANT EXECUTE ON CTXSYS.CTX_DDL TO PROJECTB;

3> Isse 3

Open http://192.168.0.160/projectb/, it display all files list of /var/www/html/projectb/ on brower.

--Solution:

# vi /etc/httpd/conf/httpd.conf

Change

To

Then

# service httpd restart

14. Upgrading to New Release using tarball

bash$ cd /var/www/html

bash$ wget

bash$ tar xzvf bugzilla-3.7.2.tar.gz

bugzilla-3.7.2/

bugzilla-3.7.2/.cvsignore

(Output truncated)

bash$ cd bugzilla-3.7.2

bash$ cp ../bugzilla/localconfig* .

bash$ cp -r ../bugzilla/data .

bash$ cd ..

bash$ mv bugzilla bugzilla.old

bash$ mv bugzilla-3.7.2 bugzilla

bash$ cd /var/www/html/bugzilla

bash$ ./checksetup.pl

It will show some perl modules need to install in new version.

Then you need install one by one.

After install all required perl module,you can run again:

bash$ ./checksetup.pl

It will upgrade database.

There are two methods for perl module installation : Build.PL, Makefile.PL

For Build.PL

# perl Build.PL

# ./Build

# ./Build test

# ./Build install

Also you can install specified location:

perl Build.PL --install_base=/my/dir

If this installation need some lib,but these libs don't exist in default perl library, for example in /my/perl/lib,

you can execute below first:

# export PERL5LIB=/my/perl/lib

In the older module,it only has Makefile.pl,and it execute as follows:

# perl Makefile.PL PREFIX=/my/dir

# make

# make test

# make install

15. Issues and Troubleshooting

1> The Home page warning

The local XML file './data/bugzilla-update.xml' cannot be created. Please make sure the web server can write in this directory and that you can access the web. If you are behind a proxy, set the proxy_url parameter correctly.

Cause: The parameter "upgrade_notification" set to "latest_stable_release",but the bugzilla linking internet deny.

Solution : Make the bugzilla server link internet Or "upgrade_notification" set to "disabled".

Reference :

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12472709/viewspace-1036195/,如需轉載,請註明出處,否則將追究法律責任。

相關文章