Windows2003+PHP WEB服务器安装笔记

目标:

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

规划:

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

[more]

步骤一:安装系统及IIS

  1. 没什么好说的,标准安装
  2. 按规划分区
  3. 通过角色管理安装应用程序服务器角色,删除所有默认安装上的网站,包括远程管理。
  4. 建立基本目录结构

    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

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

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

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

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

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

步骤三:安装PHP

  1. 解压安装包下的文件到D:appphp
  2. 建立配置文件:复制D:appphpphp.in-recommend 到 d:appphpphp.ini,设定windows系统环境变量PHPRC,以指定php.ini所在目录(本示例中为d:appphp)。
  3. 复制D:appphpsapiphp4isapi.dll 到 D:appphp
  4. 编辑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也是可以工作的,只是会造成一些问题。

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

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

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

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

  7. PHP安装完成

步骤五 安装Zend (非必需)

  1. 这个没什么好说的直接运行,按提示安装就可以了

步骤六 安装eAccelerator (非必需)

  1. 这是一个php加速扩展,据说比较有效,同时也支持代码编译(不是真正的编译)
  2. 官方网站上下载的的安装包是必需在本地编译的,用起来很麻烦,推荐使用 http://www.arnot.info/eaccelerator/ 所提供的已经编译好的dll文件,根据系统版本下载相应的dll即可,我下载的是 eaccelerator_win_4.4.1.dll (116 kb.)
  3. 把下载的文件保存到D:appphpextensions目录下,并重命名为eaccelerator.dll
  4. 编辑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服务器,最后我们需要做一些工作来保护系统的安全和进一步提高系统效能,这些工作都不是必需的,但强烈建议你至少仔细看一遍。

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

    • 修改D: E: F:三个分区的权限,仅保留administrators和system的原有权限项,删除其它账号的权限;
    • 对目录d:appphp,增加用户组IIS_WPG的读取和运行权限,增加IUSR的读取和运行权限
    • 对目录e:wwwroot,增加用户IUSR的修改权限
    • 对目录f:log 和 f:temp 增加用户everyone 的修改权限 (以上这些权限都是应用所有子目录及文件的)
  3. 我的电脑右键属性-高级-性能-高级,把处理器和内存都优化为后台服务和系统缓存(此项优化效果未经充份验证)

结束

有关本文档的讨论请发至 kometo@gmail.com.

这篇文章有一个评论

发表评论