bug tracker 小巧的bug跟踪工具

  前些天搭建了bugzilla,这个庞大的家伙一时间还应付不过来。汉化不完整,乱码,等一大堆问题。于是换到了bug tracker,这个功能虽然没有bugzilla多,但需要的都有了,简单容易上手,采用php开发,部署也简单。

1. 所需软件

Bug Tracker 2.6.4, PHP 5.3.2, Apache 2.2.15, MySQL 5.1.47

2. 配置apahce加载php

  安装好apache后修改httpd.conf增加

AddType application/x-httpd-php .php
PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2_2.dll"

  如果是msi安装包安装的php,最后两句会自动加进去。

3. 配置数据库

  建库,省略。。。

4. 配置bug tracker

  解压到htdocs目录下,修改bug/include/config.php

$GLOBALS['BR_dbserver'] = "127.0.0.1"; // 数据库服务器的 IP
$GLOBALS['BR_dbtype'] = "mysqlt"; // 使用的数据库类型 (postgres, mysqlt, mysqli)
$GLOBALS['BR_dbpwd'] = "password"; // 数据库密码
$GLOBALS['BR_dbname'] = "bugdb"; // 数据库名称

/* Bug Tracker 在系统中的真正路径 */
$GLOBALS["SYS_PROJECT_PATH"] = "C:/Apache/htdocs/bug";

/* 这是你使用浏览器连到 Bug Tracker 的网页绝对路径。 */
$GLOBALS["SYS_URL_ROOT"] = "/bug";

  在浏览器中打开http://localhost/bug/setup/index.php进行安装。成功后删除setup下面的php文件。

  到此应该可以通过http://localhost/bug/来访问了。默认用户名密码都是admin。

5. 后续

  具体怎么使用就不多介绍了,这个系统的中文翻译不是很恰当,凑合着理解把。界面还是做的蛮好的。

windows下apache安装bugzilla

1. 所需软件

  apache 2.2.15, ActivePerl 5.10, MySQL 5.1, Bugzilla 3.6

2. 配置apache

  打开apache的httpd.conf配置文件找到

Options Indexes FollowSymLinks

  在最后面添加ExecCGI参数使其可以作为服务器端cgi执行。

Options Indexes FollowSymLinks ExecCGI

找到

#AddHandler cgi-script .cgi

  取消注释并在后面加上.pl

AddHandler cgi-script .cgi .pl

  系统中注册cgi文件,复制以下文本导入到注册表。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.cgi]
[HKEY_CLASSES_ROOT\.cgi\Shell]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
@="c:\\Perl\\bin\\perl.exe -T"

3. 配置数据库

  建库随意,省略。。。

4. 配置bugzilla

  将bugzilla解压并复制到apache的网页目录下,打开命令提示符切换到bugzilla目录运行checksetup.pl。来检查perl的插件是否符合需求,并给给出一个下载列表,依据提示手动输入命令安装。可选模块:将http://cpan.uwinnipeg.ca/PPMPackages/10xx/加到perl仓库中。

ppm repo add theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/

  安装完perl模块后再次运行checksetup.pl会提示输入一些数据库连接信息。通过后会自动创建数据库表。输入的信息会自动保存在bugzilla目录下的localconfig文件中。

  PerlMagick模块到官网下载

5. 修改bugzilla

  这个有点麻烦了,如果是在linux下则不需要改,windows下每一个.pl .cgi文件的第一行都要改。否则500

#!/usr/bin/perl

改成

#!perl

  cgi文件用-wT参数,pl则是-w参数,注意看清楚,批量替换吧。
  使用相对路径需要保证perl的bin目录在系统path中,安装perl的时候会自动加上的。

  OK,访问http://localhost/试试看。

起点

  六月,事情真多。学校的事终于告一段落了。来到这边两天,没电脑,所以一直没更新blog。

  在51和cjol来了一番海投,至今没收到一个电话,同来的都有5个电话了,郁闷。不知道是睡晚了还是手机没信号。千手房就这样,信号断断续续,楼间距最短的地方不到一米。过些日子赶紧逃吧。

  为此将手机信号搜寻时间改为了连续,开启信号提示,耗电特快,几乎一天一冲了。苦了我这用了4年多的e2,电板也从来没换过。

  使用别人的电脑还真有点不习惯。还是自己的ubuntu+ff舒服。看了看监控报告,blog服务器还是蛮稳定的,gd的免费空间却倒下了。

  android php vps有时间再来折腾吧。。。

折腾

  明天返校。在家待两个月,三分之一时间花在linux系统,三分之一在项目,三分之一在blog,还有三分之一在互联网资讯。这多出来的三分之一多半是在后半夜,就当是向未来借的吧。

  一直想选一款插件能让手机访问blog 。花了一下午的时间试了n个插件,还是没一个满意的,还导致权限组出问题。索性换个简洁点的主题,正好手机也能支持。
继续阅读折腾

MSSQL的备份语句

  以前使用mssql的备份语句的时候都是以当前时间作为文件名,这样每次备份都产生不同的文件,就不会遇到追加和覆盖备份的问题。而现在需要在一个指定的文件名中进行备份,会发现每次备份后文件体积会越来越大。这是因为每次备份默认都是追加的,保留了历史备份。

  在management studio中操作备份时可以在选项中更改追加或覆盖,而在程序中使用BACKUP DATABASE语句备份时可以使用WITH INIT | NOINIT来指定是否覆盖。init表示覆盖,noinit追加。
例如:

BACKUP DATABASE WMSDB TO DISK = 'C:\Tomcat\temp\WMSDB.BAK' WITH INIT

  参考http://technet.microsoft.com/zh-cn/library/ms186865(SQL.105).aspx