发新话题
打印

Windows2003+PHP WEB服务器安装笔记

本主题由 admin 于 2007-11-4 12:02 移动

Windows2003+PHP WEB服务器安装笔记

目标:
建立一个标准的支持PHP的虚拟服务器环境
文档所述内容均是以新安装的系统应用的默认设置为基础的,所有记录的步骤都是尽可能简化的,有关配置详细说明请参考官方文档。

规划:
软件选择为windows2003标准版+IIS6.0+PHP4.4.1+MySql4.026+ZEND2.62+eAccelerator0.93
PHP和MYSQL下载解压版(即noInstall)
MySql Administrator 1.0.21 ,用于管理mysql服务,修改配置文件,分析性能。注意高版本的Mysql Administrator 可能不能配合MySql 4.026很好的工作。
FTP服务使用了serv-U 6.0
SMTP服务 使用了IIS内置的组件
系统有四个分区分别为:C:系统 D:数据库及基本服务软件 E:WEB目录 F:临时及LOG

步骤一:安装系统及IIS
没什么好说的,标准安装
按规划分区
通过角色管理安装应用程序服务器角色,删除所有默认安装上的网站,包括远程管理。
建立基本目录结构


D:
app 基本服务软件安装目录
db 数据库存储目录
E:
wwwroot WEB主目录
F:
temp
windows 系统临时目录
php PHP临时目录(主要是session使用)
eaccelerator eAccelerator所使用的临时目录
upload PHP的上传目录
log
iss IIS6 的日志目录
php PHP的LOG
mysql Mysql的LOG

步骤二 安装SMTP
很简单,通过添加删除程序-windows组件即可直接安装SMTP服务(在上一步安装应用程序服务器时有可以已经安装了),安装后注意修改默认SMTP虚拟服务器的属性-访问-中继,并允许本地(127.0.0.1)的中继,否则是不能通过此SMTP服务向外部发信的。

步骤三:安装MySql
解压到D:appmysql
建立配置文件my.ini。复制文件D:appmysqlmy-medium.cnf 为 my.ini (可以根据需要选择其它默认配置文件,mediun基本可以满足大部分工作环境)。你可以按照常规把配置文件放在windows目录,但是我们不建议这样做。你应该把这个文件放在d:appmysqlmy.ini,或者其它的集中位置,以便于以后的升级和管理。
复制目录D:appmysqldata下的所有文件 到 d:db
安装服务,按照mysql的说明文档是应该使用命令行方式安装服务,这里强烈推荐使用 MysqlAdministrator 来安装和配置服务,运行其中的MySQLSystemTrayMonitor.exe即可按照提示安装和配置服务。注意,安装服务时需要指定配置文件(即上面的my.ini)的准确位置。

*MysqlAdministrator 是一个图形界面的MySql管理工具,使用它可以非常方便的管理和配置服务,监视运行情况,分析性能和LOG,你甚至可以轻松的使用它来在一台机器上安装多个不同版本的Mysql及多个运行实例


使用MySQLSystemTrayMonitor.exe修改服务配置或者直接编辑配置文件my.ini,修改或添加以下两个值


basedir=D:/app/mysql
datadir=D:/db

优化Mysql (可以使用MysqlAdministrator 来修改配置,或者直接编辑my.ini。非必需)
建议优化以下几个配置项:
key buffer
binary logfile name
error logfile name
slow queries log
max connections = 500
至此,mysql的安装已经完成了,但是最后一定不要忘记,设定root账号的密码,为了更进一步的安全你也可以更命名root.



步骤三:安装PHP
解压安装包下的文件到D:appphp
建立配置文件:复制D:appphpphp.in-recommend 到 d:appphpphp.ini,设定windows系统环境变量PHPRC,以指定php.ini所在目录(本示例中为d:appphp)。
复制D:appphpsapiphp4isapi.dll 到 D:appphp
编辑php.ini,进行基本配置 (非必需)


修改(或取消注释)以下配置行

;错误控制部分
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On
error_log = f:logphperror.log

;extensions目录
extension_dir = “D:appphpextensions”

;seesion
session.save_path = F:tempphp

;上传处理
max_input_time = 300
post_max_size = 30M
file_uploads = On
upload_tmp_dir = “F:tempupload”

;安全
disable_functions = popen,passthru,system,exec,shell_exec

注意:以上为一个正常的PHP系统运行所需要要的基本配置,你可以通过搜索每个值的名称(即=号前的部分)来快速定位配置行
当然你可以根据需要进行其它的更改,实际上不修改以上配置PHP也是可以工作的,只是会造成一些问题。

编辑php.ini ,启用一些扩展,搜索extension,启用一些extension的加载 (非必需)


我启用的是下面三行,这些extension在配置文件中已经有加载行了,只不过被用;号注释掉了,搜索到相应行,删除;号即可
extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_zip.dll

配置IIS以使其连接PHP,在IIS管理器中执行以下操作


在网站属性面板的主目录标签页中,添加一个应用程序扩展名映射,把扩展名php映射到D:appphpphp4isapi.dll
在WEB服务扩展中添加一个新WEB服务扩展,名称为PHP,文件为D:appphpphp4isapi.dll,并允许。

PHP安装完成



步骤五 安装Zend (非必需)
这个没什么好说的直接运行,按提示安装就可以了
步骤六 安装eAccelerator (非必需)
这是一个php加速扩展,据说比较有效,同时也支持代码编译(不是真正的编译)
官方网站上下载的的安装包是必需在本地编译的,用起来很麻烦,推荐使用 http://www.arnot.info/eaccelerator/ 所提供的已经编译好的dll文件,根据系统版本下载相应的dll即可,我下载的是 eaccelerator_win_4.4.1.dll (116 kb.)
把下载的文件保存到D:appphpextensions目录下,并重命名为eaccelerator.dll
编辑php配置文件(即上文中的c:windowsphp.ini)


在文件的最后部分,添加红色部分内容
[Zend]
zend_extension_ts=”D:appphpextensionseaccelerator_win_4.4.1.dll”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”F:tempeaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″+
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
zend_extension_manager.optimizer_ts=”D:appzendlibOptimizer-2.6.2″
zend_extension_ts=”D:appzendlibZendExtensionManager.dll”

步骤七 安装serv-u
很简单,按提示安装即可,不做详述

步骤八 安装phpmyadmin
这个也很简单,下载,解压到一个虚拟网站的目录下即可工作,不过为了更好的使用,需要进行简单配置

最后工作
通过以上步骤已经建立起了一个可以高效工作的WEB服务器,最后我们需要做一些工作来保护系统的安全和进一步提高系统效能,这些工作都不是必需的,但强烈建议你至少仔细看一遍。


windows账号管理:重命名administrator账号为一个新名称,比如user1;新建一个干扰账号,名称为administrator,放入guest组,并禁用。
修改系统目录权限


修改D: E: F:三个分区的权限,仅保留administrators和system的原有权限项,删除其它账号的权限;
对目录d:appphp,增加用户组IIS_WPG的读取和运行权限,增加IUSR的读取和运行权限
对目录e:wwwroot,增加用户IUSR的修改权限
对目录f:log 和 f:temp 增加用户everyone 的修改权限 (以上这些权限都是应用所有子目录及文件的)
我的电脑右键属性-高级-性能-高级,把处理器和内存都优化为后台服务和系统缓存(此项优化效果未经充份验证)
努力为phpres做贡献
时刻准备着,当机会来临时你就成功了
打好基础,增加社会经验
资深技术工程师是我的梦想
承接各种团体网站外包服务和各种it技术培训
准备申请AJAX版大,希望大家支持~~

TOP

发新话题