服务器安全论坛而且:讨论关于FTP服务器、邮件服务器、WEB服务器、文件服务器、DNS服务器等各类服务器的应用配置与安全管理!
  论坛首页 → {服务器安装配置}-----各类服务器应用、配置及管理技术交流... → Win系列服务器 → Win 2003 下 IIS+PHP+MySQL+Mssql+Zend Optimizer+GD库+phpMyAdmin配
发表新的主题 发起新的投票 发起新的交易 发起新的任务 回复话题
标题:Win 2003 下 IIS+PHP+MySQL+Mssql+Zend Optimizer+GD库+phpMyAdmin配
作者:紫色火焰我要搜索 收藏 编辑 删除 楼 主
Win 2003 下 IIS+PHP+MySQL+Mssql+Zend Optimizer+GD库+phpMyAdmin配置
这个配置手记是我给一个朋友配置服务器的全部经过

文章来源:Cv_lion's Blog [http://nbcat.net]
文章作者:Cv_lion[笨猫]

首先介绍安装配置所需要的软件:以下软件都是最新版本(2006-12-14)
PHP(5.2.0):http://www.php.net

MySQL(5.0.27):http://www.mysql.com
Zend Optimizer(3.0.1):http://www.zend.com
phpMyAdmin(2.9.0.2):http://www.phpmyadmin.net
以上所有软件到官方站点站下载,或则到http://down.chinaz.com/server.htm下载

首先安装IIS:

这个安装很多朋友都已经很熟悉了,我就说两点注意:
第一次安装完后,首先点开WEB服务器扩展,选者你服务器要使用的扩展,ASP允许,如果要支持ASP .NET,也同样允许.
这样做允许后,服务器还不能解析ASP脚本,要使他解析ASP,请务必把网站->主目录->配置->选项->选上启用父路径,否则无法解析ASP脚本.
这个很简单,更多的主要还是性能优化和安全配置和维护!

安装PHP

(1)我下载的是php-5.2.0-Win32.zip解压版本,我把她解压在C:\php目录下面,(这个目录可以随意更改,只要保证后面的路径相同即可).

(2)解压后,再把C:\php\libmysql.dll和C:\php\ext\php_mysql.dll复制到C:\Windows\system32 下.

(3)再把C:\php\下的php.ini-dist复制到C:\windows目录下,并且从新命名为php.ini.

(4)配置PHP.INI,用记事本打开,找到
extension_dir="."(默认是没有目录位置)
把他的目录路径指定为c:\php\ext目录,修改后就是: extension_dir=" c:\php\ext",
搜索;Windows Extensions并仅打开需要的模块以节省内存(去掉每个模块前的;号即可):
根据自己所需的模块而打开模块;
一般需要这几个模块:去除前面的分号就已经支持你所需要的模块

extension=php_gd2.dll
GD库支持,如果不打开该模块则Discuz!论坛图片水印不能使用。

extension=php_mbstring.dll
为了支持phpMyAdmin,打开mbstring。

extension=php_mysql.dll
不用说了吧,支持MySQL。

extension=php_mssql.dll
不用说了吧,支持MSSQL.

配置IIS支持PHP

PHP 与IIS整合时支持 CGI 和 ISAPI 两种模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:ISAPI 模式安装步骤:

在"控制面板"的"管理工具"中选择"Internet 服务管理器",打开 IIS 后停止服务,然后在左侧"你需要支持PHP的Web站点上单击右键选择"属性",在打开的" Web 站点属性"窗口的"ISAPI 筛选器"标签里找到并点击"添加"按钮,在弹出的"筛选器属性"窗口中的"筛选器名称"栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll 。

打开"Web 站点属性"窗口的"主目录"标签,找到并点击"配置"按钮,在弹出的"应用程序配置"窗口中找到并点击"添加"按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击"浏览"将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll,然后一路确定即可。

再打开"Web 站点属性"窗口的"文档"标签,找到并点击"添加"按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。

确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令:

net stop w3svc
net stop iisadmin
net start w3svc

然后在"Internet 服务管理器"左边的"WEB服务扩展"中设置ISAPI 扩展允许,Active Server Pages 允许

打开浏览器,输入:http://localhost/,看到成功页面后,在 IIS 根目录下新建一个 phpinfo.php ,内容如下:


<?php
phpinfo();
?>
打开浏览器,输入:http://localhost/phpinfo.php,将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API的模式为:ISAPI 。

现在IIS已经支持PHP脚本了!

安装 Zend Optimizer :

下载后得到 ZendOptimizer-2.6.2-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。

安装MYSQL(mysql-5.0.27-win32.zip)

我下载的是安装版本,注意下载的版本,(必须为windows版本)安装这个很简单,直接运行STEUP.EXE,按提示就可以了~我这里不详细讲了,注意的是最好使用自定义安装,根据自己的环境来配置,我找了一篇图文教程给大家看:哪儿有详细说明,我人懒,懒的再那么写:
http://blog.wksky.com/article.asp?id=21这个版本和我的下的哪个版本不一样,但是设置一样~注意ROOT用户密码的设置!

安装 phpMyAdmin:

下载得到 phpMyAdmin-2.9.0.2.zip ,将其解压到站点根目录,找到./libraties/config.default.php并复制到phpMyAdmin根目录命名为config.inc.php ,做以下修改:

搜索$cfg['PmaAbsoluteUri'],设置你的phpmyadmin的URL,如:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下
搜索$cfg['blowfish_secret'],设定好root密码后这里也要填写比如ROOT密码5sst.net则设置为$cfg['blowfish_secret'] = '5sst.net';
搜索$cfg['DefaultLang'] ,将其设置为 zh-gb2312 ;
搜索$cfg['DefaultCharset'] ,将其设置为 gb2312 ;
搜索$cfg['Servers'][$i]['auth_type'],默认为config,是不安全的,不推荐,推荐使用cookie,将其设置为$cfg['Servers'][$i]['auth_type'] = 'cookie'; 
注意这里如果设置为config请在下面设置用户名和密码!例如:
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user-----MySQL连接用户
$cfg['Servers'][$i]['password'] = '5sst.net';
打开浏览器,输入:http://localhost/phpMyAdmin/ ;,若 IIS 和 MySQL 均已启动,输入用户ROOT密码5sst.net即可浏览数据库内容。

安装MSSQL
这个安装就更简单了,配置用户权限一定要授权为DBO或者PUBLIC,SA用户不要使用,密码修改为强健的密码!

配置过程中遇到一个问题:MYSQL用户ROOT可以登陆,但是在phpmyadmin登陆的时候显示:
错误MySQL 返回: 
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 

换了几个版本的PHPMYADMIN,重装MYSQL也没办法解决 

在网上找了半天才发现问题所在,原来MYSQL官方网站就有解释:

引用
官方的解释: 
程序代码
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attempts to connect to it with an older client may fail with the following message: 

shell>; mysql 
Client does not support authentication protocol requested 
by server; consider upgrading MySQL client 


To solve this problem, you should use one of the following approaches: 

Upgrade all client programs to use a 4.1.1 or newer client library. 

When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password. 

Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function: 

mysql>; SET PASSWORD FOR 
->; 'some_user'@'some_host' = OLD_PASSWORD('newpwd'); 


alternatively, use update and FLUSH PRIVILEGES: 

mysql>; update mysql.user SET Password = OLD_PASSWORD('newpwd') 
->; where Host = 'some_host' AND User = 'some_user'; 
mysql>; FLUSH PRIVILEGES; 


Substitute the password you want to use for ``newpwd'' in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one. 

Tell the server to use the older password hashing algorithm: 

Start mysqld with the --old-passwords option. 

Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query: 

mysql>; select Host, User, Password FROM mysql.user 
->; where LENGTH(Password) >; 16; 


For each account record displayed by the query, use the Host and User values and assign a password using the OLD_PASSWORD() function and either SET PASSWORD or update, as described earlier. 

For additional background on password hashing and authentication, see Section 5.5.9, "Password Hashing in MySQL 4.1". 

Previous / Next / Up / Table of Contents




出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了

原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。

目前已知解决方法:
1,root用空密码,就是默认不用密码;呵呵,反正自己机器上用!

2,先用root登录MYSQL服务器,然后执行

mysql>set password for root@"localhost"=old_password('你的密码');

这里root为管理员用户名,如果你修改成了其他的,这里就输入你修改后的名字,你的密码输入你开始设置的管理员密码,不要弄错了哦,上面的字符一个都不能少,从set这里开始输入到最后的;符号也要输入

执行完这个命令以后,重起MYSQL服务,应该就可以了

怎么登陆MYSQL大家应该都知道把,就是在xp运行下执行cmd命令,出现DOS窗口

然后输入mysql -uroot -p你的密码,如果是默认为空密码就空在这里。输入以后就可以进入MYSQL

并出现mysql>这样的提示符号

这里再记录几个常用命令


DOS下
停止MYSQL服务:net stop mysql 
启动MYSQL服务:net start mysql
登陆mysql:语法如下: mysql -u用户名 -p用户密码
修改管理员密码: 进入MYSQL后,语法如下:
mysql>SET PASSWORD FOR root=PASSWORD('new_password');

后记:虽然环境配置出来了,但是在使用过程中,多体会,多问,就可以了~相信你也可以,比我做的更好,更优秀,以上是我个人的配置步骤,个人水平有限,如果有错误的地方,请到http://5sst.net ;留言!上面的配置基本没有考虑优化措施,请大家多交流~到我的个人博客交流!

中文名:服务器安全讨论区 简称:服安论坛
英文名:Server Security Discuss Area  简称:S.S.D.A
====================
 游刃在技术鬼神边缘
 打造服务器安全神话
 创世纪网络技术前瞻
 成就互联网革命先驱
====================
http://www.31896.net 

双击复制本贴网址,发送给您的朋友:
发帖时间:2007-2-24 0:42:12
 快速回复
  • 支持UBB,HTML标签

  • 高级回复
  • 内容

    操作选项: 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖


    讨论区首页 - 合作伙伴 - 隐私政策 - 版权申明 - 网站地图 - 安全服务 - 服安资讯 - 服安公告 - 人才招聘 - 常见问题 - 联系我们 - 返回顶部
    服务器安全资讯.依法进行网站备案,共同打造绿色网络环境!.服务器安全讨论区.© 2007 版权所有.依法进行网站备案,共同打造绿色网络环境!.严禁任何个人或组织非法复制与建立镜像.如果发生重大网络安全事件,请求网警帮忙!.网站办公地址:中国.深圳/惠州.如果发生重大网络安全事件,请求网警帮忙!. 不良信息举报

    Copyright © 2004-2007 S.S.D.A .All Rights Reserved. Official: ShenZhen HuiZhou China. Record No.:GD ICP No.05140264 Webmaster QQ

    服务器安全讨论区技术Q群1:4107377 群2:13353002 群3:28738150 群4:3696875 群5:35871751 群6:6410198 群7:18989740 群8:xxxxxxx群9:32790714.仅限技术交流,乱发者T!

    Optimized for 1024x768 to Firefox , Opera and MS-IE6 or higher. Technology Support.[ S.S.T ].Site powered by BBSGOOD Optimized By: BerlinLee

    友情提醒:您现在正在访问的是服务器安全讨论区旧版只读论坛,点击这里访问新论坛