昨天好不容易安装完Twiki。Perl模块之间的依赖关系比较复杂,缺失的东西可以去Cpan寻找。今天安装Bugzilla又有若干问题,在CSDN上找到一个解决方法,就转载过来了。
Bugzilla 的安装
最新的稳定版 Bugzilla 是 3.0 版的,看了一下 release notice ,对附属软件有版本的要求。(只要 /etc/rc.d/init.d 下面有对应的服务脚本,就可以用 Server httpd start/stop/restart 的方式直接启动服务)
1. Perl :用 perl –v 检查 Perl 的版本,版本号为 5.8.8 ,要求 Perl 5.8.0 。
2. Database Engine :用 mysql –v 检查 MySQL 的版本,出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ,说明 MySQL 服务未启动。先输入 mysql_install_db 初始化数据库,再输入 cd /etc/rc.d/init.d 然后输入 ./mysqld start 可以启动服务。如果要加入自启动服务队列的话,首先得看 /etc 下 inittab 文件中首先启动的 id 号,我的机器是 5 ,然后在 /etc/rc.d/rc5.d 中添加启动服务的链接 ln -s ../init.d/mysqld S94mysqld 。再次用 mysql –v ,版本号为 5.0.37 , Bugzillia 对 Database 无版本要求。另外,如果 Database 选用 PostgreSQL 的话,可用 psql –v 检查 PostgreSQL 的版本,要求 8.00 。
3. Web Server :只要用支持 CGI scripts 的 server 即可,一般来说使用的是 Apache 。使用自启动服务 ln -s ../init.d/httpd S94httpd 。使用 httpd –v 查看版本,版本号为 2.2.4 。可以用 http://127.0.0.1 来测试服务是否正常。
4. Bugzilla :将 bugzilla-3.0.tar.gz 包放入 /usr/local ,解包 tar -zxvf bugzilla-3.0.tar.gz ,进入 bugzilla 目录。
5. Perl Modules :用 ./checksetup.pl --check-modules 来检查是否拥有符合的 Perl Modules 。
[root@localhost bugzilla-3.0]# ./checksetup.pl --check-modules
* This is Bugzilla 3.0 on perl 5.8.8
* Running on Linux 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007
Checking perl modules...
Checking for CGI (v2.93) ok: found v3.15
Checking for TimeDate (v2.21) not found
Checking for DBI (v1.41) ok: found v1.53
Checking for PathTools (v0.84) ok: found v3.12
Checking for Template-Toolkit (v2.12) ok: found v2.18
Checking for Email-Send (v2.00) not found
Checking for Email-MIME-Modifier (any) not found
Checking available perl DBD modules...
Checking for DBD-Pg (v1.45) ok: found v1.49
Checking for DBD-mysql (v2.9003) ok: found v3.0008
The following Perl modules are optional:
Checking for GD (v1.20) not found
Checking for Template-GD (any) not found
Checking for Chart (v1.0) not found
Checking for GDGraph (any) not found
Checking for GDTextUtil (any) not found
Checking for XML-Twig (any) not found
Checking for MIME-tools (v5.406) not found
Checking for libwww-perl (any) ok: found v2.033
Checking for PatchReader (v0.9.4) not found
Checking for PerlMagick (any) not found
Checking for perl-ldap (any) not found
Checking for SOAP-Lite (any) not found
Checking for HTML-Parser (v3.40) ok: found v3.56
Checking for HTML-Scrubber (any) not found
Checking for Email-MIME-Attachment-Stripper (any) not found
Checking for Email-Reply (any) not found
Checking for mod_perl (v1.999022) ok: found v2.000003
Checking for CGI (v3.11) ok: found v3.15
Checking for Apache-DBI (v0.96) not found
显然有很多 Modules 没有安装,明天的基本完成目标就是到 http://www.cpan.org/modules/ 下载并安装这些包。
Bugzilla 的安装(续)
5. Perl Modules :由于公司无法用ftp 连到国外的网站上,所以就无法使用自动更新Perl Modules 的命令 perl -MCPAN -e ’install "<modulename>"’ 。 必须得一个包一个包下载下来分别安装。
http://search.cpan.org 在这个页面上可以 search 到所要的 tar 包。(什么是 CPAN ? CPAN 是 Comprehensive Perl Archive Network 的缩写,它是一个巨大的 Perl 软件收藏库,收集了大量有用的 Perl 模块 (modules) 及其相关的文件。)
TimeDate :在 http://search.cpan.org/~gbarr/TimeDate-1.16/lib/Date/Format.pm 下载 TimeDate-1.16.tar.gz , module version 为 2.22 。在任意文件夹 tar –xf <filename> 后,进入目录,顺序执行 perl Makefile.PL/make/make test/make install 即可。其他 module 的安装方法与此相同。在执行 make 时,遇到错误
Manifying blib/man3/Date::Format.3pm
Can't open blib/man3/Date::Format.3pm for writing: 没有那个文件或目录
at /usr/lib/perl5/5.8.8/ExtUtils/Command/MM.pm line 132
经过石可箴的介绍, blib/man3 是专门放 man 的说明文档的地方,对于 TimeDate 的运行来说不是必要的,所以在 Makefile 中将
$(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW) \
lib/Date/Format.pm $(INST_MAN3DIR)/Date::Format.$(MAN3EXT) \
lib/Date/Parse.pm $(INST_MAN3DIR)/Date::Parse.$(MAN3EXT) \
lib/Time/Zone.pm $(INST_MAN3DIR)/Time::Zone.$(MAN3EXT)
用 # 注释掉即可。 make install 后,用 /usr/local/bugzilla-3.0/checksetup.pl --check-modules 检查 TimeDate 包安装完毕。想想还有 17 个这样的包要安装。。。我的天。。。
Email-Send :在 http://www.cpan.org/modules/by-module/Email/ 下载 Email-Send-2.185.tar.gz ,解包后安装, perl Makefile.PL 后有 warning 。
Warning: prerequisite Email::Address 1.80 not found.
Warning: prerequisite Email::Simple 1.92 not found.
Warning: prerequisite Module::Pluggable 2.97 not found.
Warning: prerequisite Return::Value 1.28 not found.
说明 Email::Address 1.80/Email::Simple 1.92/Module::Pluggable/Return::Value 1.28 三个 perl 模块没有安装,遂即到网上找包。
Email::Address :在 http://search.cpan.org/~rjbs/Email-Address-1.888/lib/Email/Address.pm 下载 Email-Address-1.888.tar.gz , make 的时候同样发生了类似于 TimeDate 的 make 错误
Manifying blib/man3/Email::Address.3pm
Can't open blib/man3/Email::Address.3pm for writing: 没有那个文件或目录
at /usr/lib/perl5/5.8.8/ExtUtils/Command/MM.pm line 132
说明一定是我机器上有环境变量或者其他什么的没有设置正确。将关键字放在 google 上无相关信息,随即想到了上 CPAN 官方论坛上求助, www.cpanforum.org ,等待回复。
Bugzilla 的安装(续)
From the official forum of CPAN, I found some users of different perl modules met the same installation problem like me. But it seems no one has solved it.
Here is the reference links: http://www.cpanforum.com/threads/264 http://www.cpanforum.com/posts/3174 http://ubuntuforums.org/archive/index.php/t-12245.html
This is my topic: http://www.cpanforum.com/threads/5832
Since no clue to solve it, I continue to learn about DirectFB.
In the afternoon, I found a link in Chinese about this problem, and he has solve it! But he just used the auto update command, which based on the permission of ftp protocol… -_-! http://www.linuxfans.org/bbs/archiver/tid-170104.html
Bugzilla 的安装(续)
今天有大的突破,石可箴尝试了很多方法后发现,把 perl module 的安装文件从 VMwareTool 创建的目录 /mnt/hgfs/ShareFolder 移出来后再 make 即可。现在总算可以正常地手动安装下去了。 随即我补完了自己先前提的问题以防后人再走弯路。 http://www.cpanforum.com/threads/5832
Perl Modules Installed: (缩进代表安装的依赖关系)
TimeDate
Template-Toolkit
Text::Autoformat
Text::Reform
Image::Info/Image::Size
Pod::POM
File::Temp/File::Spec
Email-Send
Email::Address
Test::Pod::Coverage
Pod::Coverage
Devel::Symdump
Test::Pod
Pod::Simple
Pod::Escapes
Test::Pod::Coverage
Pod::Coverage
碰到了棘手的问题:在安装 Pod::Coverage 这个 module 时,他的一个必须要安装的 module Test::Pod::Coverage 的安装,也必须要 Pod::Coverage 。这样就形成了一个死循环。。。
尝试了一下强行安装 Test::Pod::Coverage 这个 module ,报错了但好像还是装上了点东西的,层层倒退安装上去,终于把 Pod::Coverage 这个 module 强行安装上去了,保险起见,又从最低层 module 层层安装了一遍上来。
克服了这些困难后,明天应该能将 perl modules 搞定了。
Bugzilla 的安装(续)
Here is all the PERL MODULES I installed these two days, it’s too too lengthy.
perl modules:
TimeDate
Template-Toolkit
Text::Autoformat
Text::Reform
Image::Info/Image::Size
Pod::POM
File::Temp/File::Spec
Email-Send
Email::Address
Test::Pod::Coverage
Pod::Coverage
Devel::Symdump
Test::Pod
Pod::Simple
Pod::Escapes
Test::Pod::Coverage
Pod::Coverage
Email::Simple
Test::MinimumVersion
File::Find::Rule::Perl
File::Find::Rule
Number::Compare
Text::Glob
Perl::MinimumVersion
List::Util
PPI
Clone
Taint::Runtime
List::MoreUtils
Task::Weaken
Test::Object
Test::Builder
Params::Util
Test::Script
IPC::Run3
version
version
Module::Pluggable
Return::Value
Email::Abstract
MIME::Entity
IO::Stringy
Mail::Field
Mail::Header
Mail::Internet
Email-MIME-Modifier
Email::MIME
MIME::Types
Email::MIME::ContentType
Email::MIME::Encodings
Email::MessageID
perl modules optional:
GD
libgd
Math::Trig
Template-GD
GD::Text
GD::Graph
GD::Graph3D
Chart
XML-Twig
XML::Parser
HTML::TreeBuilder
Tie::IxHash
Text::Iconv
Unicode::Map8
Unicode::String
XML::Handler::YAWriter
XML::Parser::PerlSAX
XML::SAX::Writer
XML::Filter::BufferText
LWP::Simple
XML::Simple
XML::SAX
XML::NamespaceSupport
XML::XPathEngine
XML::XPath
GDGraph
GDTextUtil
MIME-tools
PatchReader
SOAP-Lite
XMLRPC::Lite
UDDI::Lite
XML::Parser::Lite
HTML-Scrubber
Email-Reply
Email::MIME::Creator
Email::Simple::Creator
Email::Date
Time::Piece
Apache-DBI
Image::Magick
Net::LDAP
Email-MIME-Attachment-Stripper
The last two in red is the only modules I can’t install now.
About the Image::Magick module, when I install it, it shows ‘Note (probably harmless): No library found for -lgvc’. I think I can solve it by accessing to its website: www.imagemagick.org
About the Net::LDAP, when I install it, it will try to access to the perl server by FTP. It seems without FTP, it just can’t be installed properly. I will try to find another way to solve it tomorrow.
Bugzilla 的安装(续)
All Perl Modules have been done!
I’ll continue to install Bugzilla platform.
6. Sendmail :到 www.sendmail.org 下载最新的 tarball 。解压后, ./Build 安装 sendmail 系统。 Reboot 系统,假设 sendmail 进程已经被自动启动的话,用
# telnet localhost 25
ehlo test
来查看 sendmail 运行是否正常。其中 250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 代表了 smtp 协议工作正常。退出 telnet 可以用 quit 。
Bugzilla 的相关文件安装工作到此为止。
Bugzilla 的配置
首先进入 /usr/local/bugzilla-3.0 的目录运行 # ./checksetup.pl ,在 bugzilla 自动检查完所有 module 后,会生成 localconfig 文件,其中唯一需要改的设置是 $db_pass ,可以设置 access 入 database 的 password 。看了一下其他参数,暂时默认即可,重新运行 # ./checksetup.pl 以激活新的配置参数。
在 Bugzilla Guide 上看到一个程序叫 Bugzilla Database Schema ,这个软件可以将 Bugzilla 的 database 信息用图表表示出来,还可以比较不同 version 数据库的不同之处,觉得这个程序挺有用的,等 Bugzilla 正常工作后再来安装测试一下。网站地址: http://www.ravenbrook.com/project/p4dti/tool/cgi/bugzillaschema
设置 EN