Windows 下Mantis在Apache2的安装指南

以前曾经在win2000+IIS5上配置过了Mantis,整个过程因为PHP基于IIS的配置相对简单没怎么留意,时过一年后想重新搭建Mantis又不想装臃肿的IIS,索性选择了Apache2

整个过程不乏使用Google大法等手段从配置Apache上的PHP到部署Mantis,辛苦一番之后眼瞅着网上很多东西在新的版本都不怎对了,自然记录下来已备后用。

简介

Mantis作为一个轻量级的开源BUGs跟踪系统,基于PHP+MySQL,后台的数据库默认MySql,也可选择PostgreSql

关于Mantis更多信息请到http://www.mantisbt.org/

1         环境搭建

Mantis 1.0.1    Mantis最新的版本是1.0.1 更多Mantis信息请到http://www.mantisbt.org

mysql-5.0.19-win32  放着最新的MySql5还去用MySql4有点TU了(更多MySql信息请到http://www.mysql.com/

php-4.4.0.tar.gz    对于PHP没有选择最新的PHP5,也没有采用win installer,而是直接用了二进制压缩包。也省得安装之后还要把必要文件copy来来去去的,麻烦。(更多PHP信息请到http://www.php.net

apache2.0.54        Apache使用了apache_2.0.55-win32-x86-no_ssl.msi  更多Apache2信息请到http://httpd.apache.org

1.1    配置Apache运行PHP

1.1.1    Apache2

安装Apache2没什么好说的,一路NextOK了,我把Apache2安装在了d:/tmtool/apache group目录中。

用文本编辑器打开D:/TMTOOL/Apache Group/Apache2/conf/httpd.conf配置文件作如下修改:

1)指定web服务器apache的文档根路径 document_root

    doc_root = d:/tmtool/webroot

2)在LoadModule ssl_module modules/mod_ssl.so后加入

   LoadModule php4_module "d:/tmtool/php/sapi/php4apache2.dll"

3)   ... 后加入两行扩展支持php文件

    AddType application/x-httpd-php .php .phtml .php3 .php4

    AddType application/x-httpd-php-source .phps

4) 调整默认文档存放位置DocumentRoot

    DocumentRoot "d:/tmtool/webroot"

    增加指定默认首页类型:

    DirectoryIndex index.html index.html index.php index.php3

5 调整DocumentRoot保持一致:

# This should be changed to whatever you set DocumentRoot to.

    #

   

6)新增PHPIniDir定位php.ini

# configure the path to php.ini

    PHPIniDir "d:/tmtool/php"

1.1.2    PHP4

由于使用了二进制压缩包,直接把解压缩之后的PHP目录copyd:/tmtool/php中,在PHP4主目录中会有clidllssapi等目录,如果是采用installer安装的话目录里只有sessiondatauploadtemp等目录,最后还是需要通过二进制包copysapi目录,这就是俺不用installer的原因,嘿嘿。

1)php的安装目录加入到系统变量PATH

2)设置PHP

    php根目录下的php.ini-dist 或者 php.ini-recommended copy并改名为php.ini

3) 调整PHP.ini中指定的扩展目录:

    extension_dir = "d://tmtool//php//extensions"

4)  复制d:/tmtool/php/php4ts.dllsystem32目录下

1.1.3    测试

完成了Apache2PHP的配置之后重启Apache2,在在默认目录(d:/tmtool/webroot)下新建index.php:

    echo "hello world";

?>

浏览器访问http://localhost看到hello worldok了。

1.2    安装Mysql

将下载的Mysql5安装包解压缩(d:/tmtool/mysql/bin)就算ok了;

运行bin目录下的mysqld-nt.exe启动mysql服务。

1.3    部署mantis

将解压缩后的mantis copyphp的发布目录中d:/tmtool/webroot/mantis,由于1.0.1中取消了原来/sql/db_generate.sql 的数据库脚本而采用了通过系统来建立环境。通过浏览器访问http://localhost/mantis/admin/install.php可看到部署mantis数据库环境的界面。

默认的数据库是bugtracker,我更喜欢mantis,注意要使用有管理员权限的用户来建立数据库,我用了root

设定好了install/upgrade database之后正常情况下在输出反馈页面下一片绿色的good,那就是ok了,要是有红色的bad,那要调整好了再初始化到ok才行,这时候在mysql里会新增了一个库(我的是mantis),还有下面的很多以mantis_开头的表,到此数据库初始化结束。

1.4    设置Mantis

1)d:/tmtool/webroot/Mantis中的config_inc.php.sample复制一份,改名为config_inc.php,修改其中的设置;

tipsconfig_defaults_inc.php中保存这Mantis的默认设置:用户自己的设置信息保存在config_inc.php中,如果某个选项在config_inc.php中有设置,则系统使用config_inc.php中的设置,否则使用config_defaults_inc.php的系统默认设置;config_inc.php.sample则是Mantis给出的一个用户设置文件例子。

我们根据情况修改config_inc.php文件中的设置,设置很简单,各个参数的在config_defaults_inc.php都有很详细的说明。

下面是我的一些自定义参数,其中涉及jpgraphphpmailer的内容之后说明:

$g_use_iis = ON;            # 使用IIS 

$g_show_version = OFF;     # 不在页面下部显示 Mantis的版本号

$g_default_language = ‘chinese_simplified’;  # 默认语言为简体中文

$g_show_project_menu_bar = ON;   # 显示项目选择栏

$g_show_queries_count = OFF;              # 在页脚不显示执行的查询次数 

$g_default_new_account_access_level = DEVELOPER;                          # 默认用户级别

$g_use_jpgraph = ON;                         # 使用图形报表(jpgraph)

$g_jpgraph_path = ‘ D:/TMTOOL/WebRoot/mantis/core/jpgraph/src/’;    # JPGraph路径  ,注意最后的’/’要加

$g_window_title = ‘Mantis Bug 跟踪管理系统’;            # 浏览器标题 

$g_page_title = ‘RinkBUGs跟踪管理系统’;          # 页面标题栏  $g_enable_email_notification = ON;                    # 开通邮件通知

$g_smtp_host = ‘smtp.***.com’;                   # SMTP 服务器

$g_smtp_username = ‘***’;                        # 邮箱登录用户名 

$g_smtp_password = ‘***’;                         # 邮箱登录密码 

$g_use_phpMailer = ON;                       # 使用 PHPMailer 发送邮件 

$g_phpMailer_path = ‘D:/TMTOOL/WebRoot/mantis/core/phpmailer/’; # PHPMailer 的存放路径 

$g_phpMailer_method = 2;       # PHPMailer SMTP 方式发送 Email 

$g_short_date_format = ‘Y-m-d’;      # 短日期格式,Y 大写表示 4 位年 

$g_normal_date_format = ‘Y-m-d H:i’;             # 普通日期格式 

$g_complete_date_format = ‘Y-m-d H:i:s’;        # 完整日期格式 

 

完成以上设置以后,你就可以使用Mantis了,打开浏览器,输入http://localhost/mantis,应该就可以看到Mantis的登录页面了,你可以用默认用户名administrator和密码root登录进去,进行管理设置。

1.5    Mantis的初步安全设置

1.5.1    删除admin目录

Mantis目录下有一个admin目录,这是Mantis管理员进行管理Mantis的,比如之前我们构建数据库环境的install.php等。使用这个模块可以检查你的Mantis是否安装完全,对旧版本的Mantis进行升级,对Mantis的页面CSS文件进行修改;使用这个管理模块是不需要用户名和密码的,因此任何人都可以通过这个管理模块查看你的Mantis系统信息,而且由于有升级模块,在这里还可以直接对数据库进行修改。

因此Mantis会建议在配置完成后将这个admin目录删除;注意一定是删除而不是改名!改名后仍然是可以访问的!

1.5.2    删除administrator

在添加一个具备管理员权限的用户后,删除系统默认的administrator用户。

 

1.6    PHPMail的设置

默认情况下,Mantis使用内置的Mailto()函数进行邮件的发送,包括新用户注册发送密码、Bug改变提醒、重设密码等邮件的发送都使用MailTo()来完成,不过实际使用中发现,MailTo函数好像不支持需要校验的邮件服务器。其自身携带的PHPMailer配置起来也有问题,所以我直接将下载的PHPMailer覆盖Mantis里附带的Mailer(D:/TMTOOL/WebRoot/mantis/core/phpmailer)。来发送邮件。

关于更多PHPMailer请到http://phpmailer.sourceforge.net

3)修改PHP.ini,找到include_path,增加D:/TMTOOL/WebRoot/mantis/core/phpmailer目录;

4)如上表所示,设置$g_use_phpMailer$g_phpMailer_path$g_phpMailer_method三个参数;

5)现在应该就可以使用PHPMailer进行邮件发送了;

 

1.7    图形报表(jpgraph)的设置

默认情况下,Mantis的图形报表是关闭的,因此在Mantis的报表中看不到“图形报表”的入口,需要安装JPGraph模块并设置$g_use_jpgraphON才能打开图形报表;

1)下载JPGraph:从http://www.aditus.nu/jpgraph/index.php下载JPGraph的安装文件,当前最新版本是jpgraph-1.20.3

2)将下载下来的jpgraph-1.20.3.tar.gz解压缩到D:/TMTOOL/WebRoot/mantis/core/jpgraph目录下;

3)打开config_inc.php文件,修改$g_jpgraph_pathJPGraphsrc目录,$g_use_jpgraphON

4)修改PHP.ini文件,激活“extension=php_gd2.dll”和“extension=php_iconv.dll”;另外如果extension_dir项不正确,请把extension_dir改为正确的值。

5)PHP/dlls下面的iconv.dll复制到Windows/System32目录下,以上两个步骤使PHP自动载入php_gd2php_iconv.dll模块,这两个模块是JPGraph在显示图表和进行汉字编码转换是所必须的;

6)现在再打开Mantis的统计页面,可以看到多了图形报表,分别按状态等进行统计的图形报表,包括柱图、饼图和线图,但是图形中有很多乱码,那是因为Mantis中默认是通过UTF-8设置JPGraph,而我们界面语言是用简体中文,因此汉字显示出来都是乱码。

解决方法很简单:

1)                     Mantis/config_inc.php中将$g_graph_font = ''改为$g_graph_font = 'simsum';

2)                     由于Mantis中图形报表默认字体里不含有中文,因此我们要在Mantis/core/graph_api.php中相应增加对图形标题等设置字体代码;

function graph_get_font() {...}font_map增加'simsum' => FF_SIMSUN ,以供Mantis调用。

这样以来,在图形报表中就能看到简体中文了。

你可能感兴趣的:(PM&PC)