虐心的两天时间里面,总算基本完成了服务器从win2003搬迁到win2008的伟业~记录一下路上遇到的点点滴滴~以作留念。
首先是win2008下面的环境配置,基本看着phpwind自带的教程里面可以装好,但是也会出现很多问题。
一、MYSQL
需要注意的是必须下载64位
安装过程就是传统的那样子,但是过程中出了一个mysql1045错误(估计是重复安装造成的)
该错误只在windows系统上出现,据说这个错误已经存在n年了,有人 extremely dispointed that it still exists here in 2009!
错误的原因更令人抓狂,那就是mysql server instance config wizard根本没有为你设密码,于是root密码是空!实在不明白如果没有为我设密码那中间为什么叫我设个密码。。。。。。。
有效的解决方法如下:
I clicked Skip on the dialog that states the Error 1045...
Then cancelled the "MySQL Server Instance Config Wizard"
Now...
Open a command prompt (cd 到Mysql的bin目录下)
type "mysql -u root -p" then
hit enter again when it requests a password.
You should now have access to the mysql monitor...
type the following at the prompts...
mysql>use mysql
mysql>select user, host, password from user;
# Now you should see that u have 3 entries
+-----------------------------+
| user | host | password |
+-----------------------------+
| root | localhost | |
| root | 127.0.0.1 | |
| | localhost | |
+-----------------------------+
mysql> delete from user where host="localhost" and user="";
mysql> update user set password=password("xxxx") where user="root";
mysql> flush tables;
mysql> flush privileges;
mysql> quit
Now the mysql table should be updated and everything fixed.
Try it out...
然后就可以用config wizard跑一遍了。。。
另外由于后面安装phpwind要用到数据库名,所以我在这里新建了一个数据库
mysql -u root -p进入数据库
create database phpwind;新建数据库
二、php5.2.17
由于更高版本的php不支持zend加速,所以只能下到5.2.17的来
而5.2.17版本又是32位的所以这里涉及到开启IIS支持32位功能
解压后放到想要的目录,本人统一在F:\secweb\local\php中,找到文件php.ini-recommended,复制一份后,改名为php.ini。这里我开始走了一个弯路,看了另外一个教程是把php.ini_dist重命名为php.ini的,命令行调试没出问题但是后面phpwind的安装出现了空白页面的问题。所以这里必须选用php.ini-recommended。
修改php.ini文件
1. 找到;extension=php_mysql.dll,将前面的;去掉,即为:extension=php_mysql.dll
2. 找到;extension=php_mcrypt.dll,将前面的;去掉,即为:extension=php_mcrypt.dll
3. 找到extension_dir = "./",将后面的改成php 安装目录下 ext 子目录的绝对路径。本例修改后为:extension_dir = "C:/php/ext"
4. 保存退出。把修改后的php.ini复制一份放到Windows目录。把同目录下的libmysql.dll、libmcrypt.dll复制一份放到Windows\system32下。
环境变量设置F:\secweb\local\php;F:\secweb\local\php\ect
设置IIS支持PHP
配置IIS分两步走分别是:让IIS7以ISAPI方式配置PHP5.2.14和让IIS7以FastCgi方式配置PHP5.2.14。第一步让IIS7以ISAPI方式配置PHP:
在IIS管理器中新建一个站点和平时建立asp站点操作过程一样,如我的站点名字为phptest建立完成后关键在下边的设置,将IIS根据站点自动生成应用程序池phptest点击右键选择->基本设置,将.NET Framework版本下的值修改为"无托管代码",再将托管管道模式(M)修改为:"经典"->确定。
点击一下站点phptest,在右边的窗口中双击打开"ISAPI筛选器",再右击"添加","筛选器名称"输入php(这个名称可以自定义),下边的"可执行文件"选择一下右边的浏览按键,将窗口定位到D:\php5中,选择php5isapi.dll,然后确定如果再出现什么提示就选择YES就行。
同样在站点的右边窗口中选择打开"处理程序映射,右键盘单击选择"添加脚本映射","请求路径"输入*.php,"可执行文件"参考上边添加ISAPI筛选器的操作同样选择文件php5isapi.dll,名称我的定义为php-isapi,可以随便起名,点击确定,出现提示后点击YES。到此IIS7就可以以ISAPI方式运行php程序了。""接下来测试一下配置的效果,在phptest站点的默认文档中添加index.php,这个index.php文件的内容如下:
<?php phpinfo();?>保存好后,如果你的站点地址是本机端口是默认的80,在IE输入http://127.0.0.1/就可以看到php服务器的介绍信息了参考截图。如果能顺利看到这个信息就说明你的php可以正常的以ISAPI方式运行了。
接着修改IIS,点击打开IIS站点phptest右边窗口的处理程序映射,右键盘单击选择"添加模块映射",这步看清楚了:不是脚本映射而是模块映射,"请求路径"输入*.php,模块选择"FastCGIModule"可执行文件"参考上边添加ISAPI筛选器的操作,不过这里要将文件的*.dll类型修改为*.exe类型,将文件浏览窗口定位到d:\php5中选择文件php-cgi.exe,点击确定,名称随便起我的叫php-fastcgi,点击确定在出现的提示中选YES。
而且如果你细心的话会发现在两次运行index.php进行php信息测试时,index.php中的Server API项在没有进行FastCGI配置前是 ISAPI, 进行FastCGI配置后是CGI/FastCGI。
这里和重要的一点,验证是否成功修改php.ini就是打开命令行,cd到php目录下,运行 php -v,如果php配置有问题会进行报错,如果出现.dll文件不能加载就进行相应的修改。
三、 ZendOptimizer-3.3.3-Windows-i386
解压到php相同路径
并且在浏览器中运行index.php测试页面时,会出现Zend Optimizer一个专栏信息内容。
命令行下出现一下信息
f:\secweb\local\php>php -v
PHP 5.2.17 (cli) (built: Jan 6 2011 17:28:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
php.ini文件尾部会加入以下信息
[Zend]
zend_extension_manager.optimizer_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"
zend_extension_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"
在我的test.php页面里面没有找到zend iptimizer的配置信息,但是又有zend engine的信息,不知道是不是因为我装的是官网下的压缩包直接解压的,网上很多教程里面都是安装版本的。所以关于zend的问题暂且这样好了。
四、phpMyAdmin-3.5.1-all-languages
这个安装还是比较容易的
解压phpMyAdmin-3.1.3到根目录下。本例解压到C:\Inetpub\wwwroot\phpMyAdmin。完成后,按照以下方式配置/libraries/config.default.php文件。
1. 找到 $cfg['PmaAbsoluteUri'] = ''; 将后面的地址替换成phpMyAdmin的实际安装路径。本例的phpMyAdmin为本地安装,因此填写为 $cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
2. 找到 $cfg['blowfish_secret'] = ''; 改成$cfg['blowfish_secret'] = 'www.phpwind.net';这里的内容可以随便定义,一般不超过24个字符
3. 找到 $cfg['Servers'][$i]['password'] = ''; 填写数据库安装时输入的密码
4. 完成后,IE输入http://localhost/phpMyAdmin,即可使用。
五、phpwind8.3安装
安装过程官方有教程的就不多说了,提一下这里出现填写完数据库,创始人密码等信息后的页面是空白页也不动,一点反应也没有。折腾了很久,最后验证时php配置的问题,重新安装了一遍就可以正常安装phpwind了。当然。。。这只是过程,后面要数据迁移的时候可以不用重新安装的,只要把attach、data两个文件夹做覆盖再文件导入就可以了。重新安装也不碍事的。
六、旧论坛数据迁移到第五步为止只是在新的服务器上建了一个新的论坛就的数据都没有迁移过来。
我的作法是
1、把就的论坛的所有phpwind75下所有文件拷贝到新服务器上
2、删除data下的install.lock
3、从phpwind8.3安装包解压拷贝install.php到新服务器phpwind75路径下
在浏览器中http://localhost/phpwind75/install.php
进行安装步骤
安装过程中需要把指定的文件设置才everyone权限,在右键属性里面-添加-高级-查找
安装结束后有的时候会自动删除install.php,没有自动删除的时候会提出重复安装,手动删除一下就好了。
进入后台恢复之前保存的数据,刷新缓存。
打开前台之后点击子版块一直报错
PHP Warning: require(F:\secweb\web\phpwind83\upload/hack/emailnews/data/config.php) [function.require]: failed to open stream: No such file or directory in F:\secweb\web\phpwind83\upload\require\plan\emailnews.php on line 4 PHP Fatal error: require() [function.require]: Failed opening required 'F:\secweb\web\phpwind83\upload/hack/emailnews/data/config.php' (include_path='.;C:\php5\pear') in F:\secweb\web\phpwind83\upload\require\plan\emailnews.php on line 4
远程报错是http500的错误
看了很多帖子,差点误入歧途的去设置三个一致密码什么的了,最后还是在后台设置里面改好了
在全局-站点设置下拉找到debug模式运行站点 选择关闭
访问就恢复正常了。
至此用ip地址访问一切正常。接下来还有绑定域名的工作。等绑定完了再接着写吧。
七、IIS7.5绑定域名
ip和域名的绑定的工作是网络中心给做了一个端口的映射。所以ip是内网可以直接访问的,域名可以进行全局访问。
期间出了一个小小的问题,就是在iis7.5web服务器管理器上的默认文档里面在php配置的时候建立了一个index.php,优先级别是最高的,所以域名和ip就直接绑定到论坛的首页而不是实验室主页了。chrome中打开的时候他可以默认到index.html,ie打开是默认到index.php的。只要进行删除默认文档中的index.php就可以解决该问题。
开始我还是找了一段配置文件里面的代码
在<configuration></configuration>中添加下面的配置
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.aspx" />
<add value="index.html" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="iisstart.htm" />
<add value="default.aspx" />
</files>
</defaultDocument>
</system.webServer>
后记
前后四天一直全心思的配置网站服务器,中间有一天在外面,但是其实心里还是担心着网站服务器的问题的。每天中午午觉都没有睡,一心想着解决当前遇到的问题。睡前想的也都是服务器配置问题,一次次因为无知而产生的胆战心惊,一次次因为无知而产生的手足无措,一次次因为无知而产生的死马当活马医。觉得自己要学的东西实在是太多了。
今天中午睡醒之后收到老板邮件说帮我解决了默认首页的问题。我猜想一定是老板发了邮件之后看我一直没有改好默认首页的问题就亲自帮我修改了。让我好生惭愧了。不过也说明了不管怎么样作息还是要保证的,只有好的身体才是革命的本钱。至于问题,不论是什么样的问题都是会/可以一步步解决掉的。
不完全的静下心来全心投入的学习都是伪学习。这次的搬迁收获良多,希望自己可以走的更远,不断摸索不断前行。