在iis中mantisbt配置过程

最近需要安装个mantisbt,由于不想再安装个apache服务器,因此直接使用iis作为php解析服务器。同时为了方便管理安装包,将php安装包和扩展包能够独立存放在D:\Program Files\php5,而不是像网上很多文章说的拷贝到C:\WINDOWS\system32目录下。

  • 搭建php运行环境

windows2003 + iis6 + sqlserver2008

  • php版本选择

php安装软件从http://windows.php.net/download/上下载,不要见到最新的就下载最新的。

由于我的web服务器为iis6,因此只能选择5.3以及一下版本,iis7选择5.3以上版本

选择非线程安全版本,因为使用fastcgi.exe来执行,因此只会创建唯一的php进程,你不会存在线程耗尽问题

1、如果是用于 IIS 则选择 PHP 5.3 VC9 Non Thread Safe 或者VC6 Non Thread Safe

2、如果是用 IIS7 或更高版本以及 PHP 5.3+,则应选择 VC9 的包;

3、如果是用于 Apache 1 或 Apache 2 则选择 PHP 5.3 VC6 或者 PHP 5.2VC6

  • 配置php文件

1、将php.ini-product文件改名为php.ini

2、修改php.ini配置信息

        ;定义扩展文件绝对路径
extension_dir = "D:\Program Files\php5\ext"

	;定义启用哪些扩展

        extension=php_bz2.dll
        extension=php_curl.dll
        extension=php_fileinfo.dll
        extension=php_gd2.dll;生成图片
        ;extension=php_gettext.dll;多语言库
        extension=php_gmp.dll;数学运算
        ;extension=php_intl.dll
        ;extension=php_imap.dll
        ;extension=php_interbase.dll
        ;extension=php_ldap.dll
        extension=php_mbstring.dll
        extension=php_exif.dll      ; Must be after mbstring as it depends on it
        extension=php_mysql.dll
        extension=php_mysqli.dll
        ;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
        ;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
        extension=php_openssl.dll
        ;extension=php_pdo_firebird.dll
        extension=php_pdo_sqlsrv_53_ts_vc9.dll
        extension=php_pdo_mysql.dll
        ;extension=php_pdo_oci.dll
        extension=php_pdo_odbc.dll
        ;extension=php_pdo_pgsql.dll
        ;extension=php_pdo_sqlite.dll
        ;extension=php_pgsql.dll
        ;extension=php_pspell.dll
        ;extension=php_shmop.dll;共享内存操作         extension=php_soap.dll
        extension=php_sockets.dll
        ;extension=php_sqlite.dll
        ;extension=php_sqlite3.dll
        ;extension=php_sybase_ct.dll
        extension=php_tidy.dll
        extension=php_xmlrpc.dll
        extension=php_xsl.dll
        ;extension=php_zip.dll

3、配置php环境变量  在path中添加php主目录路径, 定义扩展路径

a)在系统中定义环境变量PHPRC, 变量值为D:\Program Files\php5\

b)在path路径中添加%PHPRC%\ext;

  • 安装并配置fastcgi

从http://www.iis.net/downloads/microsoft/fastcgi-for-iis上面下载fastcgi.exe,需要根据版本选择,iis6选择FastCGI 1.5 for IISx86 /x64

修改php.ini文件,启用一下选项,并配置对应的值

       fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

             配置 FastCGI 扩展以处理 PHP 请求

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP"  ^
-extension:php -path:"D:\Program Files\php5\php-cgi.exe"

             配置文件访问权限

icacls D:\upload /grant IUSR:(OI)(CI)(M)

            

             配置 FastCGI 和 PHP 的回收

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000 cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

             配置 FastCGI 超时设定

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90 cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

             改变 php.ini 文件的位置

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"D:\Program Files\php5\"
  • 配置iis

1、 配置 IUSR_SERVER对php安装包目录的读写权限

2、设置网站的默认首页为index.php

3、在iis网站属性中的主目录中的应用程序中添加扩展映射

         扩展名为.php   映射路径为C:\WINDOWS\system32\inetsrv\fcgiext.dll
  • sqlserver扩展安装

1、要选择对应的线程安全版本

从微软官网上下载php连接sqlserver驱动sqlsrv, 选择sqlsrv2.0.exe,解压后里面包含有线ts(线程安全) nts(非线程安全) vc9(5.3以上版本) vc6(5.2以下版本)

php 5.3以上版本

php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php5.2以下版本

php_sqlsrv_52_nts_vc6.dll

php_pdo_sqlsrv_52_nts_vc6.dll

由于我安装的是5.3非线程安全版本, 因此将以下php_sqlsrv_53_nts_vc9.dll和php_pdo_sqlsrv_53_nts_vc9.dll拷贝到ext扩展库中,并在php.ini中添加

extension=php_pdo_sqlsrv_53_nts_vc9.dll
extension=php_sqlsrv_53_nts_vc9.dll

2、安装Microsoft SQL Server 2012 Native Client

在使用SQLSRV30.exe, 需要安装这个东东,不过在我这个环境中只能使用sqlsrv20.exe

  • 安装mantisbt

1、执行http://ip/admin/install.php, 进入安装界面

hostName:主机名+端口号.mssql与其他数据库不大一样。例子:mssql为”8.8.8.8,10000“,mysql为“8.8.8.8:10000”

userName:数据库用户名

password:数据库密码

Database name:数据库名称

Database Table Prefix:表前缀

Database Plugin Table Prefix :插件表前缀

Default Time Zone:选择亚洲上海(Asia > Shanghai)

Print SQL Queries instead of Writing to the Database    :打印数据库语句,不要选择这一项,否则不会自动创建数据库

2、配置为中文

修改Mantis目录中的config_defaults_inc.php文件

          $g_fallback_language = 'english';
修改为
$g_fallback_language = 'chinese_simplified';

3、配置报表

/*配置图图表*/
$g_use_jpgraph = ON;
$g_jpgraph_path = 'D:/Program/jpgraph-3.5/'; # JPGraph路径
$g_graph_font = 'simsun';
$g_graph_window_width = 800;
# bar graph aspect ration (height / width)
$g_graph_bar_aspect = 0.9;
# how many graphs to put in each row in the advanced summary page
$g_graph_summary_graphs_per_row = 2;
$g_system_font_folder = 'C:/WINDOWS/Fonts/';
$g_font_per_captcha = 'simsun.ttf';

如果出现乱码则修改Mantis\plugins\MantisGraph\core\graph_api.php文件中的

		if( isset( $t_font_map[$t_font] ) ) {
$t_font = $t_font_map[$t_font];
} else {
$t_font = 'simhei.ttf';//arial.ttf
}

4、配置上传附件

在Mantisbt中创建上传目录upload并设置为iis进程可以进行写入、读取、修改的权限

在Mantisbt的项目管理中的“上传文件存放路径”配置上传路径为upload

#配置上传参数
$g_allow_file_upload     = ON;
$g_file_upload_method     = DISK;#DATABASE; # or DISK
$g_absolute_path_default_upload_folder = 'D:/Program/Mantis/upload'; # used with DISK, must contain trailing \ or /.
$g_max_file_size         = 5000000;    # in bytes
$g_preview_attachments_inline_max_size = 5 * 1024 * 1024;/*当图片大小小于5M显示*/
$g_allowed_files         = 'txt,jpg,jepg,gif,bmp,doc,docx,xls, xlsx,ppt,pptx';        # extensions comma separated, e.g. 'php,html,java,exe,pl'
# $g_disallowed_files   = '';        # extensions comma separated

5、配置邮件系统

从https://github.com/PHPMailer/PHPMailer上下载phpMailer,然后解压到指定路径比如D:/Program/PHPMailer/,然后修改Mantisbt中config_inc.php添加以下配置内容,并设置对应的值。网上一些资料说的不是很正确,导致刚开始的时候配置后,无法发送邮件,基本上按照config_inc.php.sample中的邮件配置建议进行配置就可以正常。

/*配置邮件服务器*/
$g_use_phpMailer = ON;
$g_phpMailer_path = 'D:/Program/PHPMailer/';
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;#PHPMAILER_METHOD_MAIL; # or PHPMAILER_METHOD_SMTP, PHPMAILER_METHOD_SENDMAIL
$g_smtp_host = 'smtp.exmail.qq.com'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_username = 'service@qq.com'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_password = '123456'; # used with PHPMAILER_METHOD_SMTP
$g_administrator_email = 'service@qq.com';
$g_webmaster_email = 'service@qq.com';
$g_from_email = 'service@qq.com'; # the "From: " field in emails
$g_return_path_email = 'service@qq.com'; # the return address for bounced mail
$g_from_name = 'Mantis Bug Tracker';
$g_email_receive_own = OFF;
$g_email_send_using_cronjob = OFF;
  • Mantisbt运行错误

在Mantisbt/php_errors.log 可以看到Mantisbt运行的错误日志

  • 参考资料

1、http://www.blogjava.net/qileilove/archive/2011/10/27/362175.html

2、http://php.net/install.windows

3、http://blog.csdn.net/yuchou123456789/article/details/12859431

4、http://wenku.baidu.com/link?url=Hzb9xVQK0TyN24Q-J_nnfjZdKaBsZFuOOiX7BKQvbHR1rVcs47q9t4cnEQFqqb2s2Rlc2r6ZQMSjaM1ACQgi_wODsek6nfRaYXL33cscfMK

5、http://wenku.baidu.com/link?url=4Ufx-xhMHaJA4mezBPBzDU7S9XLhWlrqHLefHoszyHmPEuFUoyybU1tSTY2HCLhqSsirkDg7lFNmE_VpUke3KFxTr-sHaFRxWPSjU3wdnha

上一篇:【阿炬Android笔记】01、调用VitamioBundle播放窗口


下一篇:经典优秀屏幕截图录像工具FastStone Capture推荐