项目组去年年底配置了两台服务器,其中的一台安装了Ubuntu 9.10 Server。由于项目组采用Bugzilla作为bug生命周期的管理,需要把Bugzilla迁移了过来。以下记录迁移过程备忘。
原服务器 Ubuntu 8.04 Desktop , Bugzilla 3.2.2
新服务器 Ubuntu 9.10 Server , –
参考网上部分方案,打算采用比较稳妥的方式,形成如下思路
1 备份mysql数据库
将数据库bugs备份到文件bugsdata.sql
$mysqldump bugs > bugsdata.sql
再修改bugsdata.sql,在文件头加两行
create database if not exists bugs;
USE bugs;
2 在已安装mysql的9.10Server上恢复数据库
此步骤一定在第5步之前,因为Bugzilla的checksetup.pl会自动升级数据库脚本从3.2.2到3.4.4
3 打包Bugzilla 文件夹并恢复到Ubuntu 9.10上 (此步骤浏览时报错,忘了具体错误,比较难处理,转到步骤3)
4 下载最新Bugzilla 3.4.4, 重新编译。 至于为什么不用ubuntu自带的Bugzilla以及如何下载编译配置Bugzilla,请参见这篇博文Ubuntu 8.04 安装 Bugzilla 3.2.2
为了防止版本文件夹的变化而修改apache虚拟目录文件,可以创建symbolic link,比如解压后的文件夹为 Bugzilla_3.4.4 可以用 ln –s Bugzilla Bugzilla_3.4.4 创建名为Bugzilla的symbolic link,在apache虚拟目录的配置中可以使用该名称,将来出现新版本只更新Bugzilla的指向即可。
5 运行 ./checksetup.pl 的时候,按照提示下载缺少的部分模块,总是有3个模块安装不上
Checking perl modules…
Checking for DateTime (v0.28) not found
Checking for DateTime-TimeZone (v0.71) not found
Checking for Template-Toolkit (v2.22) not found
解决方法 sudo apt-get install libmysql++-dev (参考了ubuntuforums.org里一位老兄的帖子Installing bugzilla and DateTime problem)
6 接下来就是按照提示修改Bugzilla的localconfig
$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’;
注意其中的webservergroup 我设置为了www-data,注意这个是ubuntu的运行apache的用户组(不同于其他linux发行版的apache用户组)
7 别忘了在apache下配置该虚拟目录,ubuntu自带的apache可以直接修改的/etc/apache2/sites-enabled下面的文件加入
Alias /bugzilla “/var/www/bugzilla″
<Directory “/var/www/bugzilla″>
Options +ExecCGI
AllowOverride Limit
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
</Directory>
不过我们的服务器使用了自己下载编译的apache2,因为该服务器还做为svn的源代码管理服务器。我在ubuntu 9.10 server 下的apache在启用ssl的时候总是报undefined symbol apr_ldap_ssl_init错误,此处我怀疑可能是ubuntu9.10 server的问题,我在虚拟机ubuntu 8.04 desktop下没有出现此问题。
apache2的安装目录更改为/usr/local/apache2,在/usr/local/apache2/conf/httpd.conf中加入上述内容。
关于apache2的下载编译以及使用ssl的SVN请浏览Ubuntu 9.10 Server 配置基于SSL的Subversion
8 sudo /etc/init.d/apache2 restart (自带的apache2)
或者
cd /usr/local/apache2/bin (编译的apache2)
sudo ./httpd –k restart
这半年的项目一直在用jquery,感觉确实很方便,这几天有点时间,把wp的theme处理了一下,原来的theme调用的是自己的jquery,而没有使用wp后台管理界面的jquery,于是处理了一下,用fiddler抓了一下,现在清静了。
GET http://www.basilwang.net/wp-content/themes/redevo_newsblue/style.css
304 Not Modified
GET http://www.basilwang.net/wp-includes/js/jquery/jquery.js?ver=1.2.6
304 Not Modified
GET http://www.basilwang.net/wp-includes/js/jquery/ui.core.js?ver=2.7.1
304 Not Modified
GET http://www.basilwang.net/wp-includes/js/jquery/ui.tabs.js?ver=2.7.1
304 Not Modified
GET http://www.basilwang.net/wp-content/themes/redevo_newsblue/images/search.png
304 Not Modified
具体写法,参考了网上的一些内容,有些出入,可能是版本的问题,修改了一下,ok
在themes/*** 的header.php文件的<head>中<?php wp_head(); ?>前加上
<?php wp_enqueue_script(’jquery’,'/wp-includes/js/jquery/jquery.js’); ?>
<?php wp_enqueue_script(’uicore’,'/wp-includes/js/jquery/ui.core.js’); ?>
<?php wp_enqueue_script(’uitabs’,'/wp-includes/js/jquery/ui.tabs.js’); ?>
这样就能利用wp的js文件了。(用<?php wp_enqueue_script(’jquery’); ?>不行,不知为什么,估计是版本的问题)
另外在ubuntu+firefox下,可以使用httpfox来查看http信息。
最近一段时间发现垃圾评论非常多,清明节三天假,垃圾评论就有1千多条,My god, 删到我手疼,于是只得求助于反垃圾评论软件,以前安装过一个发表评论需要输入验证码的插件,有童鞋评论说不好用,这次尝试了Aksimet。通过这几天的观察,效果很是不错,已经帮我拦截了600多的Spam了,好像只有两三个漏网的,不过还没有机会测试一下正常评论的识别率,请童鞋们踊跃发言,帮俺测试一下。
新的项目刚刚启动,虽说只有几个人七八条枪,但是也得装个正规军的样子,版本控制、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下权限 两处不熟悉浪费了时间,这里记录下整个过程,已备查阅。
上周五一咬牙把我的dopod c720的wm5.0给刷掉了,我的c720是行货,移动定制的心机,不过用起来很是垃圾,而wm6.1网上的评价不错,早想尝试一下。以前有过Palm系统的刷机经验,感觉基本差不多,下面把自己刷机的一些体会写一下。
1 网上的刷机教程很多,推荐k大的文章http://www.ioicn.com.cn/forum/viewthread.php?tid=252565&highlight=c720,网上看wm6.1的刷机过程比wm5.0简单多了,写得也很详细。
2 我是在Vista Business下刷机的,当了一次小白鼠,幸好成功了,要不我S#*)$1%
3 刷机很顺利,不过我刷完后超频太猛 从180MHZ超到280MHZ,直接死机,之后没有任何反应,后来想到Palm的硬启,发现wm也可以,网上也有方法,不过我试了好多次,最后我的经验就是从关机开始,持续安住两个快速键(最上面的两个,开始我也不知道),中间安住开机键间隔1秒左右松开(快速键一直按住),直到系统启动看到桌面,会出现提示,按照提示操作即可。我的频率最后在240MHZ,现在速度可以接受
4 输入法以前在wm6.1下很不爽,现在有了点讯梅花试用版,很不错,希望软件越做越好,我也捐了2块钱,呵呵。
以上就是本人的一些经验,最后提醒各位,刷机有害身体健康。