== Bugzilla + Oracle + Linux 安装笔记 ==
Bugzilla 3.2今天发布,该版本增加很多新的功能,其中重要的新功能包括Oracle数据库支持. 下面介绍Bugzilla + Oracle + Linux的安装过程笔记
,详细请参照
Bugzilla的安装文档.
== 准备工作 ==
检查所需软件:
Perl 5.81 及以上
Oracle v10.02.0 及以上
Apache(httpd),sendmail等
== Oracle的安装配置 ==
Oracle需要v10.02.0以上版本支持,可以是企业版,也可以是XE版,具体用哪个版本,可以根据需要来确定.
Oracle安装文档到处都有,这里就不说了,开始说Oracle的配置吧.
=== 1. 创建Tablespace(可选):===
用sys 或者 system用户登陆sqlplus, 执行:
CREATE TABLESPACE bugs
DATAFILE '/u01/oradata/bugzilla.dbf' SIZE 500M
AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;
=== 2. 创建bugzilla用户: ===
用sys 或者 system用户登陆sqlplus, 执行(创建数据库用户bugs, 密码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配置 ===
配置ORACLE_HOME和LD_LIBRARY_PATH, 例如:
vi /etc/http/conf.d/bugzilla.conf
输入保存:
# 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
== 安装Bugzilla 3.2 ==
=== 下载并解压 ===
下载Bugzilla3.2, http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.tar.gz
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 ===
接下来执行checksetup.pl
cd bugzilla
./checksetup.pl
根据提示安装必须的perl模块, 在此之前你需要安装perl-CPAN
yum install perl-CPAN
Linux下面安装Bugzilla所需的perl模块,最简单的方式是利用Bugzilla提供的install-module.pl工具, 执行:
/usr/bin/perl install-module.pl --all
遇到所有提示,默认即可
安装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
''说明: 如果Oracle数据库是在远程,则安装Bugzilla的机器上面必须安装Oracle Instant Client或者Oracle Client,然后设置相应的ORACLE_HOME和LD_LIBRARY_PATH''
再次执行checksetup.pl, 产生localconfig文件:
./checksetup.pl
编辑localconfig文件:
$db_driver = 'oracle';
$db_host = '10.182.120.189'; <-- 数据库IP
$db_name = 'XE'; <-- 数据库实例名SID
$db_user = 'bugs'; <-- 数据库用户名
$db_pass = 'bugs' <-- 数据库密码
配置完localconfig之后,再次运行checksetup.pl:
./checksetup.pl
填入管理员信息:
Enter the e-mail address of the administrator:
admin@kk.com
Enter the real name of the administrator: Admin
Enter a password for the administrator account:
Please retype the password to verify:
=== 配置Apache ===
配置/etc/httpd/conf.d/bugzilla.conf, 加入
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
</Directory>
重新启动Apache
service httpd restart
用管理员登陆 http://yourip/bugzilla/, 然后配置 urlbase
安装完成!
''说明:如果遇到类似下面的问题, 请关闭系统的selinux,然后重启系统:''
'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.