mantis是一个基于php/MySQL/web的缺陷跟踪系统,其本质就是一堆php文件所以主要还是配置apche+php+mysql
1、关于mantis的基本操作有如下几步:
#cd /var/www/html
wget http://sourceforge.net/projects/mantisbt/files/mantis-stable/1.2.15/mantisbt-1.2.15.tar.gz/download
tar xvf mantisbt-1.2.15.tar.gz
mv mantisbt-1.2.15 mantis
chmod 777 -R mantis
2、创建数据库,供mantis使用
mysql -u root
create database mantis;
grant all privileges on mantis.* to fang@'%' identified by 'fang';
flush privileges;
exit;
3、开始在web上配置mantis
http://ip/mantis/admin/install.php
数据库地址:ip (localhost 出错)
账号:fang
密码:fang
数据库名:mantis
填入基本信息,在提交的时候可能报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方式,给个链接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
配置的时候很容易错误,确定造作正确的话,多试几遍就好了。
4、配置参数文件
#cd /var/www/html/mantis
#vim config_inc.php
复制这5行内容
<?php
$g_hostname = 'xxx.xxx.xxx.xxx';
$g_db_type = 'mysql';
$g_database_name = 'mantis';
$g_db_username = 'fang';
$g_db_password = 'fang';
?>
#rm -rf config_inc.php // 删除临时配置文件
#cp config_inc.php.sample config_inc.php // 复制一个配置文件样板
#vim config_inc.php // 黏贴,替换 样板中相应的5行
5、可能出现的问题
1、时区问题
解决方式:在config_inc.php中加上
$g_default_timezone='Asia/Shanghai';
2、移除admin,目录
解决方式,防止以后用到这个目录,暂时将他重命名就行了
ce /usr/local/apache/htdocs/mantis/
mv admin admin_back
3、Warning: You should disable the default 'administrator' account or change its password.(不算错误)
Mantis有一个默认的系统管理员帐号administrator,密码root
4、需要改成中文的话
解决方式:在config_inc.php中加上
$g_default_language = 'chinese_simplified';
6、添加对 LDAP验证的支持(目前只能做到密码验证,没有权限验证)/usr/local/apache/htdocs/mantis
vim config_inc.php
添加如下几行
$g_login_method = LDAP;
$g_ldap_server = 'ldap://localhost';
$g_ldap_root_dn = 'ou=People,dc=1v,dc=cn'; 所有用户的根后缀
$g_use_ldap_email = ON;
经过测试,这两句好像可以不要(疑问:没有管理员账号,如何进入LDAP服务器验证用户账号密码是否合法??)
$g_ldap_bind_dn = 'cn=Manager,dc=1v,dc=cn'; 管理员账号(用管理员账号登入后才能验证账号密码)
$g_ldap_bind_passwd = 'weshow'; 管理员密码
7、如果使用ldap,请注意这个时候还没完,因为还没有把管理员权限交出去
* 用ldap中的一个账号test登录,登录后就退出,mantis知道你登录过就够了。
* vim config_inc.php,屏蔽第6步添加的参数,重新用administrator 登录,将test赋予管理员权限。
* vim config_inc.php,恢复ldap验证
* 你已经是管理员了,这时你可以删除administrator账号了
8、配置邮件
vim config_inc.php
在这个文件的最后加上(只有放在最后才能覆盖前面这些参数的默认值)
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.exmail.qq.com'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_username = 'luxfang@1v.cn'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_password = '******'; # used with PHPMAILER_METHOD_SMTP
$g_administrator_email = 'luxfang@1v.cn';
$g_webmaster_email = 'luxfang@1v.cn';
$g_from_email = 'luxfang@1v.cn'; # the "From: " field in emails
$g_return_path_email = 'luxfang@1v.cn'; # the return address for bounced mail
9、修改字段和显示
1 提交问题时,很多字段都没有必要填:可以修改一下源码,禁用一些字段
vim config_defaults_inc.php (定制要显示什么字段)
vim lang/strings_chinese_simplified.txt(显示的字段相应的中文翻译)
2 再”注释“中编辑模板
vim bugnote_add_inc.php
<? echo "软件版本:\n描述:(如果Bug已修复,开发人员需给出Bug产生原因)"?>
3 再描述中编辑模板
vim bug_report_page.php
<textarea <?php echo helper_get_tab_index() ?> name="description" cols="80" rows="10"><?php $f_description="软件版本:\n前提条件:\n复现步骤:\n实际结果:\n期望结果:"; echo string_textarea( $f_description ) ?></textarea>
10、编辑新闻 无法显示
vim config_inc.php
添加: $g_news_enabled = ON;
11、禁止匿名登陆
$g_allow_anonymous_login = OFF;
12、时间长了mantis变慢
原因:邮件积累过多。
mantis每次邮件发送失败时会将邮件保存在数据库的mantis_email_table表中。时间长了就越来越慢。
因为mantis会每次尝试发送失败的邮件,所以每次都会遍历一次这个表。
邮件累积原因:1 发送邮件的格式或地址错误
2 用于smtp 验证的邮件账号或密码错误。
mantis迁移
1 数据库迁移(mysql 导入,导出)
导出数据库:mysqldump -u root -p dababase_name>db.sql
导入:mysql -u root -p dababase_name<db.sql
2 mantis的php源文件直接拷贝到新的机器
3 修改参数文件config_inc.php中相关信息,主要是 数据库连接参数,主机ip,ldap