Windows server 2012 IIS8下安装PHP FastCGI支持
IIS8下安装PHP FastCGI支持
1.  php5.4下载:php/downloads.php ,因为安装FastCgi(微软Windows7 IIS7后推荐方式,据测试性能比ISAPI方式好,切崩溃后只影响当前用户)模式,因此下载nts(非线程安全)安装包
2.  将下载的Zip文件解压到X:\php,并保证系统有执行权限,在此文件夹下复制一份php.ini-development,并更名为php.ini. 
3.  编辑php.ini 并保存
4.       
o  fastcgi.impersonate = 1;(记得删除最前面的分号,下同
o  cgi.force_redirect = 0; 
o  extension_dir = "./ext"; 
o  default_charset = "UTF-8" 
o  date.timezone = "Asia/Shanghai" 
o  date.default_latitude = 31.5167 
o  date.default_longitude = 121.4500
(以上三项可以到php/date.timezone去需要的对应参数)
o  extension=php_bz2.dll 
o  extension=php_curl.dll 
o  extension=php_fileinfo.dll 
o  extension=php_gd2.dll 
o  extension=php_gettext.dll 
o  extension=php_gmp.dll 
o  extension=php_intl.dll 
o  extension=php_imap.dll
o  (等等,根据需要去掉前面分号,注意,某些模块需要加载相关的驱动,比如firebird 需要fbclient.dll,所以在没安装这些数据驱动之前,不要删除相关项的分号,以后用到再修改)
5.  cmd窗口下运行x:\ -info 检查各模块的依赖情况.如果有依赖的模块没有会报告
6.  打开IIS管理,在服务器下的"处理程序映射按下图添加phpfastcgi 处理模块."确定"然后点""即可
 
 
7.  为了开发时(发布时其实也应该如此)互不影响,php文件夹放在网站主文件夹以外,然后
按引用程序添加到主网站,并给其单独设置应用程序池,注意:目前phpWindows版好像只有32(至少官方是这样),因此若在64Windows8,最好将"启用32位应用程序:设为True.具体设置可以参照前文《iis8下设置asp asp ISAPI》。
8.  测试:
·    phpinfo.php
<?php
phpinfo();
?>
·    hello.php
<html>
<body>

<?php
echo "<p><H3>Hello World!</H3></P> ";
echo "<p><H2>Hello PHP!</H2></P> ";
echo "<p><H1>你好白忙剩人!</H1></p> ";
?>

</body>
</html>
(注意:保存为utf-8编码)

随着Windows 8的发布,其服务器版本Windows Server 2012也相继推出,本篇将全面介绍如何在Windows Server 2012搭建安装DedeCMS所需要的PHP+MySQL环境,同时也将介绍如何在Windows Server 2012中设定服务器站点的安全。
 
1.添加IIS服务器角
点击任务栏左下角的服务器管理器,在安装类型选项卡中选择基于角或基于功能的安
,服务器选择中直接选择当前服务器即可,在服务器角中选择Web服务器(如图1-1)。
 
 
然后到Web服务器角(IIS中选择需要的IIS组件。这里需要额外勾选:请求筛选、IP和域限制、URL授权、Windows身份验证、HTTP重定向、CGIISAPI扩展、ISAPI筛选器。
选择完毕后确认安装,在同时功能选项卡中选择安装.NET Framework 3.5”,系统将会安装IIS以及相关的服务组件。
我们在浏览器中输入localhost,如果看到以下页面则表明我们已经安装完毕。
 
 
2.安装MySQL服务器
Windows Server2012中安装MySQL同以往版本安装并没有什么不同。
2.1.MySQL官方:sql/downloads/mysql/5.1.html下载Windows (x86, 64-bit), MSI Installer
2.2.双击安装包进行安装,我们选择Custom”模式,将安装目录存放在D:MySQL”中,数据库文件存放在D:MySQLdata”中;
2.3.设定默认root管理员的帐号密码,这里由于我们是本地测试,所以设定密码为:123456,如果是用于服务器环境,需要根据情况将密码、端口重设;
至此MySQL服务器已经安装完毕了(如图:2-1)。
 
 
 
3.安装PHP
3.1.我们这里选择下载PHP5.3,可以从官方:windows.php/download/获取。这里由于我们将采用Fast-cgi模式安装,所以选择VC9 x86 Non Thread Safe
3.2.双击包进行安装,将安装目录更改为D:PHP”,选择服务器IIS FAST-CGI”;
3.3.确认安装,安装完毕后在命令行中输入php -v”,看到如图信息则表示已经安装完成。(如图3-1
 
 
4.安装IIS PHP Manager管理器
为了方便的对PHP管理,我们选择安装IISPHP Manage组件,可以从:phpmanag
er.codeplex下载,这个安装过程非常简单,这里不再详细介绍。
 
5.安装DedeCMS
5.1.创建IIS权限控制帐户
为了对站点文件进行权限控制,我们需要添加一个专门用户对站点目录文件权限控制的用户,我们可以在服务器管理器中的工具(T菜单栏中选择计算机管理器,在这里我们来管理帐号。
我们首先在本地用户和组中添加一个名为WebUsers”的用户组。
然后添加一个名为IIS_DEDECMSUSER”的帐号,这个帐号隶属于WebUsers”用户组。
这里需要注意取消帐号的远程控制权限,同时在用户属性远程桌面服务配置文件拒绝用户登录到远程桌面桌面会话主机服务器的权限(如图5.1-1)。
 
 
5.2.创建IIS站点
接下来我们需要创建一个站点:
(1)我们将站点根目录放在D:Websiteswww.dedewww”中;
(2)IIS中添加站点,域名设定为www.dede”;
(3)我们如果需要测试访问,需要在host中添加:127.0.0.1    www.dede
完成后立即启动站点。(如图5.2-1
 
 
5.3.安装DedeCMS程序
(1)我们从DedeCMS下载最新版本的DedeCMS程序:www.dedecms/products/dedecms/downloads/
(2)下载解压安装包,将uploads文件夹下的文件拷贝到站点更目录D:Websiteswww.dedewww”中;
(3)在浏览器中输入www.dede”,这时候我们能够看到安装页面,按照安装提示进行安装(如图5.3-1);
(4)数据库设定密码为123456,确定后就完成了本次安装(如图5.3-2);
 
6.站点安全设置
6.1.站点目录权限配置
(1)首先我们在IIS中绑定设定的用户帐号,在站点的功能试图中的身份验证,双击进入后,在匿名身份验证中设定之前我们添加的用户帐号IIS_DEDECMSUSER”(如图6.1-1);
(2)站点根目录文件夹设定权限D:Websiteswww.dedewww”,我们在文件夹右键属性,在安全选项卡的高级中设定文件夹权限(如图6.1-2);
(3)我们需要取消uploadsdata以及生成静态html文件目录的执行权限,可以在mysql下载之后是个文件夹IIS站点功能试图的处理程序映射编辑功能权限...,取消脚本执行权限(如图6.1-3)。
 
6.2.管理后台分离
接下来我们需要对后台进行分离,这样能够确保系统的安全性。
(1)创建管理后台站点,将系统更目录下的dede管理后台文件夹移动到D:Websiteswww.dedeadmin”中,创建一个名为admin.dede”的站点(如图6.2-1);
hosts中添加纪录:127.0.0.1    admin.dede
(2)按照5.1的方法,创建后台管理文件夹控制帐号IIS_DEDECMSADMIN”;
(3)按照6.1(1)中的办法,绑定admin.dede站点目录IIS_DEDECMSADMIN”权限;
(4)按照6.1(2)中的办法,给D:Websiteswww.dedewww”以及D:Websiteswww.dedeadmin”都添加IIS_DEDECMSADMIN”的管理权限,其中www目录给予可写入权限(如图6.2-2);
(5)调整文件
D:Websiteswww.dedeadminconfig.php,将第12
require_once(DEDEADMIN.'/../include/common.inc.php');
改为
require_once(DEDEADMIN.'/../www/include/common.inc.php');
然后在这段代码下面加上:
$cfg_plus_dir = $cfg_phpurl = $cfg_basehost."/".$cfg_plus_dir;
 
D:Websiteswww.dedeadminlogin.php,将11
require_once(dirname(__FILE__).'/../include/common.inc.php');
改为
require_once(dirname(__FILE__).'/../www/include/common.inc.php');

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。