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
|
|
|
|