Ubuntu 8.04 安装 Bugzilla 3.2.2

Filed under: Featured, Ubuntu | 6 Comments »
Posted on

新的项目刚刚启动,虽说只有几个人七八条枪,但是也得装个正规军的样子,版本控制、Bug管理都得用上。以前项目用了个国产开源的Bug工具Bugfree,这次想换成强大的Bugzilla,先在虚拟机的Ubuntu安装一下,安装的过程及注意事项记录一下。

用apt-get install bugzilla 安装的版本是 bugzilla 2.22.1 debian,安装过程很简单,不过版本比较陈旧了,且无法升级到bugzilla 3 。从bugzilla论坛上了解到,2.22.1 debian版本是由ubuntu来维护的,其实可以算是bugzilla的一个分支,无法升级到bugzilla 3。这一点提醒在ubuntu下使用bugzilla的朋友,我是费了半天工夫才发现为什么无法把debian版本的2.22升级到bugzilla 3的。

我舍弃2.22.1 debian版本的一个重要原因是不支持Smtp authentication的邮件发送, 以前用bugfree,通过这个功能,我可以使用163的smtp服务器来发送邮件,小组成员能够及时地通过邮件了解bug情况。可是bugzilla提供的smtp却是不需要authentication的方式,这需要我们自己假设邮件服务器,有点郁闷。

bugzilla 3.2.2已经提供了smtp authentication的支持,3.2.2的安装不能通过apt-get install命令,可以参考源文件压缩包里的Quickstart。

下面是我采用的方式

bash$ cd /var/www  选择放置的位置
bash$ wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.2.2.tar.gz
(Output omitted 输出忽略)
bash$ tar xzvf bugzilla-3.2.2.tar.gz
bugzilla-3.2.2/
bugzilla-3.2.2/.cvsignore
(Output truncated 输出截断)
bash$ cd  /var/www/bugzilla-3.2.2/
bash$ sudo ./checksetup.pl

此时列出是否满足安装的前提,按照要求操作即可,可多次执行此命令,我这里只安装了必须的module,这也造成了我后面采用Smtp发送邮件的时候出现了一系列的问题;也可以选择全部安装,但是好像挺慢,而且我没有执行成功。
安装前提满足了,这是可以按照Quickstart来编辑文件夹下的localconfig文件,主要涉及文件访问权限组$webservergroup以及访问mysql的用户名和密码。
例:

$webservergroup = ‘www-data’;

# The DNS name of the host that the database server runs on.
$db_host = ‘localhost’;
# The name of the database
$db_name = ‘bugs’;

# Who we connect to the database as.

# The DNS name of the host that the database server runs on.
$db_host = ‘localhost’;
# The name of the database
$db_name = ‘bugs’;

# Who we connect to the database as.
$db_user = ‘bugs’;
$db_pass = ‘admin’;

然后创建用户名和数据库并赋予相应的权限

mysql -u root -p
Create database bugs;
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY ‘admin’;
Flush privileges;

再次执行checksetup.pl 即可完成bugzilla的安装,不过要想正常的显示还需要配置一下apache2
在apache2的配置文件中(我是直接修改的/etc/apache2/sites-enabled下面的文件)加入

Alias /bugzilla1 “/var/www/bugzilla-3.2.2″
<Directory  “/var/www/bugzilla-3.2.2″>

Options +ExecCGI
AllowOverride Limit
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
</Directory>

你可能注意到了,我这里虚拟目录设置成bugzilla1而不是bugzilla,我设置成bugzilla总是报找不到index.cgi的错误,可能是原来安装过2.22.1 debian的缘故,还请知道的朋友告知。

在浏览器中执行http://localhost/bugzilla1 此时可以看到bugzilla的首页。

接着配置smtp

mail_delivery_method : smtp
mailfrom                   : 设置成我的真实邮箱     例 me@163.com 可能有的mail server会验证邮箱的真实性以及是否属于该mail server
sendmailnow             : on
smtpserver               : 设置成smtp authentication服务器 例smtp.163.com
smtp_username        : 我的邮箱    例 me@163.com
smtp_password        : 密码
注意后两个parameters(选项)是2.22.1 debian所没有的。

但是接下来我在测试发送邮件的时候总是报

“The new value for smtp_username is invalid: Error requiring
Authen::SASL: ‘Can’t locate Authen/SASL.pm in @INC (@INC contains: .
lib c:/perl/site/lib c:/perl/lib) at (eval 84) line 3. ‘.”
这个错误要求我们安装Authen::SASL 可以回到checksetup.pl处按照提示安装,但是我在这里却出现了问题。
由于之前已经将bugzilla3.2.2文件夹的访问权限设置给了www-data组,现在无法进入到bugzilla3.2.2文件夹内执行任何操作,总报permissions access

采用 sudo –s –H 并输入密码,可以以root权限进入该文件夹操作,安装好Authen::SASL后,发送邮件功能ok。

回顾一下安装的过程,1是对apache默认目录设置以及perl语言环境支持的配置 2是对ubuntu下权限 两处不熟悉浪费了时间,这里记录下整个过程,已备查阅。

ubuntu和xp双系统崩溃的解决方案

Filed under: IT技术 | 4 Comments »
Posted on

家里的台式机安装了ubuntu和xp的双系统,前晚xp被我误删文件无法重启,无奈d盘中保存有大量照片,需想办法拷贝出来。
目的:照片备份
环境: 赛扬1.7 联想主板 512MB内存 40G硬盘
ubuntu和xp双系统
xp c,d 两分区 d盘内有大量家庭照片
ubuntu系统可以正常使用
光驱读盘不正常(后来发现)
自己尝试的解决方案如下,因为条件所限有的方案无奈放弃(个人感觉应该可行,有类似问题朋友可以尝试),
1 尝试使用安装光盘重新安装xp系统,总失败,ghost和原版都试过,后来发现是光驱的问题,但当时不知道,以为是ubuntu分区造成无法正常安装,放弃。
2 使用ubuntu访问window分区,需要将d盘挂载(mount)到ubuntu系统下,不过需要root管理员密码,倒霉的是我把密码给忘了,放弃。
3 使用简易移动硬盘设备将硬盘接到笔记本上,不过无法识别。从网上查到因为window无法正确读取包含ubuntu分区的分区表,可以重建分区表,不过ubuntu将无法访问,方法可以使用window故障修复台的 fdisk /mbr命令或者其他第三方工具如diskfix,diskgenius等。修复后笔记本可以正常访问台式机硬盘d盘,备份完照片后,将xp的ghost文件拷贝过去(xp ghost安装盘后缀名为gho的文件),用启动盘启动台式机,用ghost手动恢复硬盘上的gho文件,台式机xp系统ok.

后记
正常情况下,重装window即可,本例中由于光驱损坏,只能采取其他解决方案,重建分区表后,ubuntu不能再使用,
但因本文目的是将重要资料备份,基本达到预期效果。

附简易硬盘设备图