在iis中mantisbt配置过程

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

  • 搭建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 Filesphp5ext"

	;定义启用哪些扩展

        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 Filesphp5

                    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%system32inetsrvfcgiconfig.js -add -section:"PHP"  ^
-extension:php -path:"D:Program Filesphp5php-cgi.exe"


             配置文件访问权限    

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

            

             配置 FastCGI 和 PHP 的回收

cscript %windir%system32inetsrvfcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%system32inetsrvfcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

             配置 FastCGI 超时设定

cscript %windir%system32inetsrvfcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90

cscript %windir%system32inetsrvfcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

             改变 php.ini 文件的位置

cscript %windir%system32inetsrvfcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"D:Program Filesphp5"
  • 配置iis

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

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

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

         扩展名为.php   映射路径为C:WINDOWSsystem32inetsrvfcgiext.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';  

                      如果出现乱码则修改MantispluginsMantisGraphcoregraph_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


原文地址:https://www.cnblogs.com/wala-wo/p/5119232.html