<?xml version="1.0" encoding="utf-8" standalone="yes" ?><rss version='2.0' xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"  xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>编程联盟技术频道服务器问题资料</title><link>http://www.bcbbs.net</link> <description>编程联盟技术频道服务器问题资料</description> <copyright>Copyright  by  编程联盟 2007-2010</copyright> <item><title>asp.net中静态页面如何传参</title><link>http://www.bcbbs.net/News/Content.aspx?ID=71851</link><subject>//从转向过来的URL中截取参数 开始function SplitUrl(key){ var fstr=key; var getstr='';var url=document.URL.toString(); url=url.toLowerCase();//转为小写 var loc=url.indexOf(fstr); if(loc&gt;0) {  getstr=url.substring(loc+fstr.length,url.length);  return getstr; } else {   return &quot;&quot;; }}//从转向过来的URL中截取参数 结束</subject><description><![CDATA[//从转向过来的URL中截取参数 开始function SplitUrl(key){ var fstr=key; var getstr='';var url=document.URL.toString(); url=url.toLowerCase();//转为小写 var loc=url.indexOf(fstr); if(loc&gt;0) {  getstr=url.substring(loc+fstr.length,url.length);  return getstr; } else {   return &quot;&quot;; }}//从转向过来的URL中截取参数 结束]]></description><PubDate>2010-9-1 0:00:00</PubDate><category>服务器问题</category></item><item><title>设置FSO权限功能的说明</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15817</link><subject>星外科技再次开发国内首创的功能，新版本已支持用户自己打开或关闭FSO及ADO流，因此，就算再烂的程序，如果关了FSO，木马都无法上传，就算原来的程序有木马，也没有办法用FSO破坏服务器。1.虚拟主机A关闭FSO，并不会影响另一个虚拟主机B正常使用FSO。2.FSO可以随时打开或关闭。3.关闭FSO并不会影响正常的数据库操作，如论坛程序的正常运行，也不影响正常的FTP使用。</subject><description><![CDATA[星外科技再次开发国内首创的功能，新版本已支持用户自己打开或关闭FSO及ADO流，因此，就算再烂的程序，如果关了FSO，木马都无法上传，就算原来的程序有木马，也没有办法用FSO破坏服务器。1.虚拟主机A关闭FSO，并不会影响另一个虚拟主机B正常使用FSO。2.FSO可以随时打开或关闭。3.关闭FSO并不会影响正常的数据库操作，如论坛程序的正常运行，也不影响正常的FTP使用。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>window系统的Rsync同步实战分析第1/2页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15673</link><subject>其于window系统的同步实战 1. 远程数据同步工具Rsync介绍 1.1 软件简介 Rsync是一个远程数据同步工具，可通过LAN/WAN快速同步多台主机间的文件。Rsync本来是用以取代rcp的一个工具，它当前由 rsync.samba.org维护。Rsync使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步，这个算法只传送两个文件的不同部分，而不是每次都整份传送，因此速度相当快。运行Rsync server的机器也叫backup server，一个Rsync server可同时备份多个client的数据；也可以多个Rsync server备份一个client的数据。 　　Rsync可以搭配rsh或ssh甚至使用daemon模式。Rsync server会打开一个873的服务通道(port)，等待对方Rsync连接。连接时，Rsync server会检查口令是否相符，若通过口令查核，则可以开始进行文件传输。第一次连通完成时，会把整份文件传输一次，下一次就只传送二个文件之间不同的部份。 　　Rsync支持大多数的类Unix系统，无论是Linux、Solaris还是BSD上都经过了良好的测试。此外，它在windows平台下也有相应的版本，比较知名的有cwRsync和Sync2NAS。 　　Rsync的基本特点如下： 　　1.可以镜像保存整个目录树和文件系统； 　　2.可以很容易做到保持原来文件的权限、时间、软硬链接等； 　　3.无须特殊权限即可安装； 　　4.优化的流程，文件传输效率高； 　　5.可以使用rcp、ssh等方式来传输文件，当然也可以通过直接的socket连接； 6.支持匿名传输。 1.2 核心算法 　　假定在名为α和β的两台计算机之间同步相似的文件A与B，其中α对文件A拥有访问权，β对文件B拥有访问权。并且假定主机α与β之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成： 　　1.β将文件B分割成一组不重叠的固定大小为S字节的数据块。最后一块可能会比S 小。 　　2.β对每一个分割好的数据块执行两种校验：一种是32位的滚动弱校验，另一种是128位的MD4强校验。 　　3.β将这些校验结果发给α。 　　4.α通过搜索文件A的所有大小为S的数据块(偏移量可以任选，不一定非要是S的倍数)，来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。 　　5.α发给β一串指令来生成文件A在β上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明，要么是一个数据块，这个数据块肯定是没有与文件B的任何一个数据块匹配上的。 1.3 命令语法 　rsync的命令格式可以为以下六种： 　　rsync [OPTION]... SRC DEST 　　rsync [OPTION]... SRC [USER@]HOST:DEST 　　rsync [OPTION]... [USER@]HOST:SRC DEST 　　rsync [OPTION]... [USER@]HOST::SRC DEST 　　rsync [OPTION]... SRC [USER@]HOST::DEST 　　rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]</subject><description><![CDATA[其于window系统的同步实战 1. 远程数据同步工具Rsync介绍 1.1 软件简介 Rsync是一个远程数据同步工具，可通过LAN/WAN快速同步多台主机间的文件。Rsync本来是用以取代rcp的一个工具，它当前由 rsync.samba.org维护。Rsync使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步，这个算法只传送两个文件的不同部分，而不是每次都整份传送，因此速度相当快。运行Rsync server的机器也叫backup server，一个Rsync server可同时备份多个client的数据；也可以多个Rsync server备份一个client的数据。 　　Rsync可以搭配rsh或ssh甚至使用daemon模式。Rsync server会打开一个873的服务通道(port)，等待对方Rsync连接。连接时，Rsync server会检查口令是否相符，若通过口令查核，则可以开始进行文件传输。第一次连通完成时，会把整份文件传输一次，下一次就只传送二个文件之间不同的部份。 　　Rsync支持大多数的类Unix系统，无论是Linux、Solaris还是BSD上都经过了良好的测试。此外，它在windows平台下也有相应的版本，比较知名的有cwRsync和Sync2NAS。 　　Rsync的基本特点如下： 　　1.可以镜像保存整个目录树和文件系统； 　　2.可以很容易做到保持原来文件的权限、时间、软硬链接等； 　　3.无须特殊权限即可安装； 　　4.优化的流程，文件传输效率高； 　　5.可以使用rcp、ssh等方式来传输文件，当然也可以通过直接的socket连接； 6.支持匿名传输。 1.2 核心算法 　　假定在名为α和β的两台计算机之间同步相似的文件A与B，其中α对文件A拥有访问权，β对文件B拥有访问权。并且假定主机α与β之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成： 　　1.β将文件B分割成一组不重叠的固定大小为S字节的数据块。最后一块可能会比S 小。 　　2.β对每一个分割好的数据块执行两种校验：一种是32位的滚动弱校验，另一种是128位的MD4强校验。 　　3.β将这些校验结果发给α。 　　4.α通过搜索文件A的所有大小为S的数据块(偏移量可以任选，不一定非要是S的倍数)，来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。 　　5.α发给β一串指令来生成文件A在β上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明，要么是一个数据块，这个数据块肯定是没有与文件B的任何一个数据块匹配上的。 1.3 命令语法 　rsync的命令格式可以为以下六种： 　　rsync [OPTION]... SRC DEST 　　rsync [OPTION]... SRC [USER@]HOST:DEST 　　rsync [OPTION]... [USER@]HOST:SRC DEST 　　rsync [OPTION]... [USER@]HOST::SRC DEST 　　rsync [OPTION]... SRC [USER@]HOST::DEST 　　rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]]]></description><PubDate>2008-12-15 23:41:41</PubDate><category>服务器问题</category></item><item><title>windows下rsync的数据同步安装配置方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15674</link><subject>rsync的配置环境 软件平台:windows2003 软件版本:cwRsync_2.0.10_Installer cwRsync_Server_2.0.10_Installer 硬件平台:dell2950 cpu1.6G*4 内存:4G 硬盘:1G*6 RAID5 ===安装=== 在WINDOWS环境下安装rsync要安装服务端和客户端 服务器端安装:运行cwRsync_Server_2.0.10_Installer 客户端安装:运行cwRsync _2.0.10_Installe 安装步骤和安装服务器端是一样的这里就不详细描述 ===配置=== 配置和我们在linux下面的配置一样，在安装目录中找到rsync.conf文件进行配置: Rsync.conf文件: pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log uid = administrator gid = administrator use chroot = no max connections =4 syslog facility = local5 [test] path =/cygdrive/d/wlk comment=/cygdrive/d/wlk comment = BACKUP CLIENT IS SOLARIS 8 E250 ignore errors # 可以忽略一些无关的IO错误 read only = yes # 只读 list = no # 不允许列文件 auth users = inburst # 认证的用户名，如果没有这行， 则表明是匿名 secrets file = etc/inburst.pas # 认证文件名 在server端生成一个密码文件etc/inburst.pas 打开记事本 inburst:hack 保存在安装路径下面的etc文件加下面文件明保存为inburst.pas 在服务中把RsyncServer启动，启动类型修改为自动 这样服务器端就安装设置好了 从client端进行测试 下面这个命令行中-vzrtopg里的v是verbose，z是压缩，r是recursive，topg都是保持文件原有属性如属主、时间 的参数。–progress是指显示 出详细的进度情况，–delete是指如果服务器端删除了这一文件，那么客户端也相应把文件删除，保持真正的一致。 后面的inburst@ip中， inburst是指定密码文件中的用户名，之后的::inburst这一inburst是模块名，也就是在/etc/rsyncd.conf中自定义 的名称。最后的/tmp是备份 到本地的目录名。 在这里面，还可以用-e ssh的参数建立起加密的连接。可以用–password-file=/password/path/file来指定密码文 件，这样就可以在脚本中使 用而无需交互式地输入验证密码了，这里需要注意的是这份密码文件权限属性要设得只有属主可读。 在客户端运行CMD rsync -av 10.0.0.16::401 /cygdrive/h/401</subject><description><![CDATA[rsync的配置环境 软件平台:windows2003 软件版本:cwRsync_2.0.10_Installer cwRsync_Server_2.0.10_Installer 硬件平台:dell2950 cpu1.6G*4 内存:4G 硬盘:1G*6 RAID5 ===安装=== 在WINDOWS环境下安装rsync要安装服务端和客户端 服务器端安装:运行cwRsync_Server_2.0.10_Installer 客户端安装:运行cwRsync _2.0.10_Installe 安装步骤和安装服务器端是一样的这里就不详细描述 ===配置=== 配置和我们在linux下面的配置一样，在安装目录中找到rsync.conf文件进行配置: Rsync.conf文件: pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log uid = administrator gid = administrator use chroot = no max connections =4 syslog facility = local5 [test] path =/cygdrive/d/wlk comment=/cygdrive/d/wlk comment = BACKUP CLIENT IS SOLARIS 8 E250 ignore errors # 可以忽略一些无关的IO错误 read only = yes # 只读 list = no # 不允许列文件 auth users = inburst # 认证的用户名，如果没有这行， 则表明是匿名 secrets file = etc/inburst.pas # 认证文件名 在server端生成一个密码文件etc/inburst.pas 打开记事本 inburst:hack 保存在安装路径下面的etc文件加下面文件明保存为inburst.pas 在服务中把RsyncServer启动，启动类型修改为自动 这样服务器端就安装设置好了 从client端进行测试 下面这个命令行中-vzrtopg里的v是verbose，z是压缩，r是recursive，topg都是保持文件原有属性如属主、时间 的参数。–progress是指显示 出详细的进度情况，–delete是指如果服务器端删除了这一文件，那么客户端也相应把文件删除，保持真正的一致。 后面的inburst@ip中， inburst是指定密码文件中的用户名，之后的::inburst这一inburst是模块名，也就是在/etc/rsyncd.conf中自定义 的名称。最后的/tmp是备份 到本地的目录名。 在这里面，还可以用-e ssh的参数建立起加密的连接。可以用–password-file=/password/path/file来指定密码文 件，这样就可以在脚本中使 用而无需交互式地输入验证密码了，这里需要注意的是这份密码文件权限属性要设得只有属主可读。 在客户端运行CMD rsync -av 10.0.0.16::401 /cygdrive/h/401]]></description><PubDate>2008-12-15 23:41:41</PubDate><category>服务器问题</category></item><item><title>url重写IIRF(Ionic''s Isapi Rewrite Filter)手册第1/2页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15706</link><subject>说明 IIRF与ISAPI_Rewrite的规划区别只在于IIRF不需要使用转义字符\,而ISAPI_Rewrite则需要使用转义字符\. 介绍  IIRF是一款开源的重写URL过滤器，类似于Apache的URL重写，基于VC8.0（可以用Visual Studio2005或Visual C++ 2005 Express重新编译）开发。它可以运行在IIS5.0＋，支持ASP,ASP.NET,PHP等许多格式。相对比ASP.NET2.0自带的URL重写，具有更好的性能和许多我们所需要特性，重要的一点在于：它可以支持无扩展名的URL（例如：cnlbogs.com/****,你无需在创建一个默认的default.aspx文件，IIRF自动会帮你解析），让URL更加的方便我们记忆，也能进一步提高搜索的排名？IIRF能够在aspnet_isapi提前捕获我们所请求的URL进行处理，如果我们访问cnlbogs.com/a.aspx,需要获取cnlbogs.com/a.htm,步骤需要(iis-aspnet_isapi),通过IIRF，我们可以直接跳aspnet_isapi.dll,直接访问a.htm，要知道，这种方式在ASP.NET是无法实现的。  IIRF跟ASP.NET重写URL一样，它也是基于正则的方式来匹配，具有LOG记录，请求的条件判断。还是进入正题吧。  安装  IIRF安装需要我们手动操作来完成。不过。也是很方便了。 1 将IsapiRewrite4.dll, IsapiRewrite4.ini复制到c:\windows\system32\inetsrv(你也可以复制到其它适当的文件夹下面)。 IsapiRewrite4.ini是IIRF配置文件，每次该文件更改之后，IIRF会自动重新加载该文件，无需重启IIS来重新加载配置，如果您修改后INI文件后格式不正确，IIRF将会自动获取最后正确加载的配置文件。 2 打开IIS管理器,选择“默认网站”，右击“属性”，选择“ISAPI筛选器”，点击“添加”，输入筛选器名称：Ionic Rewriter，可执行文件选择上面复制到c:\windows\system32\inetsrv下面的IsapiRewrite4.dll文件，点“确定”。 3重启IISADMIN service服务。（在计算机管理----windows服务里面） 4 完成。 日志 IIRF能够将INI配置文件加载，用户的URL请求记录都会保存到指定的日志文件里。因为它具有很大的性能开销，因此建议将它日志的记录等级设为0，只有 为了方便调试的时候时候，可以设置为5， RewriteLog   保存的日志路径，如 c:\temp\iirfLog.out RewriteLogLevel {0,1,2,3,4,5} 日志的等级,默认值为0 0 –不会记录日志 1- 少许的日志 2-  比较多的日志 3- 比较详细的日志 4- 详细的日志（4），并会跟踪server variable和替换的字符串。 5- 详细的日志（5），包括日志文件更改的事件，建议方便调试的时候使用 正则 正则的语法跟.NET一样，只不过是格式不一样而已。所以我也不在详细介绍。具体有关正则的说明大家可以用GOOGLE搜索。 格式： RewriteRule &lt;url-pattern&gt; &lt;replacement-string&gt;   [&lt;modifiers&gt;] url-pattern：匹配的正则表达式(必需) replacement-string:要替换的字符串（必需） modifiers：有关对RewriteRule的操作标记。可选选项。在下面我会说明 默认下IIRF的url-pattern，replacement-string正则的前面已经带了主机头的。 为了方便描述，直接看几个示例(以下示例基本全部来源IIRF文档) RewriteRule  ^/original/(.*).php  /modified/$1.aspx 源：http://xxx/original/index.php 目标：http://xxx/modified/index.aspx RewriteRule  ^/dinoch/album/([^/]+)/([^/]+).(jpg|JPG|PNG)   /chiesa/pics.aspx?d=$1&amp;p=$2.$3 源：http://xxx/dinoch/album/30/1.jpg 目标：http://xxx/chiesa/pics.aspx?d=30&amp;p=1.jpg  比较简单，主要还在于modifiers的功能。下面列举了它的所有值，允许组合(如[R,L])。    R = Redirect（URL跳转到&lt;replacement-string&gt;地址）    NF = Not found(返回404错误给用户，但该文件并未移除，还是保留在网站中）    L = Last test if match(如果已经匹配，将不在继续匹配下去)    F = Forbidden(跟NF标志相似，)    I = Do case-insensitive matching    U = Store original url in server Variable HTTP_X_REWRITE_URL(保存原始的url到HTTP_X_REWRITE_URL服务器变量中。) [R]  or [R=code] 就像跟我们在ASP.NET使用的Redirect方法一样，重新改变浏览器的方向，跳转到新的指定的URL中。 [R=code]允许我们指定特定的HTTP状态返回码。只能介于301到399。如果超出这个范围。默认会是使用302状态。 RewriteRule ^/goto.aspx?r=(.*)$ $1 [R] 源:http://xxx/goto.aspx?r=http://www.google.com/ 目标:http://www.google.com [L] 上面已经简单介绍过。不在说明 [NF]  上面已经简单介绍过。它还可以跟RewriteCond一起配合，来实现自定义的404错误请求。 特别要注意，你所要匹配的文件必须存在，替换的字符串不允许是存在文件名 RewriteRule ^/1008.aspx$ /1.aspx [NF] 1008.aspx文件需要存在，1.aspx不存在，否则无法正常达到我们的结果。 （很奇怪，我不知道是不是我搞错了。但我最终测试的结果确实是这样，文档也没详细说明过，有知道的朋友可以告诉我一下原因） [F] 不在说明。 [I] 模糊匹配 [U] 保存原始的url到HTTP_X_REWRITE_URL服务器变量中。 在ASP.NET你可以用Request.ServerVariables[&quot;HTTP_X_REWRITE_URL&quot;]获取原始值。</subject><description><![CDATA[说明 IIRF与ISAPI_Rewrite的规划区别只在于IIRF不需要使用转义字符\,而ISAPI_Rewrite则需要使用转义字符\. 介绍  IIRF是一款开源的重写URL过滤器，类似于Apache的URL重写，基于VC8.0（可以用Visual Studio2005或Visual C++ 2005 Express重新编译）开发。它可以运行在IIS5.0＋，支持ASP,ASP.NET,PHP等许多格式。相对比ASP.NET2.0自带的URL重写，具有更好的性能和许多我们所需要特性，重要的一点在于：它可以支持无扩展名的URL（例如：cnlbogs.com/****,你无需在创建一个默认的default.aspx文件，IIRF自动会帮你解析），让URL更加的方便我们记忆，也能进一步提高搜索的排名？IIRF能够在aspnet_isapi提前捕获我们所请求的URL进行处理，如果我们访问cnlbogs.com/a.aspx,需要获取cnlbogs.com/a.htm,步骤需要(iis-aspnet_isapi),通过IIRF，我们可以直接跳aspnet_isapi.dll,直接访问a.htm，要知道，这种方式在ASP.NET是无法实现的。  IIRF跟ASP.NET重写URL一样，它也是基于正则的方式来匹配，具有LOG记录，请求的条件判断。还是进入正题吧。  安装  IIRF安装需要我们手动操作来完成。不过。也是很方便了。 1 将IsapiRewrite4.dll, IsapiRewrite4.ini复制到c:\windows\system32\inetsrv(你也可以复制到其它适当的文件夹下面)。 IsapiRewrite4.ini是IIRF配置文件，每次该文件更改之后，IIRF会自动重新加载该文件，无需重启IIS来重新加载配置，如果您修改后INI文件后格式不正确，IIRF将会自动获取最后正确加载的配置文件。 2 打开IIS管理器,选择“默认网站”，右击“属性”，选择“ISAPI筛选器”，点击“添加”，输入筛选器名称：Ionic Rewriter，可执行文件选择上面复制到c:\windows\system32\inetsrv下面的IsapiRewrite4.dll文件，点“确定”。 3重启IISADMIN service服务。（在计算机管理----windows服务里面） 4 完成。 日志 IIRF能够将INI配置文件加载，用户的URL请求记录都会保存到指定的日志文件里。因为它具有很大的性能开销，因此建议将它日志的记录等级设为0，只有 为了方便调试的时候时候，可以设置为5， RewriteLog   保存的日志路径，如 c:\temp\iirfLog.out RewriteLogLevel {0,1,2,3,4,5} 日志的等级,默认值为0 0 –不会记录日志 1- 少许的日志 2-  比较多的日志 3- 比较详细的日志 4- 详细的日志（4），并会跟踪server variable和替换的字符串。 5- 详细的日志（5），包括日志文件更改的事件，建议方便调试的时候使用 正则 正则的语法跟.NET一样，只不过是格式不一样而已。所以我也不在详细介绍。具体有关正则的说明大家可以用GOOGLE搜索。 格式： RewriteRule &lt;url-pattern&gt; &lt;replacement-string&gt;   [&lt;modifiers&gt;] url-pattern：匹配的正则表达式(必需) replacement-string:要替换的字符串（必需） modifiers：有关对RewriteRule的操作标记。可选选项。在下面我会说明 默认下IIRF的url-pattern，replacement-string正则的前面已经带了主机头的。 为了方便描述，直接看几个示例(以下示例基本全部来源IIRF文档) RewriteRule  ^/original/(.*).php  /modified/$1.aspx 源：http://xxx/original/index.php 目标：http://xxx/modified/index.aspx RewriteRule  ^/dinoch/album/([^/]+)/([^/]+).(jpg|JPG|PNG)   /chiesa/pics.aspx?d=$1&amp;p=$2.$3 源：http://xxx/dinoch/album/30/1.jpg 目标：http://xxx/chiesa/pics.aspx?d=30&amp;p=1.jpg  比较简单，主要还在于modifiers的功能。下面列举了它的所有值，允许组合(如[R,L])。    R = Redirect（URL跳转到&lt;replacement-string&gt;地址）    NF = Not found(返回404错误给用户，但该文件并未移除，还是保留在网站中）    L = Last test if match(如果已经匹配，将不在继续匹配下去)    F = Forbidden(跟NF标志相似，)    I = Do case-insensitive matching    U = Store original url in server Variable HTTP_X_REWRITE_URL(保存原始的url到HTTP_X_REWRITE_URL服务器变量中。) [R]  or [R=code] 就像跟我们在ASP.NET使用的Redirect方法一样，重新改变浏览器的方向，跳转到新的指定的URL中。 [R=code]允许我们指定特定的HTTP状态返回码。只能介于301到399。如果超出这个范围。默认会是使用302状态。 RewriteRule ^/goto.aspx?r=(.*)$ $1 [R] 源:http://xxx/goto.aspx?r=http://www.google.com/ 目标:http://www.google.com [L] 上面已经简单介绍过。不在说明 [NF]  上面已经简单介绍过。它还可以跟RewriteCond一起配合，来实现自定义的404错误请求。 特别要注意，你所要匹配的文件必须存在，替换的字符串不允许是存在文件名 RewriteRule ^/1008.aspx$ /1.aspx [NF] 1008.aspx文件需要存在，1.aspx不存在，否则无法正常达到我们的结果。 （很奇怪，我不知道是不是我搞错了。但我最终测试的结果确实是这样，文档也没详细说明过，有知道的朋友可以告诉我一下原因） [F] 不在说明。 [I] 模糊匹配 [U] 保存原始的url到HTTP_X_REWRITE_URL服务器变量中。 在ASP.NET你可以用Request.ServerVariables[&quot;HTTP_X_REWRITE_URL&quot;]获取原始值。]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>关于网站的安全性注意事项</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15712</link><subject>一个网站，安全问题可能从多方面而来。光靠任何一方面，都不可能保证绝对的安全。一个安全的网站，必须要靠各方面配合才能打造出来。 首当其冲的是服务器的安全，服务器本身如果被人入侵了，你的网站系统再安全，那也没有任何作用。 其次是FTP或者远程管理等的帐号安全，如果人家破解了你的FTP或者远程管理权限，那也就等于窗户开给人家怕，那家里的东西自然是随便拿了。 上述的涉及系统管理的问题，这里不多说了，重点说说第三方面：脚本安全。纵横 脚本指在你的网站上的ASP，JSP，CGI等服务器端运行的脚本代码，比如动易系统、动网论坛都属此类。 脚本代码的安全问题最主要最集中的问题出在两个方面：SQL注入和FSO权限。 互动网站大多有数据库，ASP代码通过SQL语句对数据库进行管理，而SQL语句中的一些变量是通过用户提交的表单获取，如果对表单提交的数据没有做好过滤，攻击者就可以通过构造一些特殊的URL提交给你的系统，或者在表单中提交特别构造的字符串，造成SQL语句没有按预期的目的执行。 经常有网友在动易论坛提交一些扫描报告，说动易有SQL注入漏洞。像动易这么复杂的系统，我们不能说开发人员不会遗漏了一两个表单数据的检验和过滤，如果的确存在这种疏忽，而攻击者又通过源代码看到了，那么肯定网站是抵御不了这样的攻击的。在早期的动力系统中，曾经有过这样的漏洞。 到了动易的新版本，开发团队在防止SQL注入方面下了很大的工夫，几乎所有通过表单提交的数据，分字符性和数字性，分别用一个专门的函数进行处理。只要是提交的数据包含非法字符，或者被替换为安全字符，或者提交的数据被替换为默认值。为了程序具有较好的容错性，我们并没有对所有含有非法字符串的数据提交都以抱错回应。比如当用户访问ShowSource.asp这个网页，提交ChannelID=%3D这样的数据，系统就会将其修改为ChannelID=0，这是安全的数据，但是不会显示“您所提交的数据非法”这样的提示。因为对于访问者而言，这是没有必要的。 也就是因为这样的原因，一些比较弱智的漏洞扫描器就以为提交的ChannelID=%3D被执行了，于是告诉用户ShowSource.asp?ChannelID=%3D存在高危漏洞。纵横科技 大家如果遇到扫描器报告有高危漏洞的，可以联系我们开发人员确认。经过开发人员确认不存在，那就肯定不存在。即使扫描器报告说有，你也不用担心。因为攻击者是没有办法利用这个漏洞的。 除了SQL注入，还有一个更严重的安全问题：上传木马。 由于上传组件（通常ASP开发者都使用一个或多个第三方开发的上传组件或者ASP类）、站长的错误设置（允许上传asp或者shtml等类型的文件），或者其它存在的上传漏洞，都可能存在被攻击者上传后门的可能性。一旦上传了漏洞，攻击者就获得了站长的权限，甚至超过站长的权限（对整个服务器构成安全威胁）。 这几年来，包括动网、动力、动易在内的ASP系统，都曾经出现过上传漏洞的问题（尤其是去年的upload.inc上传.cer等类型文件的漏洞）。但是为什么每次发现这种大规模存在的漏洞之后，都只有一部分网站被黑呢？当然不是攻击者手软或者良心发现，而是一些网站通过服务器设置，防止了这些漏洞导致的损失。举个例子，如下图： 给各个不必要的目录，去掉“执行”权限，改为“无”，也就是这个目录下的文件，只能读取，不能运行。比如动网论坛除了根目录以外，其它所有目录都只给读取权限即可，关闭执行权限；动易系统给动易根目录、各个频道的根目录以及User、Reg这些含有ASP网页并且ASP要从浏览器访问的目录执行权限即可，其它都可以设置为“无”。尤其是上传目录，比如UploadFiles这样的目录，还有图片目录，一定要设置为只读。 这样设置以后，即使攻击者找到了上传漏洞，把asp木马上传到了你的UploadFiles目录，他也不能利用那个木马做什么。 另外，如果你的服务器采用NTFS文件系统，那么给网站文件所在的目录设置好权限也很重要，网站所在目录，只要给IUSR_你的机器名这个用户开放了读、写权限就能正常运行。不要给EveryOne\Guest这样的用户赋予完全权限，非Web目录，应该禁止IUSR_机器名这样的用户赋予权限，这样可以避免上传的ASP木马给服务器造成严重的安全问题。 另外，在IIS的运用程序配置中，删除不需要的程序映射，也是避免因为过滤不够被攻击者上传了某些特殊类型的木马进行攻击的办法。如下图：</subject><description><![CDATA[一个网站，安全问题可能从多方面而来。光靠任何一方面，都不可能保证绝对的安全。一个安全的网站，必须要靠各方面配合才能打造出来。 首当其冲的是服务器的安全，服务器本身如果被人入侵了，你的网站系统再安全，那也没有任何作用。 其次是FTP或者远程管理等的帐号安全，如果人家破解了你的FTP或者远程管理权限，那也就等于窗户开给人家怕，那家里的东西自然是随便拿了。 上述的涉及系统管理的问题，这里不多说了，重点说说第三方面：脚本安全。纵横 脚本指在你的网站上的ASP，JSP，CGI等服务器端运行的脚本代码，比如动易系统、动网论坛都属此类。 脚本代码的安全问题最主要最集中的问题出在两个方面：SQL注入和FSO权限。 互动网站大多有数据库，ASP代码通过SQL语句对数据库进行管理，而SQL语句中的一些变量是通过用户提交的表单获取，如果对表单提交的数据没有做好过滤，攻击者就可以通过构造一些特殊的URL提交给你的系统，或者在表单中提交特别构造的字符串，造成SQL语句没有按预期的目的执行。 经常有网友在动易论坛提交一些扫描报告，说动易有SQL注入漏洞。像动易这么复杂的系统，我们不能说开发人员不会遗漏了一两个表单数据的检验和过滤，如果的确存在这种疏忽，而攻击者又通过源代码看到了，那么肯定网站是抵御不了这样的攻击的。在早期的动力系统中，曾经有过这样的漏洞。 到了动易的新版本，开发团队在防止SQL注入方面下了很大的工夫，几乎所有通过表单提交的数据，分字符性和数字性，分别用一个专门的函数进行处理。只要是提交的数据包含非法字符，或者被替换为安全字符，或者提交的数据被替换为默认值。为了程序具有较好的容错性，我们并没有对所有含有非法字符串的数据提交都以抱错回应。比如当用户访问ShowSource.asp这个网页，提交ChannelID=%3D这样的数据，系统就会将其修改为ChannelID=0，这是安全的数据，但是不会显示“您所提交的数据非法”这样的提示。因为对于访问者而言，这是没有必要的。 也就是因为这样的原因，一些比较弱智的漏洞扫描器就以为提交的ChannelID=%3D被执行了，于是告诉用户ShowSource.asp?ChannelID=%3D存在高危漏洞。纵横科技 大家如果遇到扫描器报告有高危漏洞的，可以联系我们开发人员确认。经过开发人员确认不存在，那就肯定不存在。即使扫描器报告说有，你也不用担心。因为攻击者是没有办法利用这个漏洞的。 除了SQL注入，还有一个更严重的安全问题：上传木马。 由于上传组件（通常ASP开发者都使用一个或多个第三方开发的上传组件或者ASP类）、站长的错误设置（允许上传asp或者shtml等类型的文件），或者其它存在的上传漏洞，都可能存在被攻击者上传后门的可能性。一旦上传了漏洞，攻击者就获得了站长的权限，甚至超过站长的权限（对整个服务器构成安全威胁）。 这几年来，包括动网、动力、动易在内的ASP系统，都曾经出现过上传漏洞的问题（尤其是去年的upload.inc上传.cer等类型文件的漏洞）。但是为什么每次发现这种大规模存在的漏洞之后，都只有一部分网站被黑呢？当然不是攻击者手软或者良心发现，而是一些网站通过服务器设置，防止了这些漏洞导致的损失。举个例子，如下图： 给各个不必要的目录，去掉“执行”权限，改为“无”，也就是这个目录下的文件，只能读取，不能运行。比如动网论坛除了根目录以外，其它所有目录都只给读取权限即可，关闭执行权限；动易系统给动易根目录、各个频道的根目录以及User、Reg这些含有ASP网页并且ASP要从浏览器访问的目录执行权限即可，其它都可以设置为“无”。尤其是上传目录，比如UploadFiles这样的目录，还有图片目录，一定要设置为只读。 这样设置以后，即使攻击者找到了上传漏洞，把asp木马上传到了你的UploadFiles目录，他也不能利用那个木马做什么。 另外，如果你的服务器采用NTFS文件系统，那么给网站文件所在的目录设置好权限也很重要，网站所在目录，只要给IUSR_你的机器名这个用户开放了读、写权限就能正常运行。不要给EveryOne\Guest这样的用户赋予完全权限，非Web目录，应该禁止IUSR_机器名这样的用户赋予权限，这样可以避免上传的ASP木马给服务器造成严重的安全问题。 另外，在IIS的运用程序配置中，删除不需要的程序映射，也是避免因为过滤不够被攻击者上传了某些特殊类型的木马进行攻击的办法。如下图：]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>打开windowXP的21端口即用winxp架设ftp服务器</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15714</link><subject>今天朋友让我帮忙架设一下服务器的FTP，初步分析了一下，问题有2个，一个是 远程连接没打开，一个怀疑是FTP端口21没打开。远程连接打开这里就不说了，大家都知道。现在具体对用WINDOWS自代的FTP工具架设之后21端口没打开来说一下。 确认是否是21问题 cmd---- netstat -an 看下端口都开了哪些  在做什么确定了是21端口没打开的问题。现在开始开21端口。 具体操作： 本地连接---属性----高级----防火墙设置----高级-----本地连接----服务---选中FTP---编辑---输入计算机名----21(外部端口号)----21(内部端口号)---确定----确定----确定----确定--断开连接---再连接 然后 再 netstat -an 看下 21已经开了。 开其他的端口也一样，举一反三嘛。 怕以后忘了，今天做了，留给笔记。</subject><description><![CDATA[今天朋友让我帮忙架设一下服务器的FTP，初步分析了一下，问题有2个，一个是 远程连接没打开，一个怀疑是FTP端口21没打开。远程连接打开这里就不说了，大家都知道。现在具体对用WINDOWS自代的FTP工具架设之后21端口没打开来说一下。 确认是否是21问题 cmd---- netstat -an 看下端口都开了哪些  在做什么确定了是21端口没打开的问题。现在开始开21端口。 具体操作： 本地连接---属性----高级----防火墙设置----高级-----本地连接----服务---选中FTP---编辑---输入计算机名----21(外部端口号)----21(内部端口号)---确定----确定----确定----确定--断开连接---再连接 然后 再 netstat -an 看下 21已经开了。 开其他的端口也一样，举一反三嘛。 怕以后忘了，今天做了，留给笔记。]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>serv-u服务器的管理方法与功能分析</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15726</link><subject>比起ＩＩＳ来，Ｓｅｒｖ－Ｕ的管理功能强大得多，而且设置也很方便。需要特别注意的是每进行任何一次设置或改动，都要点击界面左上角工具条的“保存”按钮才能生效。 １．账户管理 Ｓｅｒｖ－Ｕ对账户的管理相当方便，不仅可以对单个账户进行管理，还可以将具有相同权限的多个账户设置成组，进行统一管理。 １）添加／删除单个账户 在左边窗口中找到“用户”，右击，选“新建用户”，依次设置“用户名称”、“密码”、“主目录”（该账户登录后所处的目录位置）、“锁定用户于主目录”即可完成一个新账户的创建。有时我们要建一批具有相同主目录的账户，比如Ａ１、Ａ２、Ａ３……如果一个个地去新建，就比较麻烦，这时可以使用“复制用户”的功能。先创建Ａ１用户，再右击账户“Ａ１”，选“复制用户”，依此而为，然后再将复制后的账户名改为Ａ２、Ａ３等。这样创建的账户除了名称不同外，其余包括密码在内的设置都是一样的。 ２）添加／删除组 如果有一批账户，如Ａ１、Ａ２、Ａ３，拥有相同的访问主目录及ＩＰ访问规则，就可以将这些账户设成一个组，统一管理，对组做的任何设置都将同时对该组所有账户成员生效。右击“组”，选“新建组”，输入组的名称就可以建立新组。新建的组并不拥有任何账户成员，还需要将这些成员账户一一添加到组中。选中要添加的账户，在右边窗口中的“组”中选择要加入的组，除Ａｎｏｎｙｍｏｕｓ账户外，任何一个账户均可同时加入一个或多个组。要将此账户从该组中删除，留空此处即可。要删除某个组，在组名上点右键，再点“删除组”即可。同样，组和单个账户一样，也可以复制，方法是选择某个组后点右键，再点“复制组”。 ３）设置账户的有效期 如果某些账户违反了你制定的规矩，可以通过禁止该账户一段时间以示惩诫，在此期间，任何用户用此账户登录服务器都将被拒绝。你只要选中该账户，在右边“账号”选项卡上将“禁用账号”选中即可，若要解禁，将“√”去掉。对于一些临时性的账户，如果等到期后再一个个地去删除，对你的记性显然是一大考验。Ｓｅｒｖ－Ｕ提供了一个解决办法，可以到期自动删除该账户。选中“自动删除账号于日期”，在后面的下拉框中设置好到期的日子，系统就会按指定日期自动删除该账户。 ２．设置虚拟目录 与ＩＩＳ一样，Ｓｅｒｖ－Ｕ也提供了虚拟目录设置功能。假设我们要将“Ｇ＼电影＼ＤＶＤ影片”目录映射成ＦＴＰ主目录下的“ＤＶＤ”目录，点击“设置”，在“常规”选项卡下有个“虚拟路径映射”，点“添加”，在“物理路径”中输入“Ｇ＼电影＼ＤＶＤ影片”，“映射物理路径”中输入“％ＨＯＭＥ％”或ＦＴＰ主目录的绝对路径，“映射的路径名称”填进“ＤＶＤ”，完成后如图４。最后，进入用户的“目录访问”选项卡，将“Ｇ＼电影＼ＤＶＤ影片”目录添加进去。以该账户登录ＦＴＰ，就可以看到多了一个ＤＶＤ目录。 ３．设置目录权限 与ＩＩＳ不同，Ｓｅｒｖ－Ｕ基于账户来设置不同的访问目录。每个账户在创建时都要选择好登录后所处的目录位置，不同的账户可以不同。每个目录有如下权限可供设置： １）文件操作 读取：允许用户从服务器下载文件； 写入：允许用户上传文件到服务器，但不允许修改、删除和重命名； 追加：允许向存在的文件附加内容或者进行续传，只有选中此项，该目录才允许续传； 删除：允许用户修改文件、重命名和删除； 执行：通过ＦＴＰ执行命令，这个权限要小心使用，否则可能会导致安全问题。 ２）目录操作 列表：允许用户取得该目录下的文件列表，不选，则用户什么也看不到；  创建：允许用户在该目录下创建新的子目录，很多上传用户在上传文件时往往都是将整个目录上传，如果此项未被选中，则用户只能上传一个个文件，而不能按目录来上传；  删除：允许用户删除目录。 ３）子目录操作 继承：父目录的访问规则自动应用到子目录上。 作为站长，不仅要详细了解这些权限，还要学会合理设置每个目录的不同用户的权限。一般来说，对于普通或匿名用户，最好只赋予读取和目录列表权限，以方便管理和提高ＦＴＰ服务器的安全性。对于上传用户，应当开设专门的账号并赋予读取、写入、追加、目录列表及创建权限，对于特殊用户，尽量少赋予更多的权限，尤其是“执行”权限。要设置权限，进入每个用户或组的“目录访问”选项卡，根据自己的需要自行设置。 ４．消息设置 使用ＣｕｔｅＦＴＰＰｒｏ登录某个ＦＴＰ时，有时会在状态窗口中看到一些诸如“欢迎来到本站”之类的信息，这就是消息。很多ＦＴＰ站长并不重视登录／退出／更改目录的消息设置，其实如果设置得当，不仅会方便用户尤其是上传用户的访问，而且能使你的ＦＴＰ看起来更加个性化和专业化。 选中“设置”，在右边窗口找到“消息”选项卡。“服务器响应信息”由系统默认，一般不须修改。注意下边的四个选项才是我们需要设置的： “开始标记信息”：指定包含当用户登录成功时出现的欢迎信息的文件位置； “关闭标记信息”：指定包含当用户断开连接时显示信息的文件位置； “更改消息文件的主目录”：指定当用户更改所处目录时显示信息的文件位置； “更改消息文件的次目录”：指定当用户更改目录且文件并未找到主文件时显示信息的文件位置。 以制作登录成功时显示的欢迎信息为例。先建一个名为“ｌｏｇｏｎ”的文本文件，打开，在里面输入如下信息： 欢迎来到&#215;&#215;&#215;的个人ＦＴＰ服务器 你的ＩＰ地址是：％ＩＰ 目前服务器所在的时间是 ％ｔｉｍｅ 已经有 ％ｕ２４ｈ 个用户在最近２４小时访问过本ＦＴＰ 本ＦＴＰ服务器已经运行了 ％ＳｅｒｖｅｒＤａｙｓ天％ＳｅｒｖｅｒＨｏｕｒｓ 小时。 服务器运行情况： 所有登录用户数量：％ｌｏｇｇｅｄＩｎＡｌｌ ｔｏｔａｌ 当前登录用户数量：％Ｕｎｏｗ 用户已用空间配额：％ＱｕｏｔａＵｓｅｄ ＫＢ 剩余可用空间配额：％ＱｕｏｔａＬｅｆｔ ＫＢ 用户当前剩余空间：％ＤＦｒｅｅ ＫＢ 最大可用磁盘空间：％ＱｕｏｔａＭａｘ ＫＢ 其中，以％开头的都是一些变量（更多的变量请查询Ｓｅｒｖ－Ｕ的帮助文件），&#215;&#215;&#215;可以改成你的名字，也可以加上一些你喜欢的文字，但每行以不超过７０个英文字符为宜。在“开始标记信息”中输入ｌｏｇｏｎ．ｔｘｔ文件的地址，保存后用ＣｕｔｅＦＴＰ登录，就会看到提示的信息。这样，对于要上传文件的用户来说，服务器还剩余多少空间可供上传就一目了然了。 提示：对于每个账户也可以设置当该用户用此账户登录时出现的提示信息。在此账户的“常规”选项卡中找到“登录消息文件”，选择好消息文件目录即可。这样的好处在于：我们可以设置一个专门用来上传的账户，然后只将有关上传方面的相关详细信息设置成消息文件，供上传账户用户参考。 ５．上传／下载率的设置 每个用户的设置选项中都有一个“上传／下载率”选项卡。所谓“上传／下载率”，实际上就是对用户上传下载文件的一种信用机制。作为站长，都希望用户能够上传一些有价值的东西供大家共享，而不仅仅只是使用ＦＴＰ提供的资源。通过设置“上传和下载比例”，站长可以限制使用ＦＴＰ的用户每上传一个文件后可以下载的文件数。启用上传／下载比率后，Ｓｅｒｖ－Ｕ提供了四种计数方式： “计数每个任务文件”：计算该比率下每个单独ＦＴＰ任务的已上传／下载的文件； “计数每个任务的字节”：计算该比率下每个单独ＦＴＰ任务的上传／下载文件的字节； “计数所有任务文件”：计算该比率下所有ＦＴＰ任务的已上传／下载的文件； “计数所有任务的字节”：计算该比率下所有ＦＴＰ任务的已上传／下载文件的字节。 以“计数每个任务文件”为例，如果在“比率”选项中，“上传”设为１，“下载”设为４，则该账户每上传１个文件，就可以从ＦＴＰ中下载４个文件。 但“上传／下载率”存在一个问题：假如ＦＴＰ中有某个目录或文件不需要计入上传／下载率，怎么办？我们可以在“设置”中的“上传／下载率”选项卡中设置。点击“添加”，输入不需计入的目录或文件，确定即可。如果有多个目录或文件，则重复此操作。 ６．用户配额管理 利用“上传／下载率”可以有效地激励用户为获得下载权限而积极上传，但新的问题也随之而来：随着用户上传文件的增多，硬盘的空间很快就会被这些文件占用，如果某个用户上传的文件特别多，在硬盘空间不变的情况下，则又会影响到其他用户对可供上传空间大小的支配。这时，就需要进行用户配额管理了。 与“上传／下载率”相同，Ｓｅｒｖ－Ｕ可以给每个用户分配一个磁盘配额。选择要设置的用户，在“配额”中将“启用磁盘配额”选中。点击下方的“计算当前”按钮，“当前”中就会显示该用户账号当前可用的硬盘空间，在“最大”中填入分配给此用户账号所能支配的最大硬盘空间。注意，这里的单位是ＫＢ。 ７．管理活动用户 林子大了，什么鸟儿都有。并不是每个登录到ＦＴＰ服务器的用户都是循规蹈矩的，这就需要站长对连接到本服务器的在线用户进行管理。点击主界面左侧“域”下的“活动”，在右边的窗口“用户”选项卡中进行管理。选中其中某个用户，点右键，就会在弹出的菜单中显示出可以进行的操作。 “重载信息”：用于重新载入该用户信息，相当于刷新。 “发送消息”：向当前所选用户发送文本消息，发出的消息将在用户的ＦＴＰ客户端软件中的状态窗口中出现。 “广播”：向当前所有活动用户发送文本消息。 “停止传送”：如果用户当前正在上传或下载文件，则可以中止此上传或下载操作，但不将该用户踢除服务器。 “踢除用户”：不管用户是否在上传或下载文件，将该用户踢除本服务器。 “监视用户”：对该用户所有操作进行实时监视，但不对该用户执行其它任何管理命令。选中后，会在“域日志”选项卡旁多出一个以该用户账户命名的选项卡，里面实时显示该用户的所有操作信息。要关闭监视，右击选项卡，选“关闭监视”即可。 “域日志”选项卡用来实时记录每个登录到本服务器的用户使用的账户名、登录时间、ＩＰ地址和退出服务器时间，便于站长了解本服务器登录用户的基本情况。默认情况下，该日志是实时更新的，但如果将旁边的“冻结”选中，就会停止更新。 提示：监视一个用户将占用服务器较大的资源，如果活动用户数比较多，请谨慎使用此功能。 ８．编辑ＩＰ访问规则 对于某些扰乱服务器秩序但又不方便删除其账户的用户，可以利用“编辑ＩＰ访问规则”允许或阻止特定的ＩＰ访问。Ｓｅｒｖ－Ｕ对用户ＩＰ访问规则的设置相当灵活，不仅可以设置允许访问本服务器的用户ＩＰ，也可以设置拒绝访问的用户ＩＰ；不仅可对每个账户进行单独编辑，也可对整个服务器所有账户进行统一编辑，还支持“”和“？”通配符。 １）拒绝访问 对于捣蛋的用户，如果不方便删除其账户，可以从“域日志”中查找到该用户连接的ＩＰ。在“规则”文本框中，点击“添加”，Ｓｅｒｖ－Ｕ就会将此规则添加到下方的“ＩＰ访问规则”列表框中。这对于那些拥有固定ＩＰ的用户相当有效。但如果该用户是拨号上网用户，只要断线后重新拨号，就会获得一个新ＩＰ，显然，此ＩＰ访问规则对于该用户来说已经失效。要解决此问题，就要用到通配符和“－”符号。假设我们要屏蔽的用户ＩＰ是１９２．１６８．Ｘ．Ｘ，可以在“规则”中输入１９２．１６８．．，也可以输入１９２．１６８．﹖．﹖－１９２．１６８．﹖﹖﹖．﹖﹖﹖或者１９２．１６８．０．０－１９２．１６８．２５５．２５５，效果一样。合理使用这些符号，还可以有效防止黑客攻击。 ２）允许访问 如果想将自己的ＦＴＰ站点仅供几个特定的用户使用，可以选中“允许访问”，在“规则”中输入特定用户的ＩＰ，再点“添加”。同样，如果特定用户的ＩＰ是动态ＩＰ，可以使用通配符和“－”符号进行设置。 其实作为站长，更多的时候需要将两种规则灵活混用，比如从拒绝访问的ＩＰ中设置某个ＩＰ为允许访问，抑或相反。需要提醒的是：对于某些局域网用户，比如网吧，如果将其ＩＰ设置为拒绝访问，则整个局域网都将会被服务器屏蔽掉。 ９．服务器带宽等资源管理 对于服务器来说，最重要的就是如何保证服务器带宽等系统资源及其性能不被浪费。为此，还需要进行一些设置，进入“本地服务器→设置→常规”选项卡。 “最大速度”：即可以使用的最大带宽（ＫＢ／秒），根据服务器总带宽资源填入合适的数值。如果不填数值，Ｓｅｒｖ－Ｕ将使用所有可用的带宽，这样当连接的用户达到一定数量时，会导致服务器上其它的网络应用不可用。以５１２Ｋｂｐｓ　ＡＤＳＬ为例，最好设置为５０ＫＢ／秒或以下。 “最大用户数”：设置在同一时间内允许连接到本服务器的最大用户数。由于每个连接到服务器的用户即使不上传、下载任何文件，也会占用一定带宽，因而最好进行设置，否则系统不会控制登录用户数，直至为此耗尽所有资源。 “删除部分已上传的文件”：删除不完整的上传文件。如果选择此项，系统会自动删除没有完全上载的文件，以最大可能地节省服务器硬盘空间。是否选择，要视服务器用户平时上传的文件大小决定。 “禁用反超时调度”：很多ＦＴＰ服务器为了防止用户长时间不操作却占用带宽及连接数而做了超时设置，当用户连接超过一定时间但未做任何操作，就会被服务器自动踢除。针对这点，一些ＦＴＰ客户端程序会自动向服务器端发送一些命令，以保证不被踢除。如果选择此项，服务器将采用一种独特的计时方式以防止ＦＴＰ客户端程序的这些反超时设置。建议选择。 “拦截连接超过 &#215;次于&#215; 秒&#215;分钟”：用来设置如果一个用户在&#215;秒内持续连接了&#215;次，那么屏蔽他的ＩＰ地址&#215;分钟，可以有效防止用户使用如网络蚂蚁等高速多线程下载软件连接服务器。 以上的设置对于“域”下所有服务器都有效。但是这些设置对于具体的某个ＦＴＰ服务器或某个账户来说过于粗浅，不利于细致地管理。不过不要紧，Ｓｅｒｖ－Ｕ针对每个服务器下的每个账户都提供了细化的设置功能。可进入该账户的“常规”选项卡： “只允许Ｘ从相同的ＩＰ登录”：很多用户在下载两个或两个以上文件时，为了节省下载等待时间，往往会同时打开两个以上的ＦＴＰ客户端软件登录。对于服务器来说，每个登录进程实际上就是一个用户，这样不仅占用了系统带宽，而且挤占了其他用户的登录权。这就需要选中此选项来防止此种情况。选中后，服务器就只允许某个ＩＰ同时最多有Ｘ个连接。 “最大上传速度和最大下载速度（ＫＢ／秒）”：用来设置该账户用户最大的上传／下载速度。对于特定账户，可以设置得比一般账户高些，以体现特权。 “空闲超时和任务超时（秒）”：“空闲超时”用来设置当用户空闲超过一定时间时就会被服务器自动踢除以免占用资源，“任务超时”设置当用户与服务器进行每个任务时，超出一定时间就会被系统自动踢除。 “最大用户数量”：设置在同一时间内用此账户登录服务器的最大用户数。 完成这些设置后，实际上你已经拥有一台处于准专业管理水平下的准专业ＦＴＰ服务器了。之所以还只是准专业管理水平，是因为你还没有实现当今最时尚最炫的远程管理功能。 １０．实现远程ＦＴＰ服务器管理 有没有想过在家中架设ＦＴＰ服务器，在办公室也可以像坐在家中一样对服务器进行各种设置和管理呢？Ｓｅｒｖ－Ｕ就提供了这种远程管理功能。为方便说明，先假设我们在家中用Ｓｅｒｖ－Ｕ架设了一个名为“ＭｙＦｔｐ”的ＦＴＰ服务器，地址是ｆｔｐ／／２１８．１．１．１，端口是２１，现在要在办公室用用户名和密码均为ｄｙｓ的账户进行远程管理。 １）先创建一个拥有远程管理权限的账户 新建一个用户，用户名和密码均设为ｄｙｓ。创建后，进入ｄｙｓ账户的“账号”选项卡，找到“权限”下拉列表框。这里除了一般用户的“没有权限”外，有四个远程权限可供选择： “组管理员”：可以进行远程管理，但只能对本组用户进行管理，不能对服务器进行管理。 “域管理员”：可以进行远程管理，但只能对本域进行管理，不能添加新域。 “系统管理员”：可以进行远程管理且具有全部权限。 “只读管理员”：主要用来进行远程诊断，可以看到全部的服务器设置但不能够进行修改。 这里，我们选择“系统管理员”，然后保存。 ２）在办公室机器上安装并设置好Ｓｅｒｖ－Ｕ 安装好后，架设服务器向导可以随意填。选中左边窗口中的“Ｓｅｒｖ－Ｕ”服务器，右击，选“新建服务器”。在弹出的向导窗口中，“ＩＰ地址”填入要被管理的服务器ＩＰ，这里填入２１８．１．１．１，“端口号”填入被管理服务器的端口，这里填２１。“ＦＴＰ服务器名称”可以随意，这里输入“远程管理ＭｙＦｔｐ”，“用户名称”和“密码”中输入被管理服务器上已经设置好的具有远程管理权限的账户名和密码。 ３）与远程ＦＴＰ服务器建立连接并进行管理 双击“远程管理ＭｙＦｔｐ”与家中的服务器建立连接。连接上后，此时你就可以像在家里一样对服务器进行各种设置和管理了，是不是很方便。</subject><description><![CDATA[比起ＩＩＳ来，Ｓｅｒｖ－Ｕ的管理功能强大得多，而且设置也很方便。需要特别注意的是每进行任何一次设置或改动，都要点击界面左上角工具条的“保存”按钮才能生效。 １．账户管理 Ｓｅｒｖ－Ｕ对账户的管理相当方便，不仅可以对单个账户进行管理，还可以将具有相同权限的多个账户设置成组，进行统一管理。 １）添加／删除单个账户 在左边窗口中找到“用户”，右击，选“新建用户”，依次设置“用户名称”、“密码”、“主目录”（该账户登录后所处的目录位置）、“锁定用户于主目录”即可完成一个新账户的创建。有时我们要建一批具有相同主目录的账户，比如Ａ１、Ａ２、Ａ３……如果一个个地去新建，就比较麻烦，这时可以使用“复制用户”的功能。先创建Ａ１用户，再右击账户“Ａ１”，选“复制用户”，依此而为，然后再将复制后的账户名改为Ａ２、Ａ３等。这样创建的账户除了名称不同外，其余包括密码在内的设置都是一样的。 ２）添加／删除组 如果有一批账户，如Ａ１、Ａ２、Ａ３，拥有相同的访问主目录及ＩＰ访问规则，就可以将这些账户设成一个组，统一管理，对组做的任何设置都将同时对该组所有账户成员生效。右击“组”，选“新建组”，输入组的名称就可以建立新组。新建的组并不拥有任何账户成员，还需要将这些成员账户一一添加到组中。选中要添加的账户，在右边窗口中的“组”中选择要加入的组，除Ａｎｏｎｙｍｏｕｓ账户外，任何一个账户均可同时加入一个或多个组。要将此账户从该组中删除，留空此处即可。要删除某个组，在组名上点右键，再点“删除组”即可。同样，组和单个账户一样，也可以复制，方法是选择某个组后点右键，再点“复制组”。 ３）设置账户的有效期 如果某些账户违反了你制定的规矩，可以通过禁止该账户一段时间以示惩诫，在此期间，任何用户用此账户登录服务器都将被拒绝。你只要选中该账户，在右边“账号”选项卡上将“禁用账号”选中即可，若要解禁，将“√”去掉。对于一些临时性的账户，如果等到期后再一个个地去删除，对你的记性显然是一大考验。Ｓｅｒｖ－Ｕ提供了一个解决办法，可以到期自动删除该账户。选中“自动删除账号于日期”，在后面的下拉框中设置好到期的日子，系统就会按指定日期自动删除该账户。 ２．设置虚拟目录 与ＩＩＳ一样，Ｓｅｒｖ－Ｕ也提供了虚拟目录设置功能。假设我们要将“Ｇ＼电影＼ＤＶＤ影片”目录映射成ＦＴＰ主目录下的“ＤＶＤ”目录，点击“设置”，在“常规”选项卡下有个“虚拟路径映射”，点“添加”，在“物理路径”中输入“Ｇ＼电影＼ＤＶＤ影片”，“映射物理路径”中输入“％ＨＯＭＥ％”或ＦＴＰ主目录的绝对路径，“映射的路径名称”填进“ＤＶＤ”，完成后如图４。最后，进入用户的“目录访问”选项卡，将“Ｇ＼电影＼ＤＶＤ影片”目录添加进去。以该账户登录ＦＴＰ，就可以看到多了一个ＤＶＤ目录。 ３．设置目录权限 与ＩＩＳ不同，Ｓｅｒｖ－Ｕ基于账户来设置不同的访问目录。每个账户在创建时都要选择好登录后所处的目录位置，不同的账户可以不同。每个目录有如下权限可供设置： １）文件操作 读取：允许用户从服务器下载文件； 写入：允许用户上传文件到服务器，但不允许修改、删除和重命名； 追加：允许向存在的文件附加内容或者进行续传，只有选中此项，该目录才允许续传； 删除：允许用户修改文件、重命名和删除； 执行：通过ＦＴＰ执行命令，这个权限要小心使用，否则可能会导致安全问题。 ２）目录操作 列表：允许用户取得该目录下的文件列表，不选，则用户什么也看不到；  创建：允许用户在该目录下创建新的子目录，很多上传用户在上传文件时往往都是将整个目录上传，如果此项未被选中，则用户只能上传一个个文件，而不能按目录来上传；  删除：允许用户删除目录。 ３）子目录操作 继承：父目录的访问规则自动应用到子目录上。 作为站长，不仅要详细了解这些权限，还要学会合理设置每个目录的不同用户的权限。一般来说，对于普通或匿名用户，最好只赋予读取和目录列表权限，以方便管理和提高ＦＴＰ服务器的安全性。对于上传用户，应当开设专门的账号并赋予读取、写入、追加、目录列表及创建权限，对于特殊用户，尽量少赋予更多的权限，尤其是“执行”权限。要设置权限，进入每个用户或组的“目录访问”选项卡，根据自己的需要自行设置。 ４．消息设置 使用ＣｕｔｅＦＴＰＰｒｏ登录某个ＦＴＰ时，有时会在状态窗口中看到一些诸如“欢迎来到本站”之类的信息，这就是消息。很多ＦＴＰ站长并不重视登录／退出／更改目录的消息设置，其实如果设置得当，不仅会方便用户尤其是上传用户的访问，而且能使你的ＦＴＰ看起来更加个性化和专业化。 选中“设置”，在右边窗口找到“消息”选项卡。“服务器响应信息”由系统默认，一般不须修改。注意下边的四个选项才是我们需要设置的： “开始标记信息”：指定包含当用户登录成功时出现的欢迎信息的文件位置； “关闭标记信息”：指定包含当用户断开连接时显示信息的文件位置； “更改消息文件的主目录”：指定当用户更改所处目录时显示信息的文件位置； “更改消息文件的次目录”：指定当用户更改目录且文件并未找到主文件时显示信息的文件位置。 以制作登录成功时显示的欢迎信息为例。先建一个名为“ｌｏｇｏｎ”的文本文件，打开，在里面输入如下信息： 欢迎来到&#215;&#215;&#215;的个人ＦＴＰ服务器 你的ＩＰ地址是：％ＩＰ 目前服务器所在的时间是 ％ｔｉｍｅ 已经有 ％ｕ２４ｈ 个用户在最近２４小时访问过本ＦＴＰ 本ＦＴＰ服务器已经运行了 ％ＳｅｒｖｅｒＤａｙｓ天％ＳｅｒｖｅｒＨｏｕｒｓ 小时。 服务器运行情况： 所有登录用户数量：％ｌｏｇｇｅｄＩｎＡｌｌ ｔｏｔａｌ 当前登录用户数量：％Ｕｎｏｗ 用户已用空间配额：％ＱｕｏｔａＵｓｅｄ ＫＢ 剩余可用空间配额：％ＱｕｏｔａＬｅｆｔ ＫＢ 用户当前剩余空间：％ＤＦｒｅｅ ＫＢ 最大可用磁盘空间：％ＱｕｏｔａＭａｘ ＫＢ 其中，以％开头的都是一些变量（更多的变量请查询Ｓｅｒｖ－Ｕ的帮助文件），&#215;&#215;&#215;可以改成你的名字，也可以加上一些你喜欢的文字，但每行以不超过７０个英文字符为宜。在“开始标记信息”中输入ｌｏｇｏｎ．ｔｘｔ文件的地址，保存后用ＣｕｔｅＦＴＰ登录，就会看到提示的信息。这样，对于要上传文件的用户来说，服务器还剩余多少空间可供上传就一目了然了。 提示：对于每个账户也可以设置当该用户用此账户登录时出现的提示信息。在此账户的“常规”选项卡中找到“登录消息文件”，选择好消息文件目录即可。这样的好处在于：我们可以设置一个专门用来上传的账户，然后只将有关上传方面的相关详细信息设置成消息文件，供上传账户用户参考。 ５．上传／下载率的设置 每个用户的设置选项中都有一个“上传／下载率”选项卡。所谓“上传／下载率”，实际上就是对用户上传下载文件的一种信用机制。作为站长，都希望用户能够上传一些有价值的东西供大家共享，而不仅仅只是使用ＦＴＰ提供的资源。通过设置“上传和下载比例”，站长可以限制使用ＦＴＰ的用户每上传一个文件后可以下载的文件数。启用上传／下载比率后，Ｓｅｒｖ－Ｕ提供了四种计数方式： “计数每个任务文件”：计算该比率下每个单独ＦＴＰ任务的已上传／下载的文件； “计数每个任务的字节”：计算该比率下每个单独ＦＴＰ任务的上传／下载文件的字节； “计数所有任务文件”：计算该比率下所有ＦＴＰ任务的已上传／下载的文件； “计数所有任务的字节”：计算该比率下所有ＦＴＰ任务的已上传／下载文件的字节。 以“计数每个任务文件”为例，如果在“比率”选项中，“上传”设为１，“下载”设为４，则该账户每上传１个文件，就可以从ＦＴＰ中下载４个文件。 但“上传／下载率”存在一个问题：假如ＦＴＰ中有某个目录或文件不需要计入上传／下载率，怎么办？我们可以在“设置”中的“上传／下载率”选项卡中设置。点击“添加”，输入不需计入的目录或文件，确定即可。如果有多个目录或文件，则重复此操作。 ６．用户配额管理 利用“上传／下载率”可以有效地激励用户为获得下载权限而积极上传，但新的问题也随之而来：随着用户上传文件的增多，硬盘的空间很快就会被这些文件占用，如果某个用户上传的文件特别多，在硬盘空间不变的情况下，则又会影响到其他用户对可供上传空间大小的支配。这时，就需要进行用户配额管理了。 与“上传／下载率”相同，Ｓｅｒｖ－Ｕ可以给每个用户分配一个磁盘配额。选择要设置的用户，在“配额”中将“启用磁盘配额”选中。点击下方的“计算当前”按钮，“当前”中就会显示该用户账号当前可用的硬盘空间，在“最大”中填入分配给此用户账号所能支配的最大硬盘空间。注意，这里的单位是ＫＢ。 ７．管理活动用户 林子大了，什么鸟儿都有。并不是每个登录到ＦＴＰ服务器的用户都是循规蹈矩的，这就需要站长对连接到本服务器的在线用户进行管理。点击主界面左侧“域”下的“活动”，在右边的窗口“用户”选项卡中进行管理。选中其中某个用户，点右键，就会在弹出的菜单中显示出可以进行的操作。 “重载信息”：用于重新载入该用户信息，相当于刷新。 “发送消息”：向当前所选用户发送文本消息，发出的消息将在用户的ＦＴＰ客户端软件中的状态窗口中出现。 “广播”：向当前所有活动用户发送文本消息。 “停止传送”：如果用户当前正在上传或下载文件，则可以中止此上传或下载操作，但不将该用户踢除服务器。 “踢除用户”：不管用户是否在上传或下载文件，将该用户踢除本服务器。 “监视用户”：对该用户所有操作进行实时监视，但不对该用户执行其它任何管理命令。选中后，会在“域日志”选项卡旁多出一个以该用户账户命名的选项卡，里面实时显示该用户的所有操作信息。要关闭监视，右击选项卡，选“关闭监视”即可。 “域日志”选项卡用来实时记录每个登录到本服务器的用户使用的账户名、登录时间、ＩＰ地址和退出服务器时间，便于站长了解本服务器登录用户的基本情况。默认情况下，该日志是实时更新的，但如果将旁边的“冻结”选中，就会停止更新。 提示：监视一个用户将占用服务器较大的资源，如果活动用户数比较多，请谨慎使用此功能。 ８．编辑ＩＰ访问规则 对于某些扰乱服务器秩序但又不方便删除其账户的用户，可以利用“编辑ＩＰ访问规则”允许或阻止特定的ＩＰ访问。Ｓｅｒｖ－Ｕ对用户ＩＰ访问规则的设置相当灵活，不仅可以设置允许访问本服务器的用户ＩＰ，也可以设置拒绝访问的用户ＩＰ；不仅可对每个账户进行单独编辑，也可对整个服务器所有账户进行统一编辑，还支持“”和“？”通配符。 １）拒绝访问 对于捣蛋的用户，如果不方便删除其账户，可以从“域日志”中查找到该用户连接的ＩＰ。在“规则”文本框中，点击“添加”，Ｓｅｒｖ－Ｕ就会将此规则添加到下方的“ＩＰ访问规则”列表框中。这对于那些拥有固定ＩＰ的用户相当有效。但如果该用户是拨号上网用户，只要断线后重新拨号，就会获得一个新ＩＰ，显然，此ＩＰ访问规则对于该用户来说已经失效。要解决此问题，就要用到通配符和“－”符号。假设我们要屏蔽的用户ＩＰ是１９２．１６８．Ｘ．Ｘ，可以在“规则”中输入１９２．１６８．．，也可以输入１９２．１６８．﹖．﹖－１９２．１６８．﹖﹖﹖．﹖﹖﹖或者１９２．１６８．０．０－１９２．１６８．２５５．２５５，效果一样。合理使用这些符号，还可以有效防止黑客攻击。 ２）允许访问 如果想将自己的ＦＴＰ站点仅供几个特定的用户使用，可以选中“允许访问”，在“规则”中输入特定用户的ＩＰ，再点“添加”。同样，如果特定用户的ＩＰ是动态ＩＰ，可以使用通配符和“－”符号进行设置。 其实作为站长，更多的时候需要将两种规则灵活混用，比如从拒绝访问的ＩＰ中设置某个ＩＰ为允许访问，抑或相反。需要提醒的是：对于某些局域网用户，比如网吧，如果将其ＩＰ设置为拒绝访问，则整个局域网都将会被服务器屏蔽掉。 ９．服务器带宽等资源管理 对于服务器来说，最重要的就是如何保证服务器带宽等系统资源及其性能不被浪费。为此，还需要进行一些设置，进入“本地服务器→设置→常规”选项卡。 “最大速度”：即可以使用的最大带宽（ＫＢ／秒），根据服务器总带宽资源填入合适的数值。如果不填数值，Ｓｅｒｖ－Ｕ将使用所有可用的带宽，这样当连接的用户达到一定数量时，会导致服务器上其它的网络应用不可用。以５１２Ｋｂｐｓ　ＡＤＳＬ为例，最好设置为５０ＫＢ／秒或以下。 “最大用户数”：设置在同一时间内允许连接到本服务器的最大用户数。由于每个连接到服务器的用户即使不上传、下载任何文件，也会占用一定带宽，因而最好进行设置，否则系统不会控制登录用户数，直至为此耗尽所有资源。 “删除部分已上传的文件”：删除不完整的上传文件。如果选择此项，系统会自动删除没有完全上载的文件，以最大可能地节省服务器硬盘空间。是否选择，要视服务器用户平时上传的文件大小决定。 “禁用反超时调度”：很多ＦＴＰ服务器为了防止用户长时间不操作却占用带宽及连接数而做了超时设置，当用户连接超过一定时间但未做任何操作，就会被服务器自动踢除。针对这点，一些ＦＴＰ客户端程序会自动向服务器端发送一些命令，以保证不被踢除。如果选择此项，服务器将采用一种独特的计时方式以防止ＦＴＰ客户端程序的这些反超时设置。建议选择。 “拦截连接超过 &#215;次于&#215; 秒&#215;分钟”：用来设置如果一个用户在&#215;秒内持续连接了&#215;次，那么屏蔽他的ＩＰ地址&#215;分钟，可以有效防止用户使用如网络蚂蚁等高速多线程下载软件连接服务器。 以上的设置对于“域”下所有服务器都有效。但是这些设置对于具体的某个ＦＴＰ服务器或某个账户来说过于粗浅，不利于细致地管理。不过不要紧，Ｓｅｒｖ－Ｕ针对每个服务器下的每个账户都提供了细化的设置功能。可进入该账户的“常规”选项卡： “只允许Ｘ从相同的ＩＰ登录”：很多用户在下载两个或两个以上文件时，为了节省下载等待时间，往往会同时打开两个以上的ＦＴＰ客户端软件登录。对于服务器来说，每个登录进程实际上就是一个用户，这样不仅占用了系统带宽，而且挤占了其他用户的登录权。这就需要选中此选项来防止此种情况。选中后，服务器就只允许某个ＩＰ同时最多有Ｘ个连接。 “最大上传速度和最大下载速度（ＫＢ／秒）”：用来设置该账户用户最大的上传／下载速度。对于特定账户，可以设置得比一般账户高些，以体现特权。 “空闲超时和任务超时（秒）”：“空闲超时”用来设置当用户空闲超过一定时间时就会被服务器自动踢除以免占用资源，“任务超时”设置当用户与服务器进行每个任务时，超出一定时间就会被系统自动踢除。 “最大用户数量”：设置在同一时间内用此账户登录服务器的最大用户数。 完成这些设置后，实际上你已经拥有一台处于准专业管理水平下的准专业ＦＴＰ服务器了。之所以还只是准专业管理水平，是因为你还没有实现当今最时尚最炫的远程管理功能。 １０．实现远程ＦＴＰ服务器管理 有没有想过在家中架设ＦＴＰ服务器，在办公室也可以像坐在家中一样对服务器进行各种设置和管理呢？Ｓｅｒｖ－Ｕ就提供了这种远程管理功能。为方便说明，先假设我们在家中用Ｓｅｒｖ－Ｕ架设了一个名为“ＭｙＦｔｐ”的ＦＴＰ服务器，地址是ｆｔｐ／／２１８．１．１．１，端口是２１，现在要在办公室用用户名和密码均为ｄｙｓ的账户进行远程管理。 １）先创建一个拥有远程管理权限的账户 新建一个用户，用户名和密码均设为ｄｙｓ。创建后，进入ｄｙｓ账户的“账号”选项卡，找到“权限”下拉列表框。这里除了一般用户的“没有权限”外，有四个远程权限可供选择： “组管理员”：可以进行远程管理，但只能对本组用户进行管理，不能对服务器进行管理。 “域管理员”：可以进行远程管理，但只能对本域进行管理，不能添加新域。 “系统管理员”：可以进行远程管理且具有全部权限。 “只读管理员”：主要用来进行远程诊断，可以看到全部的服务器设置但不能够进行修改。 这里，我们选择“系统管理员”，然后保存。 ２）在办公室机器上安装并设置好Ｓｅｒｖ－Ｕ 安装好后，架设服务器向导可以随意填。选中左边窗口中的“Ｓｅｒｖ－Ｕ”服务器，右击，选“新建服务器”。在弹出的向导窗口中，“ＩＰ地址”填入要被管理的服务器ＩＰ，这里填入２１８．１．１．１，“端口号”填入被管理服务器的端口，这里填２１。“ＦＴＰ服务器名称”可以随意，这里输入“远程管理ＭｙＦｔｐ”，“用户名称”和“密码”中输入被管理服务器上已经设置好的具有远程管理权限的账户名和密码。 ３）与远程ＦＴＰ服务器建立连接并进行管理 双击“远程管理ＭｙＦｔｐ”与家中的服务器建立连接。连接上后，此时你就可以像在家里一样对服务器进行各种设置和管理了，是不是很方便。]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>不错的服务器变慢的两种非常规解决办法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15732</link><subject>对于网站来说，流量是追求，但是对于站长来说，服务器速度才是根本。没有一个站长会容忍自己的服务器变慢，同样，我作为服务器维护人员，当服务器变慢的时候，就会非常的着急。    从我最近两次解决服务器变慢的问题来看，有时候很难想到服务器变慢会因为这些原因。下面给大家介绍一下，希望某一天你服务器变慢的时候能够想到这个思路！   服务器变慢非常规解决方法一    场景：    在网通机房托管了一台服务器，百M独享。花了很多钱，当然是为了创造更高的价值，这个服务器主要是用来做视频点播。但是从托管之日起，从未感受到100M独享到底速度有多快，后来经过检测，发现还没有我们公司50M光纤速度快。于是写了一份速度测试报告，递交到网通，希望能够非常严肃的来处理这个问题。    机房人员测试以后，也非常的无奈，网线插到其他服务器上，速度就能够达到很高，在局域网下载东西平均10M。但是在我的服务器上下载同样的文件，平均速度才6M，换了网卡依然如此。这样得出的结论是，问题出在我的服务器上。    问题出在自己的服务器上，先不说提交的那份测试报告，自己是多么的无知，现在考虑的是该怎么解决速度问题？难道两个网卡都坏掉了？在无奈的情况下，就开始在系统中点这点那。突然发现一个地方非常值得一试。那就是网卡的连接速度。我们现在的网卡都是10M/100M自适应网卡。一般不会去人为调整网卡的连接速度。但是在这种无奈的情况下，只能一一测试。选择了100M的全双工模式。重新启动服务器以后，再测试速度，下载局域网文件已经回复正常，在其他地方点播视频也明显感觉速度提高了不少。如图所示：（注：两个图片不是取自一台服务器的网卡属性页，只是为了说明问题）    服务器变慢非常规解决方法二   我公司的另一台服务器不知道从什么时候开始变的特别的慢，咨询机房那边，人家说很正常，可能是我们程序的问题。于是就开始仔细研究每一个程序，研究每一个网站所占用的内存。但是研究了很久，优化了很多，效果还是那样，依然慢的无法忍受。    这个时候，我一直使用PING 命令来检测服务器的速度如何，自从服务器慢了以后，PING返回的数据包总有丢失的现象。严重的情况平均10次就有1次丢包，仔细分析丢包的现象应当不是程序的问题，只能是线路的问题，在其他地方PING我们的服务器依然是丢包严重，这就排除了是我们公司网路的问题。再次想到了是不是网卡工作时间太久，老化了，于是要求机房人员重新换一下网卡。    结果可笑的是，机房人员告诉我，经过他们的测试，发现是网线的问题，重新换了一根网线，速度又恢复正常。也没有了丢包现象。    可能在你服务器没有遇到问题的时候，你会感觉上面的两种方法很可笑，但是服务器是24小时运行的，不可能不出现硬件老化等其他问题，我只希望能够将我自己的解决方法成为你日后处理服务器的一种思路。</subject><description><![CDATA[对于网站来说，流量是追求，但是对于站长来说，服务器速度才是根本。没有一个站长会容忍自己的服务器变慢，同样，我作为服务器维护人员，当服务器变慢的时候，就会非常的着急。    从我最近两次解决服务器变慢的问题来看，有时候很难想到服务器变慢会因为这些原因。下面给大家介绍一下，希望某一天你服务器变慢的时候能够想到这个思路！   服务器变慢非常规解决方法一    场景：    在网通机房托管了一台服务器，百M独享。花了很多钱，当然是为了创造更高的价值，这个服务器主要是用来做视频点播。但是从托管之日起，从未感受到100M独享到底速度有多快，后来经过检测，发现还没有我们公司50M光纤速度快。于是写了一份速度测试报告，递交到网通，希望能够非常严肃的来处理这个问题。    机房人员测试以后，也非常的无奈，网线插到其他服务器上，速度就能够达到很高，在局域网下载东西平均10M。但是在我的服务器上下载同样的文件，平均速度才6M，换了网卡依然如此。这样得出的结论是，问题出在我的服务器上。    问题出在自己的服务器上，先不说提交的那份测试报告，自己是多么的无知，现在考虑的是该怎么解决速度问题？难道两个网卡都坏掉了？在无奈的情况下，就开始在系统中点这点那。突然发现一个地方非常值得一试。那就是网卡的连接速度。我们现在的网卡都是10M/100M自适应网卡。一般不会去人为调整网卡的连接速度。但是在这种无奈的情况下，只能一一测试。选择了100M的全双工模式。重新启动服务器以后，再测试速度，下载局域网文件已经回复正常，在其他地方点播视频也明显感觉速度提高了不少。如图所示：（注：两个图片不是取自一台服务器的网卡属性页，只是为了说明问题）    服务器变慢非常规解决方法二   我公司的另一台服务器不知道从什么时候开始变的特别的慢，咨询机房那边，人家说很正常，可能是我们程序的问题。于是就开始仔细研究每一个程序，研究每一个网站所占用的内存。但是研究了很久，优化了很多，效果还是那样，依然慢的无法忍受。    这个时候，我一直使用PING 命令来检测服务器的速度如何，自从服务器慢了以后，PING返回的数据包总有丢失的现象。严重的情况平均10次就有1次丢包，仔细分析丢包的现象应当不是程序的问题，只能是线路的问题，在其他地方PING我们的服务器依然是丢包严重，这就排除了是我们公司网路的问题。再次想到了是不是网卡工作时间太久，老化了，于是要求机房人员重新换一下网卡。    结果可笑的是，机房人员告诉我，经过他们的测试，发现是网线的问题，重新换了一根网线，速度又恢复正常。也没有了丢包现象。    可能在你服务器没有遇到问题的时候，你会感觉上面的两种方法很可笑，但是服务器是24小时运行的，不可能不出现硬件老化等其他问题，我只希望能够将我自己的解决方法成为你日后处理服务器的一种思路。]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>花生壳与轻轻松松架设邮件服务器图文教程</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15737</link><subject>邻居家的小蔡（小菜？！）MM家里刚装了宽带ADSL包月上网，就立刻飞奔过来拉我到她家，要我给她一个Gmail电子邮箱。说起电子邮箱，相信不少朋友都会有不下两三个吧？对于我们个人用户而言，一般情况我们只能选择像163或者搜狐之类的免费邮箱。于是我问小蔡：“你想不想用自己的计算机来架设一个邮件服务器呢？当别人问起你的电子邮件地址的时候，你回答出一个以你的名字而命名的电子邮箱，酷毙了！”。小蔡听了，眨巴眨巴着眼睛，看着我直点头。哎，可别以为只有电脑高手或者公司企业才能架设邮件服务器，事实上，咱小菜鸟也一样能飞出一片天空来，架设邮件服务器可是难不到我们di。嘿，说了那么多，估计大家都不耐烦了吧？别急，待我喝口水，用远程桌面连接到家里的电脑再慢慢道来。（小蔡：“……”）。一．下载安装WinMail1）首先有请我们的主角WinMail登场，WinMail全称是“Winmai Server”，是一功能强大，操作简单的邮件服务器软件。我们可以到http://www.magicwinmail.com/download.htm下载到WinMail的最新版本。未注册版本可以自由使用30天, 支持20个邮箱, 域名个数不限, 没有其它功能限制。（听到此处小蔡不禁掩手作哭泣状：“呜呜，怎么好东西都要给大洋？不理啦，人家没钱了。”见此况，偶心里不禁纳闷：“我记得上星期见你买了件400大元的外套，还直喊便宜的呀！”）2）下载后，我们可以直接运行安装文件进行安装，WinMail的安装过程中和一般的软件类似，不过要注意，不要使用中文作为安装目录，否则可能会导致程序异常。下面只说明一些要注意的步骤，如安装组件、运行方式以及设置管理员的登陆密码等。WinMail主要的组件有服务器核心和管理工具两部份。服务器核心对主要是完成 SMTP, POP3, ADMIN, HTTP 等服务功能。而管理工具主要是负责设置邮件系统，如设置系统参数、管理用户、管理域等等，如下图。（小蔡：“听起来好像很复杂哦，看来偶又要用一个不眠之夜来学习了。T_T”）（。）3）服务器核心运行方式主要有两种：1）作为系统服务运行和单独程序运行。以系统服务运行。2）以单独程序运行适用于所有的Win32操作系统。在安装过程中，程序如果到检测到配置文件已经存在，会让您选择是否覆盖已有的配置文件。注意如果在软件升级的时候要选择好哦，不然到时候可别找我（找我也没钱赔你^_^），如下图。在上一步中，如果您选择覆盖已有的配置文件或第一次安装，安装程序还会让您输入系统管理员密码和系统管理员邮箱的密码，当然，以后是可以修改的，如下图。 4）在安装完成后，管理员必须对系统进行一些初始化设置，系统才能正常运行。服务器在启动时如果发现还没有设置域名会自动运行快速设置向导，我们可以用它来简单快速的设置邮件服务器。这里我们建立一个oray@cicp.net的电子邮箱来为下文做示例，如下图。 这时候，小蔡纳闷道：“可我听我同学小黑说什么ADSL每次拨号上网后，IP地址都是不同的，那别人发邮件给我的时候，是如何解析cicp.net这个域名呢？”“嗯，不错嘛，这个问题问得好！”，我拍了拍小蔡的肩膀，故作深沉地说道（心里却为能吃到小蔡的豆腐而偷笑）。其实这个问题我们可以通过“花生壳”这个软件来解决这个问题。 二．下载花生壳，注册域名。 1）到http://www.oray.net下载安装花生壳的客户端。然后运行花生壳软件，点击“注册Oray护照”，根据弹出注册护照窗口提示进行注册。注册Oray护照完成后，使用所注册的护照名称和密码填入花生壳软件中进行登陆。  2)右击“免费域名”，来注册一个免费域名。这样以后不管上网后的IP地址怎么变化，只要记住该域名就可以连接相对应的IP地址了，方便极了。 3) 根据提示激活上一步所申请的免费域名花生壳动态DNS服务。当激活了域名以后时候，花生壳软件已经在线了。我们所申请的免费域名已经绑定到当前的公网IP地址，互联网可通过所申请的域名直接访问到当前的公网IP了。不过，在这里我们使用收费的顶级域名cicp.net作示范，因为顶级域名比起免费域名好记多了，而且价钱也不贵（比起使用收费邮箱划算得多）。如下图。 4 ）最后我们还需要为顶级域名添加一个MX记录。打开网页到花生壳的主页http://www.oray.net，然后用花生壳护照的用户名和密码登陆控制台。点击“域名管理”后，右边会列出所有该护照所注册的域名。然后我们点击右边的“cicp.net”域名，会出现“添加域名记录”按钮。直接点击后，我们可以看到该域名下面已经多了一个“cicp.net”的子域名，点击子域名里面的“MX”，会出现一个窗口。因为我们的计算机在公网中没有固定的IP地址，所以在“邮件服务器”中我们输入“cicp.net”，“优先级”输入“10”后确定便可。如下图所示。这时候小蔡又问道：“那什么是MX记录呢？”“MX记录也就是邮件交换记录，是域名在DNS服务器上的一个记录，用来告诉DNS服务器，在该域名中是哪台计算机在负责处理邮件”，我再一次“语重心长”地拍拍小蔡的肩膀说道。三．使用管理工具设置 1）OK，现在域名方面也设置好了。在正式测试收发邮件之前，我们要先设置一下邮件服务器。启动桌面上的客户端管理工具，用户可以使用用户名(admin)和在安装时设定的密码进行登陆。2）管理工具登录成功后，使用“系统设置”－&gt;“系统服务”可以查看系统的 SMTP、POP3、IMAP等服务是否正常运行。绿色的图标表示服务成功运行。红色的图标表示服务停止。如下图。如果发现 SMTP、POP3、ADMIN、HTTP、IMAP或LDAP 等服务没有起动成功，请使用“系统日志”－&gt;“SYSTEM”查看系统的启动信息。如果出现启动不成功，一般情况都是端口被占用无法启动，关闭掉占用了端口的程序或者更换端口再重新启动相关的服务便可。例如：在Windows 2000 缺省安装时会安装IIS的SMTP服务，从而导致邮件系统SMTP服务运行不起来。我们把IIS的SMTP服务停止了，邮件系统SMTP服务便可恢复正常。3）接下来我们设置邮件域，打开“域名设置”－&gt;“域名管理”。在这里可以添加新的域名或者对已经存在的域进行编辑，如下图。最后，我们可以使用“用户和组”－&gt;“用户管理”，来添加或删除邮箱。四．收发信测试 以上各项均设置完成后，我们便可以以Web方式来收发邮件了。（小蔡：“哎呀，不知道为什么我有点心跳紧张的感觉。”偶听了，不禁心里美滋滋的想：“估计是因为我的关系吧，呵呵”。）因为WinMail默认使用6080来做Web端口号，所以我们直接打开IE，输入http://IP地址:6080，就可以访问Web邮箱了，如下图。因为Web方式的操作和163等免费邮箱是一模一样的，这里我们就不多说了。另外，这里我们注意到在网页右下角处可以看到本机的IP地址，这个在下面的文章我们会用到。除了可以使用传统的Web方式收发邮件外，我们还可以使用常用的邮件客户端软件（如 Outlook Express, Outlook, FoxMail） 来测试。以 Outlook Express 为例，我们来说明如何设置邮件客户端软件。 1）打开Outlook Express，点击菜单“工具”中的“帐号”， 弹出如下图所示。在弹出的“Internet帐号”对话框中，单击“添加”按钮选择“邮件”，如下图（嘿嘿，我是用英文版的Windows，）。2）进入到“Internet连接向导”填入用户的名字，点击下一步。然后填写您在邮件系统的增加的用户的电子邮件地址到“电子邮件地址”里。3）接收邮件服务器选为“POP3”，然后在POP和SMTP服务器里面输入本机的IP地址。至于如何知道IP地址，文章上面已经提到过。 4）最后输入您的邮件系统中的用户的帐号名和密码，点击下一步，便可完成。 5）设置完成后，我们还需要修改帐号属性。我们可以点击菜单中的“工具”-&gt;“帐号”，选择好想要设定的帐号后，按“属性”。 5）如果邮件系统的SMTP服务激活了“发送认证功能”，则必须选中“服务器”选项卡里面的“外发邮件服务器”中的“我的服务器要求身份验证”选项。然后选择 “使用与接收件服务器相同的设置”确定便可。 6）最后，我们在Outlook Express里面写一封标题为“WinMail Test !”的邮件发送到126的邮箱，然后再从126回复一封标题为“126.com Test Mail”的邮件给服务器，来测试服务器的运行是否正常。如下图。好了，到此为止，我们的邮件服务器已经架设成功！当然，更多的高级设置要留待大家慢慢研究了。回头一望，发现小蔡正在用无比钦佩的眼神望着我呢。没事，俺已经见惯这种场面，于是用手拨了拨头发做了个潇洒的动作。可过了一分钟后，哎，怎么她还在看我呢？怪不好意思的。待到我再认真地望了一下，才发现，原来她走神了……$@#$%</subject><description><![CDATA[邻居家的小蔡（小菜？！）MM家里刚装了宽带ADSL包月上网，就立刻飞奔过来拉我到她家，要我给她一个Gmail电子邮箱。说起电子邮箱，相信不少朋友都会有不下两三个吧？对于我们个人用户而言，一般情况我们只能选择像163或者搜狐之类的免费邮箱。于是我问小蔡：“你想不想用自己的计算机来架设一个邮件服务器呢？当别人问起你的电子邮件地址的时候，你回答出一个以你的名字而命名的电子邮箱，酷毙了！”。小蔡听了，眨巴眨巴着眼睛，看着我直点头。哎，可别以为只有电脑高手或者公司企业才能架设邮件服务器，事实上，咱小菜鸟也一样能飞出一片天空来，架设邮件服务器可是难不到我们di。嘿，说了那么多，估计大家都不耐烦了吧？别急，待我喝口水，用远程桌面连接到家里的电脑再慢慢道来。（小蔡：“……”）。一．下载安装WinMail1）首先有请我们的主角WinMail登场，WinMail全称是“Winmai Server”，是一功能强大，操作简单的邮件服务器软件。我们可以到http://www.magicwinmail.com/download.htm下载到WinMail的最新版本。未注册版本可以自由使用30天, 支持20个邮箱, 域名个数不限, 没有其它功能限制。（听到此处小蔡不禁掩手作哭泣状：“呜呜，怎么好东西都要给大洋？不理啦，人家没钱了。”见此况，偶心里不禁纳闷：“我记得上星期见你买了件400大元的外套，还直喊便宜的呀！”）2）下载后，我们可以直接运行安装文件进行安装，WinMail的安装过程中和一般的软件类似，不过要注意，不要使用中文作为安装目录，否则可能会导致程序异常。下面只说明一些要注意的步骤，如安装组件、运行方式以及设置管理员的登陆密码等。WinMail主要的组件有服务器核心和管理工具两部份。服务器核心对主要是完成 SMTP, POP3, ADMIN, HTTP 等服务功能。而管理工具主要是负责设置邮件系统，如设置系统参数、管理用户、管理域等等，如下图。（小蔡：“听起来好像很复杂哦，看来偶又要用一个不眠之夜来学习了。T_T”）（。）3）服务器核心运行方式主要有两种：1）作为系统服务运行和单独程序运行。以系统服务运行。2）以单独程序运行适用于所有的Win32操作系统。在安装过程中，程序如果到检测到配置文件已经存在，会让您选择是否覆盖已有的配置文件。注意如果在软件升级的时候要选择好哦，不然到时候可别找我（找我也没钱赔你^_^），如下图。在上一步中，如果您选择覆盖已有的配置文件或第一次安装，安装程序还会让您输入系统管理员密码和系统管理员邮箱的密码，当然，以后是可以修改的，如下图。 4）在安装完成后，管理员必须对系统进行一些初始化设置，系统才能正常运行。服务器在启动时如果发现还没有设置域名会自动运行快速设置向导，我们可以用它来简单快速的设置邮件服务器。这里我们建立一个oray@cicp.net的电子邮箱来为下文做示例，如下图。 这时候，小蔡纳闷道：“可我听我同学小黑说什么ADSL每次拨号上网后，IP地址都是不同的，那别人发邮件给我的时候，是如何解析cicp.net这个域名呢？”“嗯，不错嘛，这个问题问得好！”，我拍了拍小蔡的肩膀，故作深沉地说道（心里却为能吃到小蔡的豆腐而偷笑）。其实这个问题我们可以通过“花生壳”这个软件来解决这个问题。 二．下载花生壳，注册域名。 1）到http://www.oray.net下载安装花生壳的客户端。然后运行花生壳软件，点击“注册Oray护照”，根据弹出注册护照窗口提示进行注册。注册Oray护照完成后，使用所注册的护照名称和密码填入花生壳软件中进行登陆。  2)右击“免费域名”，来注册一个免费域名。这样以后不管上网后的IP地址怎么变化，只要记住该域名就可以连接相对应的IP地址了，方便极了。 3) 根据提示激活上一步所申请的免费域名花生壳动态DNS服务。当激活了域名以后时候，花生壳软件已经在线了。我们所申请的免费域名已经绑定到当前的公网IP地址，互联网可通过所申请的域名直接访问到当前的公网IP了。不过，在这里我们使用收费的顶级域名cicp.net作示范，因为顶级域名比起免费域名好记多了，而且价钱也不贵（比起使用收费邮箱划算得多）。如下图。 4 ）最后我们还需要为顶级域名添加一个MX记录。打开网页到花生壳的主页http://www.oray.net，然后用花生壳护照的用户名和密码登陆控制台。点击“域名管理”后，右边会列出所有该护照所注册的域名。然后我们点击右边的“cicp.net”域名，会出现“添加域名记录”按钮。直接点击后，我们可以看到该域名下面已经多了一个“cicp.net”的子域名，点击子域名里面的“MX”，会出现一个窗口。因为我们的计算机在公网中没有固定的IP地址，所以在“邮件服务器”中我们输入“cicp.net”，“优先级”输入“10”后确定便可。如下图所示。这时候小蔡又问道：“那什么是MX记录呢？”“MX记录也就是邮件交换记录，是域名在DNS服务器上的一个记录，用来告诉DNS服务器，在该域名中是哪台计算机在负责处理邮件”，我再一次“语重心长”地拍拍小蔡的肩膀说道。三．使用管理工具设置 1）OK，现在域名方面也设置好了。在正式测试收发邮件之前，我们要先设置一下邮件服务器。启动桌面上的客户端管理工具，用户可以使用用户名(admin)和在安装时设定的密码进行登陆。2）管理工具登录成功后，使用“系统设置”－&gt;“系统服务”可以查看系统的 SMTP、POP3、IMAP等服务是否正常运行。绿色的图标表示服务成功运行。红色的图标表示服务停止。如下图。如果发现 SMTP、POP3、ADMIN、HTTP、IMAP或LDAP 等服务没有起动成功，请使用“系统日志”－&gt;“SYSTEM”查看系统的启动信息。如果出现启动不成功，一般情况都是端口被占用无法启动，关闭掉占用了端口的程序或者更换端口再重新启动相关的服务便可。例如：在Windows 2000 缺省安装时会安装IIS的SMTP服务，从而导致邮件系统SMTP服务运行不起来。我们把IIS的SMTP服务停止了，邮件系统SMTP服务便可恢复正常。3）接下来我们设置邮件域，打开“域名设置”－&gt;“域名管理”。在这里可以添加新的域名或者对已经存在的域进行编辑，如下图。最后，我们可以使用“用户和组”－&gt;“用户管理”，来添加或删除邮箱。四．收发信测试 以上各项均设置完成后，我们便可以以Web方式来收发邮件了。（小蔡：“哎呀，不知道为什么我有点心跳紧张的感觉。”偶听了，不禁心里美滋滋的想：“估计是因为我的关系吧，呵呵”。）因为WinMail默认使用6080来做Web端口号，所以我们直接打开IE，输入http://IP地址:6080，就可以访问Web邮箱了，如下图。因为Web方式的操作和163等免费邮箱是一模一样的，这里我们就不多说了。另外，这里我们注意到在网页右下角处可以看到本机的IP地址，这个在下面的文章我们会用到。除了可以使用传统的Web方式收发邮件外，我们还可以使用常用的邮件客户端软件（如 Outlook Express, Outlook, FoxMail） 来测试。以 Outlook Express 为例，我们来说明如何设置邮件客户端软件。 1）打开Outlook Express，点击菜单“工具”中的“帐号”， 弹出如下图所示。在弹出的“Internet帐号”对话框中，单击“添加”按钮选择“邮件”，如下图（嘿嘿，我是用英文版的Windows，）。2）进入到“Internet连接向导”填入用户的名字，点击下一步。然后填写您在邮件系统的增加的用户的电子邮件地址到“电子邮件地址”里。3）接收邮件服务器选为“POP3”，然后在POP和SMTP服务器里面输入本机的IP地址。至于如何知道IP地址，文章上面已经提到过。 4）最后输入您的邮件系统中的用户的帐号名和密码，点击下一步，便可完成。 5）设置完成后，我们还需要修改帐号属性。我们可以点击菜单中的“工具”-&gt;“帐号”，选择好想要设定的帐号后，按“属性”。 5）如果邮件系统的SMTP服务激活了“发送认证功能”，则必须选中“服务器”选项卡里面的“外发邮件服务器”中的“我的服务器要求身份验证”选项。然后选择 “使用与接收件服务器相同的设置”确定便可。 6）最后，我们在Outlook Express里面写一封标题为“WinMail Test !”的邮件发送到126的邮箱，然后再从126回复一封标题为“126.com Test Mail”的邮件给服务器，来测试服务器的运行是否正常。如下图。好了，到此为止，我们的邮件服务器已经架设成功！当然，更多的高级设置要留待大家慢慢研究了。回头一望，发现小蔡正在用无比钦佩的眼神望着我呢。没事，俺已经见惯这种场面，于是用手拨了拨头发做了个潇洒的动作。可过了一分钟后，哎，怎么她还在看我呢？怪不好意思的。待到我再认真地望了一下，才发现，原来她走神了……$@#$%]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>花生壳与Windows2003 建立WEB服务器的图文教程第1/2页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15739</link><subject>Windows 2003 Standard Edition、Windows 2003 Enterprise Edition、Windows XP Professional 、Windows 2000 Server、Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS 。在系统的安装过程中IIS是默认不安装的，在系统安装完毕后可以通过添加删除程序加装 IIS。IIS 是微软推出的架设 WEB、FTP、SMTP 服务器的一套整合系统组建，捆绑在上列NT核心的服务器系统中。本文针对通过Windows2003 IIS组件配合花生壳动态域名解析软件向互联网提供WEB服务。 第一步：安装组件在控制面板的添加/删除程序——Windows组件向导——应用程序服务器——选中“Asp.NET”，然后他就会自动把“Internet 信息服务(IIS)”的相关服务也装上。如下图：在选定需要安装的服务后安装向导会提示需要插入Windows 2003安装光盘，这时您插入安装盘按照提示进行安装，IIS中的WEB很快便自动安装完成。第二步：建立网络通讯部分，为所建立的WEB服务设置动态域名解析服务配置1.下载花生壳动态域名解析软件并安装。2.运行花生壳软件，点击“注册Oray护照”，根据弹出注册护照窗口提示进行注册。注册Oray护照完成后，使用所注册的护照名称和密码填入花生壳软件中进行登陆。3.申请一个免费域名作为互联网访问WEB服务的“网址”。4.根据提示激活上一步所申请的免费域名花生壳动态DNS服务</subject><description><![CDATA[Windows 2003 Standard Edition、Windows 2003 Enterprise Edition、Windows XP Professional 、Windows 2000 Server、Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS 。在系统的安装过程中IIS是默认不安装的，在系统安装完毕后可以通过添加删除程序加装 IIS。IIS 是微软推出的架设 WEB、FTP、SMTP 服务器的一套整合系统组建，捆绑在上列NT核心的服务器系统中。本文针对通过Windows2003 IIS组件配合花生壳动态域名解析软件向互联网提供WEB服务。 第一步：安装组件在控制面板的添加/删除程序——Windows组件向导——应用程序服务器——选中“Asp.NET”，然后他就会自动把“Internet 信息服务(IIS)”的相关服务也装上。如下图：在选定需要安装的服务后安装向导会提示需要插入Windows 2003安装光盘，这时您插入安装盘按照提示进行安装，IIS中的WEB很快便自动安装完成。第二步：建立网络通讯部分，为所建立的WEB服务设置动态域名解析服务配置1.下载花生壳动态域名解析软件并安装。2.运行花生壳软件，点击“注册Oray护照”，根据弹出注册护照窗口提示进行注册。注册Oray护照完成后，使用所注册的护照名称和密码填入花生壳软件中进行登陆。3.申请一个免费域名作为互联网访问WEB服务的“网址”。4.根据提示激活上一步所申请的免费域名花生壳动态DNS服务]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>关于3.5版本代理切换成用户的消费问题</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15749</link><subject>3.5版本起，允许代理有两个身份，一个是作为代理的身份，一个是作为用户的身份。3.5版本起代理可以在代理区用户管理中，输入代理名作用户名，切换到用户区进行消费，所有的消费都将扣除代理的成本价。不扣除作为用户身份的金额。如果此产品同时是独立模式的产品，将不会扣除任何费用。</subject><description><![CDATA[3.5版本起，允许代理有两个身份，一个是作为代理的身份，一个是作为用户的身份。3.5版本起代理可以在代理区用户管理中，输入代理名作用户名，切换到用户区进行消费，所有的消费都将扣除代理的成本价。不扣除作为用户身份的金额。如果此产品同时是独立模式的产品，将不会扣除任何费用。]]></description><PubDate>2008-12-15 23:44:11</PubDate><category>服务器问题</category></item><item><title>启用带宽限制功能的用户，请确认已安装QoS</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15757</link><subject>对每个虚拟主机带宽限制的功能，前提是在网卡的属性中看到已选中QoS，如果没有看到Qos的项，请点击安装，选取服务中的 &quot;Qos数据包计划任务&quot;，安装后重启IIS，带宽限制就生效了。</subject><description><![CDATA[对每个虚拟主机带宽限制的功能，前提是在网卡的属性中看到已选中QoS，如果没有看到Qos的项，请点击安装，选取服务中的 &quot;Qos数据包计划任务&quot;，安装后重启IIS，带宽限制就生效了。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>关于代理名下用户消费的问答</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15763</link><subject>问：现在假设有这个情况代理帐号为　 agent99　 这个代理下在用户是 user99 user99 这个帐号的余额为 0 user99 登陆到主站，能消费吗？ 答：没钱当然不能。有钱就可以。代理名下用户不管在那个网站登陆，扣费都按它的上级代理定价扣费。折扣自动返回给代理。 问：agent99 这个帐号 既是代理又是用户agent99 代理帐号里的余额为100 agent99用户帐号里的余额为0 现在 agent99 要登陆到主站进行 购买域名 agent99 作为用户登陆到主站进行消费，就不需要用户帐户有余额吗？ 答：不需要，只要代理身份有钱。这种消费只扣除代理的成本价。</subject><description><![CDATA[问：现在假设有这个情况代理帐号为　 agent99　 这个代理下在用户是 user99 user99 这个帐号的余额为 0 user99 登陆到主站，能消费吗？ 答：没钱当然不能。有钱就可以。代理名下用户不管在那个网站登陆，扣费都按它的上级代理定价扣费。折扣自动返回给代理。 问：agent99 这个帐号 既是代理又是用户agent99 代理帐号里的余额为100 agent99用户帐号里的余额为0 现在 agent99 要登陆到主站进行 购买域名 agent99 作为用户登陆到主站进行消费，就不需要用户帐户有余额吗？ 答：不需要，只要代理身份有钱。这种消费只扣除代理的成本价。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>加强php的安全之一</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15768</link><subject>修改php.ini配置文件，默认在c:\windows目录中Safe Mode php的safe_mode功能对很多函数进行了限制或禁用了，能在很大程度解决php的安全问题。在Safe Mode部分找到： safe_mode = Off 改为： safe_mode = On 这样就打开了safe_mode功能。象一些能执行系统命令的函数shell_exec()和``被禁止，其它的一些执行函数如：exec(), system(), passthru(), popen()将被限制只能执行safe_mode_exec_dir指定目录下的程序。disable_functions 如果你对一些函数的危害性不太清楚，而且也没有使用，索性把这些函数禁止了。找到下面这行： disable_functions = 在”=“后面加上要禁止的函数，多个函数用”,“隔开。 重启IIS后马上生效。</subject><description><![CDATA[修改php.ini配置文件，默认在c:\windows目录中Safe Mode php的safe_mode功能对很多函数进行了限制或禁用了，能在很大程度解决php的安全问题。在Safe Mode部分找到： safe_mode = Off 改为： safe_mode = On 这样就打开了safe_mode功能。象一些能执行系统命令的函数shell_exec()和``被禁止，其它的一些执行函数如：exec(), system(), passthru(), popen()将被限制只能执行safe_mode_exec_dir指定目录下的程序。disable_functions 如果你对一些函数的危害性不太清楚，而且也没有使用，索性把这些函数禁止了。找到下面这行： disable_functions = 在”=“后面加上要禁止的函数，多个函数用”,“隔开。 重启IIS后马上生效。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>为什么有些文件上传后无法管理</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15770</link><subject>对于IDE或SATA硬盘来说，几十G的数据，上百万的文件量，在频繁的文件读写操作中有时会出错,具体表明是，一些文件无法管理了，无论在FTP或在服务器的资源管理器中都无法管理，点击这些文件的属性，可以发现，文件的安全结构损坏了，如何解决这种情况呢？可以这样，运行扫描硬盘命令，在DOS中：CHKDSK D: /r(修复D盘)修复完成后，在服务器的资源管理器给这些不正常权限的文件加上权限，可以参考其他正常权限的文件。</subject><description><![CDATA[对于IDE或SATA硬盘来说，几十G的数据，上百万的文件量，在频繁的文件读写操作中有时会出错,具体表明是，一些文件无法管理了，无论在FTP或在服务器的资源管理器中都无法管理，点击这些文件的属性，可以发现，文件的安全结构损坏了，如何解决这种情况呢？可以这样，运行扫描硬盘命令，在DOS中：CHKDSK D: /r(修复D盘)修复完成后，在服务器的资源管理器给这些不正常权限的文件加上权限，可以参考其他正常权限的文件。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>关于代理上传图片到主控网站的说明</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15780</link><subject>从3.5b3起，允许代理/子代理上传图片,flash,htm到主控网站中，方便代理做更好的代理网站。服务器上的设置：建立C:\FreeHostAgentPhoto目录，注意，对于新安装的用户，这个目录会自动建立。这个目录的权限如下：administrators 全部权限system 全部权限freehostwebrunat 全部权限打开IIS，找到主控网站，建立一个虚拟目录。虚拟目录是agphoto，路径就是C:\FreeHostAgentPhoto，权限是读取权限，注意!!!!不能选任何其他权限。请进入系统参数，是否允许代理上传图片，选是，图片保存目录,设为 C:\FreeHostAgentPhoto提交后，代理进入代理区的模板管理，就可以进入图片上传管理中。</subject><description><![CDATA[从3.5b3起，允许代理/子代理上传图片,flash,htm到主控网站中，方便代理做更好的代理网站。服务器上的设置：建立C:\FreeHostAgentPhoto目录，注意，对于新安装的用户，这个目录会自动建立。这个目录的权限如下：administrators 全部权限system 全部权限freehostwebrunat 全部权限打开IIS，找到主控网站，建立一个虚拟目录。虚拟目录是agphoto，路径就是C:\FreeHostAgentPhoto，权限是读取权限，注意!!!!不能选任何其他权限。请进入系统参数，是否允许代理上传图片，选是，图片保存目录,设为 C:\FreeHostAgentPhoto提交后，代理进入代理区的模板管理，就可以进入图片上传管理中。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>将自己做好的数据库导入到服务器中</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15790</link><subject>要使用远程导出导入功能，请先在防火墙及ipsec中允许1433端口连接：请参考：http://7i24.com/support/freehost/110111607517.htm(将关闭1433端口的策略删除)http://7i24.com/support/freehost/105131505443.htm首先请在打开SQL 2000的企业管理器，然后根据数据库开通信息中的连接办法，连上远程服务器上的数据库：然后登录到远程数据库服务器：1.右击您准备导入数据的数据库，选择“所有任务”下的“导入数据”2.进入DTS导入/导出向导，点击“下一步”按钮继续3.选择数据源，输入数据源所在的数据库服务器IP、用户名、密码和要复制数据的源数据库，点击“下一步”按钮4.选择目的，输入目的数据库所在的数据库服务器名称、用户名、密码和要复制数据的目的数据库(这个信息在用户区，数据库管理中可以看到)，点击“下一步”按钮5.选择“在SQL Server数据库之间复制对象和数据”方式，点“下一步”继续6.取消安全措施选项7.设定调度方式，一般选“立即运行”就可以，然后点“下一步”继续8.点“完成”执行9.数据导入完成</subject><description><![CDATA[要使用远程导出导入功能，请先在防火墙及ipsec中允许1433端口连接：请参考：http://7i24.com/support/freehost/110111607517.htm(将关闭1433端口的策略删除)http://7i24.com/support/freehost/105131505443.htm首先请在打开SQL 2000的企业管理器，然后根据数据库开通信息中的连接办法，连上远程服务器上的数据库：然后登录到远程数据库服务器：1.右击您准备导入数据的数据库，选择“所有任务”下的“导入数据”2.进入DTS导入/导出向导，点击“下一步”按钮继续3.选择数据源，输入数据源所在的数据库服务器IP、用户名、密码和要复制数据的源数据库，点击“下一步”按钮4.选择目的，输入目的数据库所在的数据库服务器名称、用户名、密码和要复制数据的目的数据库(这个信息在用户区，数据库管理中可以看到)，点击“下一步”按钮5.选择“在SQL Server数据库之间复制对象和数据”方式，点“下一步”继续6.取消安全措施选项7.设定调度方式，一般选“立即运行”就可以，然后点“下一步”继续8.点“完成”执行9.数据导入完成]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>未能在 sysdatabases 中找到数据库 aa1xxxx 所对应的条目。没有找到具有该名称的条目</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15792</link><subject>请参考：http://7i24.com/support/freehost/sql2000/112311146582.htm检查sqldata目录位置是否正确，权限是否正确，最简单的解决办法是，直接使用默认的sql安装目录中的data目录。</subject><description><![CDATA[请参考：http://7i24.com/support/freehost/sql2000/112311146582.htm检查sqldata目录位置是否正确，权限是否正确，最简单的解决办法是，直接使用默认的sql安装目录中的data目录。]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>系统参数中选择本系统的DNS时，注册不成功，选择注册商的DNS才可以</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15798</link><subject>系统参数中的DNSDNS服务器1,2：必须是 test.abc.com这样的地址而且，这个地址必须是在注册商那儿，域名管理中“注册DNS服务器”中注册过的域名哦，明白。两个一样没有问题吧？ 有些注册商不允许一样的域名 那么用一台服务器可以吗？ 这个地址必须是在注册商那儿，“注册DNS服务器”中注册过的域名，如果他那儿能用同一个IP注册两个DNS服务器就一般都行</subject><description><![CDATA[系统参数中的DNSDNS服务器1,2：必须是 test.abc.com这样的地址而且，这个地址必须是在注册商那儿，域名管理中“注册DNS服务器”中注册过的域名哦，明白。两个一样没有问题吧？ 有些注册商不允许一样的域名 那么用一台服务器可以吗？ 这个地址必须是在注册商那儿，“注册DNS服务器”中注册过的域名，如果他那儿能用同一个IP注册两个DNS服务器就一般都行]]></description><PubDate>2008-12-15 23:44:41</PubDate><category>服务器问题</category></item><item><title>建议的分区办法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15811</link><subject>C: 15G-20G，安装操作系统，SQL 2000库，Mysql库其实无需担心SQL在这个盘的安全问题或使用空间问题，一般的库不会超过2G，不然服务器早就慢死了。D:所有可用的空闲空间E:15G 邮箱用F: 备份用户数据用，根据用户的数据大小而定。</subject><description><![CDATA[C: 15G-20G，安装操作系统，SQL 2000库，Mysql库其实无需担心SQL在这个盘的安全问题或使用空间问题，一般的库不会超过2G，不然服务器早就慢死了。D:所有可用的空闲空间E:15G 邮箱用F: 备份用户数据用，根据用户的数据大小而定。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>还原磁盘配额时，请先关闭“拒绝将磁盘空间给超过配额限制的用户”</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15816</link><subject>当你手工复制用户文件，或重装系统时，在使用重建用户功能时，请先登陆服务器,打开这个分区的属性，如d:\的属性，在配额中，先关闭“拒绝将磁盘空间给超过配额限制的用户”，在RBS配额工具运行完成后，再启用它。因为，如果用户的空间超出允许的大小，超出部分就不能记录在这个用户名下，造成记录不准确，先关闭它就不会有这个问题。</subject><description><![CDATA[当你手工复制用户文件，或重装系统时，在使用重建用户功能时，请先登陆服务器,打开这个分区的属性，如d:\的属性，在配额中，先关闭“拒绝将磁盘空间给超过配额限制的用户”，在RBS配额工具运行完成后，再启用它。因为，如果用户的空间超出允许的大小，超出部分就不能记录在这个用户名下，造成记录不准确，先关闭它就不会有这个问题。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>安装“window优化大师”会造成自检失败</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15818</link><subject>服务器上，不应该安装这类软件，这类优化软件，并不是为服务器设计，他们是为普通用户的个人电脑设计的。使用他们会造成不可知的各种问题。</subject><description><![CDATA[服务器上，不应该安装这类软件，这类优化软件，并不是为服务器设计，他们是为普通用户的个人电脑设计的。使用他们会造成不可知的各种问题。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>添加新的.shtml的影射</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15828</link><subject>可以在IIS中，为单独的主机增加.shtm及.shtml的影射执行文件是：C:\WINDOWS\system32\inetsrv\ssinc.dll动作是：GET,POST也可以为整台服务器的主机加上： 在管理区---虚拟主机服务器设置的ASP影射中加上： .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|.shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|然后，打开IIS，在允许的扩展中，选中&quot;在服务器端包含文件&quot;，并设置为允许。注意，shtml仍存在一些潜在的安全问题，默认情况下请关闭它。</subject><description><![CDATA[可以在IIS中，为单独的主机增加.shtm及.shtml的影射执行文件是：C:\WINDOWS\system32\inetsrv\ssinc.dll动作是：GET,POST也可以为整台服务器的主机加上： 在管理区---虚拟主机服务器设置的ASP影射中加上： .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|.shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|然后，打开IIS，在允许的扩展中，选中&quot;在服务器端包含文件&quot;，并设置为允许。注意，shtml仍存在一些潜在的安全问题，默认情况下请关闭它。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>如何知道自动任务模块是否运行？</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15838</link><subject>您可以在服务器上，管理工具，事件查看器---应用程序日志  如果能看到来自 &quot;FreeHostMainService&quot;的信息，内容是“完成”，就表明自动任务模块在正常运行中  如果没有看到任何这方面的信息，或看到红色的出错信息，请在  服务器上用IE试试能不能访问以下网址  http://127.0.0.1/autorun/do.asp  正常应该看到返回信息.  两小时后再查看应用程序日志，看有没有相关的信息。</subject><description><![CDATA[您可以在服务器上，管理工具，事件查看器---应用程序日志  如果能看到来自 &quot;FreeHostMainService&quot;的信息，内容是“完成”，就表明自动任务模块在正常运行中  如果没有看到任何这方面的信息，或看到红色的出错信息，请在  服务器上用IE试试能不能访问以下网址  http://127.0.0.1/autorun/do.asp  正常应该看到返回信息.  两小时后再查看应用程序日志，看有没有相关的信息。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>受控端与主控端升级的常见问题</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15840</link><subject>1.我要将受控端与主控端升级到最新版本，许可证是否要同时升级？  答：许可证是独立的，不需要更新，只要单独升级受控端或主控端软件就行了。  2.受控端的升级过程是怎么样的？  答：在服务器上，控制面板，添加删除中，删除旧版的受控端，注意，不是删除许可证。然后下载网上最新版的受控端，安装后就可以使用。安装成功后，请到平台管理区，虚拟主机服务器定义的地方，点自检，就可以看到版本信息。  3.受控端的升级后还需要点“自动设置受控端”重新设置权限吗？  答：不需要。  4.主控端的升级过程是怎么样的？  答：  A.请先备份旧的网站内容。  B.下载RAR文件包，解压缩到一个目录中，如桌面。  C.将新解压缩的目录中的update目录中的3.6.asp复制到原来的主控网站中的update目录。  D.打开IE，访问一下这个update中的3.6.asp，可以这样访问：  　http://主控域名/update/3.6.asp  E.然后复制其他的ASP文件。如果Global.asa文件中默认的SQL密码改过，更新后请修改成正确的密码。  5.主控端的ASP文件我修改过代码了，怎么办？  答：你可以只更新新的ASP文件，而无需全部复制，您可以在升级包中,找到&quot;星外文件提取工具.exe&quot;,可以提取任何时间后的文件.  6.主控端的升级后还需要点“自动设置主控端”重新设置吗？  答：不需要。</subject><description><![CDATA[1.我要将受控端与主控端升级到最新版本，许可证是否要同时升级？  答：许可证是独立的，不需要更新，只要单独升级受控端或主控端软件就行了。  2.受控端的升级过程是怎么样的？  答：在服务器上，控制面板，添加删除中，删除旧版的受控端，注意，不是删除许可证。然后下载网上最新版的受控端，安装后就可以使用。安装成功后，请到平台管理区，虚拟主机服务器定义的地方，点自检，就可以看到版本信息。  3.受控端的升级后还需要点“自动设置受控端”重新设置权限吗？  答：不需要。  4.主控端的升级过程是怎么样的？  答：  A.请先备份旧的网站内容。  B.下载RAR文件包，解压缩到一个目录中，如桌面。  C.将新解压缩的目录中的update目录中的3.6.asp复制到原来的主控网站中的update目录。  D.打开IE，访问一下这个update中的3.6.asp，可以这样访问：  　http://主控域名/update/3.6.asp  E.然后复制其他的ASP文件。如果Global.asa文件中默认的SQL密码改过，更新后请修改成正确的密码。  5.主控端的ASP文件我修改过代码了，怎么办？  答：你可以只更新新的ASP文件，而无需全部复制，您可以在升级包中,找到&quot;星外文件提取工具.exe&quot;,可以提取任何时间后的文件.  6.主控端的升级后还需要点“自动设置主控端”重新设置吗？  答：不需要。]]></description><PubDate>2008-12-15 23:45:33</PubDate><category>服务器问题</category></item><item><title>怎么才能让用户站直接.shtml文件</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15846</link><subject>1.安装shtml,在控制面板,添加删除中,选windows组件---应用程序服务器---详细信息---Internet信息服务---详细信息---万维网服务---详细信息----选中在服务端包含文件--------一路确定后,IIS中就会在允许的扩展中装了&quot;在服务端的包含文件&quot;  2.在平台中管理区,站点管理----虚拟主机,修改中,在ASP的影射后面,加上以下的影射:  .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|.shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|  这点可以参考:http://sys.7i24.com/support/freehost/spec/110101002433.htm  3.这样设置后,新开的支持ASP的虚拟主机就会支持shtml,旧的虚拟主机要重开才支持.</subject><description><![CDATA[1.安装shtml,在控制面板,添加删除中,选windows组件---应用程序服务器---详细信息---Internet信息服务---详细信息---万维网服务---详细信息----选中在服务端包含文件--------一路确定后,IIS中就会在允许的扩展中装了&quot;在服务端的包含文件&quot;  2.在平台中管理区,站点管理----虚拟主机,修改中,在ASP的影射后面,加上以下的影射:  .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|.shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST|  这点可以参考:http://sys.7i24.com/support/freehost/spec/110101002433.htm  3.这样设置后,新开的支持ASP的虚拟主机就会支持shtml,旧的虚拟主机要重开才支持.]]></description><PubDate>2008-12-15 23:45:34</PubDate><category>服务器问题</category></item><item><title>windows 2003配置IIS支持.shtml .shtm 的简单方法 图文教程</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15915</link><subject>今天帮朋友开一空间,他程序是shtml的,空间开好了,但是朋友说不支持,结果找了一下原因.其实windows 2003安装好IIS之后默认是支持.shtml的，只要在“WEB服务扩展”允许“在服务器前端的包含文件”即可，如下图：480) {this.resized=true; this.width=480;}&quot; border=0 resized=&quot;true&quot;&gt;</subject><description><![CDATA[今天帮朋友开一空间,他程序是shtml的,空间开好了,但是朋友说不支持,结果找了一下原因.其实windows 2003安装好IIS之后默认是支持.shtml的，只要在“WEB服务扩展”允许“在服务器前端的包含文件”即可，如下图：480) {this.resized=true; this.width=480;}&quot; border=0 resized=&quot;true&quot;&gt;]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>一般网站最容易发生的故障的解决方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15923</link><subject>1.出现提示网页无法显示,500错误的时候，又没有详细的提示信息 可以进行下面的操作显示详细的提示信息：IE－工具－internet选项－高级－友好的http错误信息提示，将这选项前面不打勾，则可以看到详细的提示信息了 以下是解决500错误的方法。请复制以下信息并保存为： 解决IIS6.0的(asp不能访问)请求的资源在使用中的办法.bat然后在服务器上执行一下，你的ASP就又可以正常运行了。echo offecho 文件说明：解决IIS6.0的: 请求的资源在使用中的最佳解决方法echo 联系  QQ：277214725 10599099echo 正在恢复IIS的500错误,请稍等......net stop iisadmin /yregsvr32 %windir%\system32\jscript.dllregsvr32 %windir%\system32\vbscript.dllnet start w3svcECHO.ECHO        恭喜你！500错误解决成功！ECHO.pauseexit 2.系统在安装的时候提示数据库连接错误 一是检查const文件的设置关于数据库的路径设置是否正确 二是检查服务器上面的数据库的路径和用户名、密码等是否正确 3.IIS不支持ASP解决办法： IIS的默认解析语言是否正确设定？将默认改为VBSCRIPT，进入IIS，右键单击默认Web站点，选择属性，在目录安全性选项卡的匿名访问和身份验证控制中，单击编辑，在身份验证方法属性页中，去掉匿名访问的选择试试. 4.FSO没有权限 FSO的权限问题，可以在后台测试是否能删除文件，解决FSO组件是否开启的方法如下： 首先在系统盘中查找scrrun.dll，如果存在这个文件，请跳到第三步，如果没有，请执行第二步。在安装文件目录i386中找到scrrun.dl_，用winrar解压缩，得scrrun.dll，然后复制到（你的系统盘）C:\windows\system32\目录中。 运行regsvr32 scrrun.dll即可。 如果想关闭FSO组件，请运行regsvr32/u scrrun.dll即可 关于服务器FSO权限设置的方法，给大家一个地址可以看看详细的操作：http://www.upsdn.net/html/2005-01/314.html 5.Microsoft JET Database Engine 错误 '80040e09' 不能更新。数据库或对象为只读 原因分析： 未打开数据库目录的读写权限 解决方法： （ 1 ）检查是否在 IIS 中对整个网站打开了 “ 写入 ” 权限，而不仅仅是数据库文件。 （ 2 ）检查是否在 WIN2000 的资源管理器中，将网站所在目录对 EveryOne 用户打开所有权限。具体方法是： 打开 “ 我的电脑 ”---- 找到网站所在文件夹 ---- 在其上点右键 ---- 选 “ 属性 ”----- 切换到 “ 安全性 ” 选项卡，在这里给 EveryOne 用户所有权限。 注意： 如果你的系统是 XP ，请先点 “ 工具 ”----“ 文件夹选项 ”----“ 查看 ”----- 去掉 “ 使用简单文件共享 ” 前的勾，确定后，文件夹 “ 属性 ” 对话框中才会有 “ 安全性 ” 这一个选项卡。 6.验证码不能显示 原因分析： 造成该问题的原因是 Service Pack 2 为了提高系统的稳定性，默认状态下是屏蔽了对 XBM，也即是 x-bitmap 格式的图片的显示，而这些验证码恰恰是 XBM 格式的，所以显示不出来了。 解决办法： 解决的方法其实也很简单，只需在系统注册表中添加键值 &quot;BlockXBM&quot;=dword:00000000 就可以了，具体操作如下： 1》打开系统注册表； 2》依次点开HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Security； 3》在屏幕右边空白处点击鼠标右键，选择新建一个名为“BlockXBM”为的 DWORD 键，其值为默认的0。 4》退出注册表编辑器。 如果操作系统是2003系统则看是否开启了父路径 7.windows 2003配置IIS支持.shtml 要使用 Shtml 的文件，则系统必须支持SSI，SSI必须是管理员通过Web 服务扩展启用的 windows 2003安装好IIS之后默认是支持.shtml的，只要在“WEB服务扩展”允许“在服务器前端的包含文件”即可8.如何去掉“处理 URL 时服务器出错。请与系统管理员联系。” 如果是本地服务器的话，请右键点IIS默认网站，选属性，在主目录里点配置，选调试。 选中向客户端发送详细的ASP错误消息。 然后再调试程序，此时就可以显示出正确的错误代码。如果你是租用的空间的话，请和你的空间商联系</subject><description><![CDATA[1.出现提示网页无法显示,500错误的时候，又没有详细的提示信息 可以进行下面的操作显示详细的提示信息：IE－工具－internet选项－高级－友好的http错误信息提示，将这选项前面不打勾，则可以看到详细的提示信息了 以下是解决500错误的方法。请复制以下信息并保存为： 解决IIS6.0的(asp不能访问)请求的资源在使用中的办法.bat然后在服务器上执行一下，你的ASP就又可以正常运行了。echo offecho 文件说明：解决IIS6.0的: 请求的资源在使用中的最佳解决方法echo 联系  QQ：277214725 10599099echo 正在恢复IIS的500错误,请稍等......net stop iisadmin /yregsvr32 %windir%\system32\jscript.dllregsvr32 %windir%\system32\vbscript.dllnet start w3svcECHO.ECHO        恭喜你！500错误解决成功！ECHO.pauseexit 2.系统在安装的时候提示数据库连接错误 一是检查const文件的设置关于数据库的路径设置是否正确 二是检查服务器上面的数据库的路径和用户名、密码等是否正确 3.IIS不支持ASP解决办法： IIS的默认解析语言是否正确设定？将默认改为VBSCRIPT，进入IIS，右键单击默认Web站点，选择属性，在目录安全性选项卡的匿名访问和身份验证控制中，单击编辑，在身份验证方法属性页中，去掉匿名访问的选择试试. 4.FSO没有权限 FSO的权限问题，可以在后台测试是否能删除文件，解决FSO组件是否开启的方法如下： 首先在系统盘中查找scrrun.dll，如果存在这个文件，请跳到第三步，如果没有，请执行第二步。在安装文件目录i386中找到scrrun.dl_，用winrar解压缩，得scrrun.dll，然后复制到（你的系统盘）C:\windows\system32\目录中。 运行regsvr32 scrrun.dll即可。 如果想关闭FSO组件，请运行regsvr32/u scrrun.dll即可 关于服务器FSO权限设置的方法，给大家一个地址可以看看详细的操作：http://www.upsdn.net/html/2005-01/314.html 5.Microsoft JET Database Engine 错误 '80040e09' 不能更新。数据库或对象为只读 原因分析： 未打开数据库目录的读写权限 解决方法： （ 1 ）检查是否在 IIS 中对整个网站打开了 “ 写入 ” 权限，而不仅仅是数据库文件。 （ 2 ）检查是否在 WIN2000 的资源管理器中，将网站所在目录对 EveryOne 用户打开所有权限。具体方法是： 打开 “ 我的电脑 ”---- 找到网站所在文件夹 ---- 在其上点右键 ---- 选 “ 属性 ”----- 切换到 “ 安全性 ” 选项卡，在这里给 EveryOne 用户所有权限。 注意： 如果你的系统是 XP ，请先点 “ 工具 ”----“ 文件夹选项 ”----“ 查看 ”----- 去掉 “ 使用简单文件共享 ” 前的勾，确定后，文件夹 “ 属性 ” 对话框中才会有 “ 安全性 ” 这一个选项卡。 6.验证码不能显示 原因分析： 造成该问题的原因是 Service Pack 2 为了提高系统的稳定性，默认状态下是屏蔽了对 XBM，也即是 x-bitmap 格式的图片的显示，而这些验证码恰恰是 XBM 格式的，所以显示不出来了。 解决办法： 解决的方法其实也很简单，只需在系统注册表中添加键值 &quot;BlockXBM&quot;=dword:00000000 就可以了，具体操作如下： 1》打开系统注册表； 2》依次点开HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Security； 3》在屏幕右边空白处点击鼠标右键，选择新建一个名为“BlockXBM”为的 DWORD 键，其值为默认的0。 4》退出注册表编辑器。 如果操作系统是2003系统则看是否开启了父路径 7.windows 2003配置IIS支持.shtml 要使用 Shtml 的文件，则系统必须支持SSI，SSI必须是管理员通过Web 服务扩展启用的 windows 2003安装好IIS之后默认是支持.shtml的，只要在“WEB服务扩展”允许“在服务器前端的包含文件”即可8.如何去掉“处理 URL 时服务器出错。请与系统管理员联系。” 如果是本地服务器的话，请右键点IIS默认网站，选属性，在主目录里点配置，选调试。 选中向客户端发送详细的ASP错误消息。 然后再调试程序，此时就可以显示出正确的错误代码。如果你是租用的空间的话，请和你的空间商联系]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>CPU占用率高的N种原因</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15945</link><subject>1、防杀毒软件造成故障  　　由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控，无疑增大了系统负担。处理方式:基本上没有合理的处理方式，尽量使用最少的监控服务吧，或者，升级你的硬件配备。  　　2、驱动没有经过认证，造成CPU资源占用100%  　　大量的测试版的驱动在网上泛滥，造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意，建议使用微软认证的或由官方发布的驱动，并且严格核对型号、版本。  　　3、病毒、木马造成  　　大量的蠕虫病毒在系统内部迅速复制，造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘，并且打开系统设置软件，察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙，加强防毒意识，掌握正确的防杀毒知识。  　　4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键，改为手动。  　　5、开始-&gt;；运行-&gt;；msconfig-&gt;；启动，关闭不必要的启动项，重启。  　　6、查看“svchost”进程。  　　svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中，在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个，而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。  　　7、查看网络连接。主要是网卡。  　　8、查看网络连接  　　当安装了Windows XP的计算机做服务器的时候，收到端口 445 上的连接请求时，它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候，CPU占用率可能过高，这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确，服务器的响应能力可能会受到影响，或者某个用户独占太多系统资源。  　　要解决此问题，我们可以通过修改注册表来解决:在注册表编辑器中依次展开 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支，在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值，在打开的窗口中键入下列数值并保存退出:  　　如果计算机有512MB以上的内存，键入“1024”；如果计算机内存小于512 MB，键入“256”。  　　9、看看是不是Windows XP使用鼠标右键引起CPU占用100%  　　前不久的报到说在资源管理器里面使用鼠标右键会导致CPU资源100%占用，我们来看看是怎么回事？  　　征兆:  　　在资源管理器里面，当你右键点击一个目录或一个文件，你将有可能出现下面所列问题:  　　任何文件的拷贝操作在那个时间将有可能停止相应  　　网络连接速度将显著性的降低  　　所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:  　　当你在资源管理器里面右键点击一个文件或目录的时候，当快捷菜单显示的时候，CPU占用率将增加到100%，当你关闭快捷菜单的时候才返回正常水平。  　　解决方法:  　　方法一:关闭“为菜单和工具提示使用过渡效果”  　　1、点击“开始”--“控制面板”  　　2、在“控制面板”里面双击“显示”  　　3、在“显示”属性里面点击“外观”标签页  　　4、在“外观”标签页里面点击“效果”  　　5、在“效果”对话框里面，清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。  　　方法二:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键弹出快捷菜单。  　　CPU占用100%解决办法  　　一般情况下CPU占了100%的话我们的电脑总会慢下来，而很多时候我们是可以通过做一点点的改动就可以解决，而不必问那些大虾了。  　　当机器慢下来的时候，首先我们想到的当然是任务管理器了，看看到底是哪个程序占了较搞的比例，如果是某个大程序那还可以原谅，在关闭该程序后只要CPU 正常了那就没问题；如果不是，那你就要看看是什幺程序了，当你查不出这个进程是什幺的时候就去google或者baidu搜。有时只结束是没用的，在xp 下我们可以结合msconfig里的启动项，把一些不用的项给关掉。在2000下可以去下个winpatrol来用。  　　一些常用的软件，比如浏览器占用了很搞的CPU，那幺就要升级该软件或者干脆用别的同类软件代替，有时软件和系统会有点不兼容，当然我们可以试下xp系统下给我们的那个兼容项，右键点该.exe文件选兼容性。  　　svchost.exe有时是比较头痛的，当你看到你的某个svchost.exe占用很大CPU时你可以去下个aports或者fport来检查其对应的程序路径，也就是什幺东西在掉用这个svchost.exe，如果不是c:Windowssystem32(xp)或c:winntsystem32 (2000)下的，那就可疑。升级杀毒软件杀毒吧。  　　右击文件导致100%的CPU占用我们也会遇到，有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中，再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果，取消”为菜单和工具提示使用下列过度效果(U) “来解决。还有某些杀毒软件对文件的监控也会有所影响，可以关闭杀毒软件的文件监控；还有就是对网页，插件，邮件的监控也是同样的道理。  　　一些驱动程序有时也可能出现这样的现象，最好是选择微软认证的或者是官方发布的驱动来装，有时可以适当的升级驱动，不过记得最新的不是最好的。  　　CPU降温软件，由于软件在运行时会利用所以的CPU空闲时间来进行降温，但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别，因此CPU始终显示100%，这个就不必担心了，不影响正常的系统运行。  　　在处理较大的word文件时由于word的拼写和语法检查会使得CPU累，只要打开word的工具-选项-拼写和语法把”检查拼写和检查语法“勾去掉。  　　单击avi视频文件后CPU占用率高是因为系统要先扫描该文件，并检查文件所有部分，并建立索引；解决办法:右击保存视频文件的文件夹-属性-常规-高级，去掉为了快速搜索，允许索引服务编制该文件夹的索引的勾。  　　CPU占用100%案例分析  　　1、dllhost进程造成CPU使用率占用100%  　　特征:服务器正常CPU消耗应该在75%以下，而且CPU消耗应该是上下起伏的，出现这种问题的服务器，CPU会突然一直处100%的水平，而且不会下降。查看任务管理器，可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间，管理员在这种情况下，只好重新启动IIS服务，奇怪的是，重新启动 IIS服务后一切正常，但可能过了一段时间后，问题又再次出现了。  　　直接原因:  　　有一个或多个ACCESS数据库在多次读写过程中损坏，微软的MDAC系统在写入这个损坏的ACCESS文件时，ASP线程处于BLOCK状态，结果其它线程只能等待，IIS被死锁了，全部的CPU时间都消耗在DLLHOST中。  　　解决办法:  　　安装“一流信息监控拦截系统”，使用其中的“首席文件检查官IIS健康检查官”软件，  　　启用”查找死锁模块”，设置:  　　--wblock=yes  　　监控的目录，请指定您的主机的文件所在目录:  　　--wblockdir=d: est  　　监控生成的日志的文件保存位置在安装目录的log目录中，文件名为:logblock.htm  　　停止IIS，再启动“首席文件检查官IIS健康检查官”，再启动IIS，“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。  　　过了一段时间后，当问题出来时，例如CPU会再次一直处100%的水平，可以停止IIS，检查logblock.htm所记录的最后的十个文件，注意，最有问题的往往是计数器类的ACCESS文件，例如:”**COUNT.MDB”，”**COUNT.ASP”，可以先把最后十个文件或有所怀疑的文件删除到回收站中，再启动IIS，看看问题是否再次出现。我们相信，经过仔细的查找后，您肯定可以找到这个让您操心了一段时间的文件的。  　　找到这个文件后，可以删除它，或下载下来，用ACCESS2000修复它，问题就解决了。  　　2、svchost.exe造成CPU使用率占用100%  　　在win.ini文件中，在[Windows]下面，“run=”和“lo******”是可能加载“木马”程序的途径，必须仔细留心它们。一般情况下，它们的等号后面什幺都没有，如果发现后面跟有路径与文件名不是你熟悉的启动文件，你的计算机就可能中上“木马”了。当然你也得看清楚，因为好多“木马”，如 “AOL Trojan木马”，它把自身伪装成command.exe文件，如果不注意可能不会发现它不是真正的系统启动文件。  　　在system.ini文件中，在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”，如果不是 “explorer.exe”，而是“shell= explorer.exe 程序名”，那幺后面跟着的那个程序就是“木马”程序，就是说你已经中“木马”了。  　　在注册表中的情况最复杂，通过regedit命令打开注册表编辑器，在点击至:“HKEY-LOCAL- MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下，查看键值中有没有自己不熟悉的自动启动文件，扩展名为EXE，这里切记:有的“木马”程序生成的文件很像系统自身文件，想通过伪装蒙混过关，如“Acid Battery v1.0木马”，它将注册表“HKEY-LOCAL- MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”，“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序，如:“HKEY-CURRENT- USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY- USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能，最好的办法就是在 “HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马该病毒也称为“Code Red II(红色代码2)”病毒，与早先在西方英文系统下流行“红色代码”病毒有点相反，在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞，通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过Http Get的请求运行scripts/root.exe来获得对受感染机器的完全控制权。  　　当感染一台服务器成功了以后，如果受感染的机器是中文的系统后，该程序会休眠2天，别的机器休眠1天。当休眠的时间到了以后，该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年，如果是，受感染的服务器也会重新启动。当Windows NT系统启动时，NT系统会自动搜索C盘根目录下的文件explorer.exe，受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节，VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时，VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录，给黑客的入侵敞开了大门。它还会修改系统的注册表项目，通过该注册表项目的修改，该蠕虫程序可以建立虚拟的目录C 或者D，病毒名由此而来。值得一提的是，该网络蠕虫程序除了文件explorer.exe外，其余的操作不是基于文件的，而是直接在内存中来进行感染、传播的，这就给捕捉带来了较大难度。  　　”程序的文件名，再在整个注册表中搜索即可。  　　我们先看看微软是怎样描述svchost.exe的。在微软知识库314056中对svchost.exe有如下描述:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。  　　其实svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中，在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个，而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个svchost.exe不用那幺担心。  　　svchost.exe到底是做什幺用的呢?  　　首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多，为了节约有限的系统资源微软把很多的系统服务做成了共享模式。那svchost.exe在这中间是担任怎样一个角色呢?  　　svchost.exe的工作就是作为这些服务的宿主，即由svchost.exe来启动这些服务。svchost.exe只是负责为这些服务提供启动的条件，其自身并不能实现任何服务的功能，也不能为用户提供任何服务。svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。  　　svchost.exe是病毒这种说法是任何产生的呢?  　　因为svchost.exe可以作为服务的宿主来启动服务，所以病毒、木马的编写者也挖空心思的要利用svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。  　　如何才能辨别哪些是正常的svchost.exe进程，而哪些是病毒进程呢?  　　svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost”，如图1所示。图1中每个键值表示一个独立的svchost.exe组。  　　微软还为我们提供了一种察看系统正在运行在svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd，然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染，svchost.exe的服务出现异常的话通过搜索svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:WindowsSystem32”目录下的svchost.exe程序。如果你在其它目录下发现svchost.exe程序的话，那很可能就是中毒了。  　　还有一种确认svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径，所以要使用第三方的进程察看工具。  　　上面简单的介绍了svchost.exe进程的相关情况。总而言之，svchost.exe是一个系统的核心进程，并不是病毒进程。但由于 svchost.exe进程的特殊性，所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。  　　3、Services.exe造成CPU使用率占用100%  　　症状  　　在基于 Windows 2000 的计算机上，Services.exe 中的 CPU 使用率可能间歇性地达到100 %，并且计算机可能停止响应(挂起)。出现此问题时，连接到该计算机(如果它是文件服务器或域控制器)的用户会被断开连接。您可能还需要重新启动计算机。如果 Esent.dll 错误地处理将文件刷新到磁盘的方式，则会出现此症状。  　　解决方案  　　Service Pack 信息  　　要解决此问题，请获取最新的 Microsoft Windows 2000 Service Pack。有关其它信息，请单击下面的文章编号，以查看 Microsoft 知识库中相应的文章:  　　260910 如何获取最新的 Windows 2000 Service Pack  　　修复程序信息  　　Microsoft 提供了受支持的修补程序，但该程序只是为了解决本文所介绍的问题。只有计算机遇到本文提到的特定问题时才可应用此修补程序。此修补程序可能还会接受其它一些测试。因此，如果这个问题没有对您造成严重的影响，Microsoft 建议您等待包含此修补程序的下一个 Windows 2000 Service Pack。  　　要立即解决此问题，请与“Microsoft 产品支持服务”联系，以获取此修补程序。有关“Microsoft 产品支持服务”电话号码和支持费用信息的完整列表，请访问 Microsoft Web 站点:  　　注意 :特殊情况下，如果 Microsoft 支持专业人员确定某个特定的更新程序能够解决您的问题，可免收通常情况下收取的电话支持服务费用。对于特定更新程序无法解决的其它支持问题和事项，将正常收取支持费用。  　　下表列出了此修补程序的全球版本的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。查看文件信息时，它将转换为本地时间。要了解 UTC 与本地时间之间的时差，请使用“控制面板”中的“日期和时间”工具中的 时区 选项卡。  　　状态  　　Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。此问题最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。  　 4、正常软件造成CPU使用率占用100%  　　首先，如果是从开机后就发生上述情况直到关机。那幺就有可能是由某个随系统同时登陆的软件造成的。可以通过运行输入“msconfig”打开“系统实用配置工具”，进入“启动”选项卡。接着，依次取消可疑选项前面的对钩，然后重新启动电脑。反复测试直到找到造成故障的软件。或者可以通过一些优化软件如“优化大师”达到上述目的。另:如果键盘内按键卡住也可能造成开机就出现上述问题。  　　如果是使用电脑途中出项这类问题，可以调出任务管理器 (WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT“ESC)，进入”进程“选项卡，看”CPU“栏，从里面找到占用资源较高的程序(其中SYSTEM IDLE PROCESS是属于正常，它的值一般都很高，它的作用是告诉当前你可用的CPU资源是多少，所以它的值越高越好)通过搜索功能找到这个进程属于哪个软件。然后，可以通过升级、关闭、卸载这个软件或者干脆找个同类软件替换，问题即可得到解决。  　　5、病毒、木马、间谍软件造成CPU使用率占用100%  　　出现CPU占用率100% 的故障经常是因为病毒木马造成的，比如震荡波病毒。应该首先更新病毒库，对电脑进行全机扫描。接着，在使用反间谍软件Ad—Aware，检查是否存在间谍软件。论坛上有不少朋友都遇到过svchost.exe占用CPU100%，这个往往是中毒的表现。  　　svchost.exe Windows中的系统服务是以动态链接库(DLL)的形式实现的，其中一些会把可执行程序指向svchost.exe，由它调用相应服务的动态链接库并加上相应参数来启动服务。正是因为它的特殊性和重要性，使它更容易成为了一些病毒木马的宿主。  　　6、explorer.exe进程造成CPU使用率占用100%  　　在system.ini文件中，在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”，如果不是 “explorer.exe”，而是“shell= explorer.exe 程序名”，那幺后面跟着的那个程序就是“木马”程序，就是说你已经中“木马”了。  　　在注册表中的情况最复杂，通过regedit命令打开注册表编辑器，在点击至:“HKEY-LOCAL- MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下，查看键值中有没有自己不熟悉的自动启动文件，扩展名为EXE，这里切记:有的“木马”程序生成的文件很像系统自身文件，想通过伪装蒙混过关，如“Acid Battery v1.0木马”，它将注册表“HKEY-LOCAL- MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的  　　Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”，“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序，如:“HKEY-CURRENT- USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY- USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能，最好的办法就是在 “HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马”程序的文件名，再在整个注册表中搜索即可。  　　7、超线程导致CPU使用率占用100%  　　这类故障的共同原因就是都使用了具有超线程功能的P4 CPU。我查找了一些资料都没有明确的原因解释。据一些网友总结超线程似乎和天网防火墙有冲突，可以通过卸载天网并安装其它防火墙解决，也可以通过在BIOS中关闭超线程功能解决。  　　8、AVI视频文件造成CPU使用率占用100%  　　在Windows XP中，单击一个较大的AVI视频文件后，可能会出现系统假死现象，并且造成exploere.exe进程的使用率100%，这是因为系统要先扫描该文件，并检查文件所有部分，建立索引。如果文件较大就会需要较长时间并造成CPU占用率100%。解决方法:右键单击保存视频文件的文件夹，选择”属性— &gt;常规—&gt;高级“，去掉”为了快速搜索，允许索引服务编制该文件夹的索引“前面复选框的对钩即可。  　　9、杀毒软件CPU使用率占用100%  　　现在的杀毒软件一般都加入了，对网页、邮件、个人隐私的即时监空功能，这样无疑会加大系统的负担。比如:在玩游戏的时候，会非常缓慢。关闭该杀毒软件是解决得最直接办法。  　　10、处理较大的Word文件时CPU使用率过高  　　上述问题一般还会造成电脑假死，这些都是因为WORD的拼写和语法检查造成的，只要打开WORD的“工具—选项”，进入“拼写和语法”选项卡，将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。  　　11、网络连接导致CPU使用率占用100%  　　当你的Windows2000/xp作为服务器时，收到来自端口445上的连接请求后，系统将分配内存和少量CPU资源来为这些连接提供服务，当负荷过重，就会出现上述情况。要解决这个问题可以通过修改注册表来解决，打开注册表，找到HKEY—LOCAL— MACHNESYSTEMCurrentControlSetServiceslanmanserver，在右面新建一个名为&quot;； maxworkitems&quot;；的DWORD值.然后双击该值，如果你的电脑有512以上内存，就设置为&quot;；1024&quot;；，如果小于512，就设置为 256.  　　一些不完善的驱动程序也可以造成CPU使用率过高  　　经常使用待机功能，也会造成系统自动关闭硬盘DMA模式。这不仅会使系统性能大幅度下降，系统启动速度变慢，也会使是系统在运行一些大型软件和游戏时CPU使用率100%，产生停顿。</subject><description><![CDATA[1、防杀毒软件造成故障  　　由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控，无疑增大了系统负担。处理方式:基本上没有合理的处理方式，尽量使用最少的监控服务吧，或者，升级你的硬件配备。  　　2、驱动没有经过认证，造成CPU资源占用100%  　　大量的测试版的驱动在网上泛滥，造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意，建议使用微软认证的或由官方发布的驱动，并且严格核对型号、版本。  　　3、病毒、木马造成  　　大量的蠕虫病毒在系统内部迅速复制，造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘，并且打开系统设置软件，察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙，加强防毒意识，掌握正确的防杀毒知识。  　　4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键，改为手动。  　　5、开始-&gt;；运行-&gt;；msconfig-&gt;；启动，关闭不必要的启动项，重启。  　　6、查看“svchost”进程。  　　svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中，在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个，而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。  　　7、查看网络连接。主要是网卡。  　　8、查看网络连接  　　当安装了Windows XP的计算机做服务器的时候，收到端口 445 上的连接请求时，它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候，CPU占用率可能过高，这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确，服务器的响应能力可能会受到影响，或者某个用户独占太多系统资源。  　　要解决此问题，我们可以通过修改注册表来解决:在注册表编辑器中依次展开 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支，在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值，在打开的窗口中键入下列数值并保存退出:  　　如果计算机有512MB以上的内存，键入“1024”；如果计算机内存小于512 MB，键入“256”。  　　9、看看是不是Windows XP使用鼠标右键引起CPU占用100%  　　前不久的报到说在资源管理器里面使用鼠标右键会导致CPU资源100%占用，我们来看看是怎么回事？  　　征兆:  　　在资源管理器里面，当你右键点击一个目录或一个文件，你将有可能出现下面所列问题:  　　任何文件的拷贝操作在那个时间将有可能停止相应  　　网络连接速度将显著性的降低  　　所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:  　　当你在资源管理器里面右键点击一个文件或目录的时候，当快捷菜单显示的时候，CPU占用率将增加到100%，当你关闭快捷菜单的时候才返回正常水平。  　　解决方法:  　　方法一:关闭“为菜单和工具提示使用过渡效果”  　　1、点击“开始”--“控制面板”  　　2、在“控制面板”里面双击“显示”  　　3、在“显示”属性里面点击“外观”标签页  　　4、在“外观”标签页里面点击“效果”  　　5、在“效果”对话框里面，清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。  　　方法二:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键弹出快捷菜单。  　　CPU占用100%解决办法  　　一般情况下CPU占了100%的话我们的电脑总会慢下来，而很多时候我们是可以通过做一点点的改动就可以解决，而不必问那些大虾了。  　　当机器慢下来的时候，首先我们想到的当然是任务管理器了，看看到底是哪个程序占了较搞的比例，如果是某个大程序那还可以原谅，在关闭该程序后只要CPU 正常了那就没问题；如果不是，那你就要看看是什幺程序了，当你查不出这个进程是什幺的时候就去google或者baidu搜。有时只结束是没用的，在xp 下我们可以结合msconfig里的启动项，把一些不用的项给关掉。在2000下可以去下个winpatrol来用。  　　一些常用的软件，比如浏览器占用了很搞的CPU，那幺就要升级该软件或者干脆用别的同类软件代替，有时软件和系统会有点不兼容，当然我们可以试下xp系统下给我们的那个兼容项，右键点该.exe文件选兼容性。  　　svchost.exe有时是比较头痛的，当你看到你的某个svchost.exe占用很大CPU时你可以去下个aports或者fport来检查其对应的程序路径，也就是什幺东西在掉用这个svchost.exe，如果不是c:Windowssystem32(xp)或c:winntsystem32 (2000)下的，那就可疑。升级杀毒软件杀毒吧。  　　右击文件导致100%的CPU占用我们也会遇到，有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中，再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果，取消”为菜单和工具提示使用下列过度效果(U) “来解决。还有某些杀毒软件对文件的监控也会有所影响，可以关闭杀毒软件的文件监控；还有就是对网页，插件，邮件的监控也是同样的道理。  　　一些驱动程序有时也可能出现这样的现象，最好是选择微软认证的或者是官方发布的驱动来装，有时可以适当的升级驱动，不过记得最新的不是最好的。  　　CPU降温软件，由于软件在运行时会利用所以的CPU空闲时间来进行降温，但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别，因此CPU始终显示100%，这个就不必担心了，不影响正常的系统运行。  　　在处理较大的word文件时由于word的拼写和语法检查会使得CPU累，只要打开word的工具-选项-拼写和语法把”检查拼写和检查语法“勾去掉。  　　单击avi视频文件后CPU占用率高是因为系统要先扫描该文件，并检查文件所有部分，并建立索引；解决办法:右击保存视频文件的文件夹-属性-常规-高级，去掉为了快速搜索，允许索引服务编制该文件夹的索引的勾。  　　CPU占用100%案例分析  　　1、dllhost进程造成CPU使用率占用100%  　　特征:服务器正常CPU消耗应该在75%以下，而且CPU消耗应该是上下起伏的，出现这种问题的服务器，CPU会突然一直处100%的水平，而且不会下降。查看任务管理器，可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间，管理员在这种情况下，只好重新启动IIS服务，奇怪的是，重新启动 IIS服务后一切正常，但可能过了一段时间后，问题又再次出现了。  　　直接原因:  　　有一个或多个ACCESS数据库在多次读写过程中损坏，微软的MDAC系统在写入这个损坏的ACCESS文件时，ASP线程处于BLOCK状态，结果其它线程只能等待，IIS被死锁了，全部的CPU时间都消耗在DLLHOST中。  　　解决办法:  　　安装“一流信息监控拦截系统”，使用其中的“首席文件检查官IIS健康检查官”软件，  　　启用”查找死锁模块”，设置:  　　--wblock=yes  　　监控的目录，请指定您的主机的文件所在目录:  　　--wblockdir=d: est  　　监控生成的日志的文件保存位置在安装目录的log目录中，文件名为:logblock.htm  　　停止IIS，再启动“首席文件检查官IIS健康检查官”，再启动IIS，“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。  　　过了一段时间后，当问题出来时，例如CPU会再次一直处100%的水平，可以停止IIS，检查logblock.htm所记录的最后的十个文件，注意，最有问题的往往是计数器类的ACCESS文件，例如:”**COUNT.MDB”，”**COUNT.ASP”，可以先把最后十个文件或有所怀疑的文件删除到回收站中，再启动IIS，看看问题是否再次出现。我们相信，经过仔细的查找后，您肯定可以找到这个让您操心了一段时间的文件的。  　　找到这个文件后，可以删除它，或下载下来，用ACCESS2000修复它，问题就解决了。  　　2、svchost.exe造成CPU使用率占用100%  　　在win.ini文件中，在[Windows]下面，“run=”和“lo******”是可能加载“木马”程序的途径，必须仔细留心它们。一般情况下，它们的等号后面什幺都没有，如果发现后面跟有路径与文件名不是你熟悉的启动文件，你的计算机就可能中上“木马”了。当然你也得看清楚，因为好多“木马”，如 “AOL Trojan木马”，它把自身伪装成command.exe文件，如果不注意可能不会发现它不是真正的系统启动文件。  　　在system.ini文件中，在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”，如果不是 “explorer.exe”，而是“shell= explorer.exe 程序名”，那幺后面跟着的那个程序就是“木马”程序，就是说你已经中“木马”了。  　　在注册表中的情况最复杂，通过regedit命令打开注册表编辑器，在点击至:“HKEY-LOCAL- MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下，查看键值中有没有自己不熟悉的自动启动文件，扩展名为EXE，这里切记:有的“木马”程序生成的文件很像系统自身文件，想通过伪装蒙混过关，如“Acid Battery v1.0木马”，它将注册表“HKEY-LOCAL- MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”，“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序，如:“HKEY-CURRENT- USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY- USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能，最好的办法就是在 “HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马该病毒也称为“Code Red II(红色代码2)”病毒，与早先在西方英文系统下流行“红色代码”病毒有点相反，在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞，通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过Http Get的请求运行scripts/root.exe来获得对受感染机器的完全控制权。  　　当感染一台服务器成功了以后，如果受感染的机器是中文的系统后，该程序会休眠2天，别的机器休眠1天。当休眠的时间到了以后，该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年，如果是，受感染的服务器也会重新启动。当Windows NT系统启动时，NT系统会自动搜索C盘根目录下的文件explorer.exe，受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节，VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时，VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录，给黑客的入侵敞开了大门。它还会修改系统的注册表项目，通过该注册表项目的修改，该蠕虫程序可以建立虚拟的目录C 或者D，病毒名由此而来。值得一提的是，该网络蠕虫程序除了文件explorer.exe外，其余的操作不是基于文件的，而是直接在内存中来进行感染、传播的，这就给捕捉带来了较大难度。  　　”程序的文件名，再在整个注册表中搜索即可。  　　我们先看看微软是怎样描述svchost.exe的。在微软知识库314056中对svchost.exe有如下描述:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。  　　其实svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中，在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个，而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个svchost.exe不用那幺担心。  　　svchost.exe到底是做什幺用的呢?  　　首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多，为了节约有限的系统资源微软把很多的系统服务做成了共享模式。那svchost.exe在这中间是担任怎样一个角色呢?  　　svchost.exe的工作就是作为这些服务的宿主，即由svchost.exe来启动这些服务。svchost.exe只是负责为这些服务提供启动的条件，其自身并不能实现任何服务的功能，也不能为用户提供任何服务。svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。  　　svchost.exe是病毒这种说法是任何产生的呢?  　　因为svchost.exe可以作为服务的宿主来启动服务，所以病毒、木马的编写者也挖空心思的要利用svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。  　　如何才能辨别哪些是正常的svchost.exe进程，而哪些是病毒进程呢?  　　svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost”，如图1所示。图1中每个键值表示一个独立的svchost.exe组。  　　微软还为我们提供了一种察看系统正在运行在svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd，然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染，svchost.exe的服务出现异常的话通过搜索svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:WindowsSystem32”目录下的svchost.exe程序。如果你在其它目录下发现svchost.exe程序的话，那很可能就是中毒了。  　　还有一种确认svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径，所以要使用第三方的进程察看工具。  　　上面简单的介绍了svchost.exe进程的相关情况。总而言之，svchost.exe是一个系统的核心进程，并不是病毒进程。但由于 svchost.exe进程的特殊性，所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。  　　3、Services.exe造成CPU使用率占用100%  　　症状  　　在基于 Windows 2000 的计算机上，Services.exe 中的 CPU 使用率可能间歇性地达到100 %，并且计算机可能停止响应(挂起)。出现此问题时，连接到该计算机(如果它是文件服务器或域控制器)的用户会被断开连接。您可能还需要重新启动计算机。如果 Esent.dll 错误地处理将文件刷新到磁盘的方式，则会出现此症状。  　　解决方案  　　Service Pack 信息  　　要解决此问题，请获取最新的 Microsoft Windows 2000 Service Pack。有关其它信息，请单击下面的文章编号，以查看 Microsoft 知识库中相应的文章:  　　260910 如何获取最新的 Windows 2000 Service Pack  　　修复程序信息  　　Microsoft 提供了受支持的修补程序，但该程序只是为了解决本文所介绍的问题。只有计算机遇到本文提到的特定问题时才可应用此修补程序。此修补程序可能还会接受其它一些测试。因此，如果这个问题没有对您造成严重的影响，Microsoft 建议您等待包含此修补程序的下一个 Windows 2000 Service Pack。  　　要立即解决此问题，请与“Microsoft 产品支持服务”联系，以获取此修补程序。有关“Microsoft 产品支持服务”电话号码和支持费用信息的完整列表，请访问 Microsoft Web 站点:  　　注意 :特殊情况下，如果 Microsoft 支持专业人员确定某个特定的更新程序能够解决您的问题，可免收通常情况下收取的电话支持服务费用。对于特定更新程序无法解决的其它支持问题和事项，将正常收取支持费用。  　　下表列出了此修补程序的全球版本的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。查看文件信息时，它将转换为本地时间。要了解 UTC 与本地时间之间的时差，请使用“控制面板”中的“日期和时间”工具中的 时区 选项卡。  　　状态  　　Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。此问题最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。  　 4、正常软件造成CPU使用率占用100%  　　首先，如果是从开机后就发生上述情况直到关机。那幺就有可能是由某个随系统同时登陆的软件造成的。可以通过运行输入“msconfig”打开“系统实用配置工具”，进入“启动”选项卡。接着，依次取消可疑选项前面的对钩，然后重新启动电脑。反复测试直到找到造成故障的软件。或者可以通过一些优化软件如“优化大师”达到上述目的。另:如果键盘内按键卡住也可能造成开机就出现上述问题。  　　如果是使用电脑途中出项这类问题，可以调出任务管理器 (WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT“ESC)，进入”进程“选项卡，看”CPU“栏，从里面找到占用资源较高的程序(其中SYSTEM IDLE PROCESS是属于正常，它的值一般都很高，它的作用是告诉当前你可用的CPU资源是多少，所以它的值越高越好)通过搜索功能找到这个进程属于哪个软件。然后，可以通过升级、关闭、卸载这个软件或者干脆找个同类软件替换，问题即可得到解决。  　　5、病毒、木马、间谍软件造成CPU使用率占用100%  　　出现CPU占用率100% 的故障经常是因为病毒木马造成的，比如震荡波病毒。应该首先更新病毒库，对电脑进行全机扫描。接着，在使用反间谍软件Ad—Aware，检查是否存在间谍软件。论坛上有不少朋友都遇到过svchost.exe占用CPU100%，这个往往是中毒的表现。  　　svchost.exe Windows中的系统服务是以动态链接库(DLL)的形式实现的，其中一些会把可执行程序指向svchost.exe，由它调用相应服务的动态链接库并加上相应参数来启动服务。正是因为它的特殊性和重要性，使它更容易成为了一些病毒木马的宿主。  　　6、explorer.exe进程造成CPU使用率占用100%  　　在system.ini文件中，在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”，如果不是 “explorer.exe”，而是“shell= explorer.exe 程序名”，那幺后面跟着的那个程序就是“木马”程序，就是说你已经中“木马”了。  　　在注册表中的情况最复杂，通过regedit命令打开注册表编辑器，在点击至:“HKEY-LOCAL- MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下，查看键值中有没有自己不熟悉的自动启动文件，扩展名为EXE，这里切记:有的“木马”程序生成的文件很像系统自身文件，想通过伪装蒙混过关，如“Acid Battery v1.0木马”，它将注册表“HKEY-LOCAL- MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的  　　Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”，“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序，如:“HKEY-CURRENT- USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY- USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能，最好的办法就是在 “HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马”程序的文件名，再在整个注册表中搜索即可。  　　7、超线程导致CPU使用率占用100%  　　这类故障的共同原因就是都使用了具有超线程功能的P4 CPU。我查找了一些资料都没有明确的原因解释。据一些网友总结超线程似乎和天网防火墙有冲突，可以通过卸载天网并安装其它防火墙解决，也可以通过在BIOS中关闭超线程功能解决。  　　8、AVI视频文件造成CPU使用率占用100%  　　在Windows XP中，单击一个较大的AVI视频文件后，可能会出现系统假死现象，并且造成exploere.exe进程的使用率100%，这是因为系统要先扫描该文件，并检查文件所有部分，建立索引。如果文件较大就会需要较长时间并造成CPU占用率100%。解决方法:右键单击保存视频文件的文件夹，选择”属性— &gt;常规—&gt;高级“，去掉”为了快速搜索，允许索引服务编制该文件夹的索引“前面复选框的对钩即可。  　　9、杀毒软件CPU使用率占用100%  　　现在的杀毒软件一般都加入了，对网页、邮件、个人隐私的即时监空功能，这样无疑会加大系统的负担。比如:在玩游戏的时候，会非常缓慢。关闭该杀毒软件是解决得最直接办法。  　　10、处理较大的Word文件时CPU使用率过高  　　上述问题一般还会造成电脑假死，这些都是因为WORD的拼写和语法检查造成的，只要打开WORD的“工具—选项”，进入“拼写和语法”选项卡，将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。  　　11、网络连接导致CPU使用率占用100%  　　当你的Windows2000/xp作为服务器时，收到来自端口445上的连接请求后，系统将分配内存和少量CPU资源来为这些连接提供服务，当负荷过重，就会出现上述情况。要解决这个问题可以通过修改注册表来解决，打开注册表，找到HKEY—LOCAL— MACHNESYSTEMCurrentControlSetServiceslanmanserver，在右面新建一个名为&quot;； maxworkitems&quot;；的DWORD值.然后双击该值，如果你的电脑有512以上内存，就设置为&quot;；1024&quot;；，如果小于512，就设置为 256.  　　一些不完善的驱动程序也可以造成CPU使用率过高  　　经常使用待机功能，也会造成系统自动关闭硬盘DMA模式。这不仅会使系统性能大幅度下降，系统启动速度变慢，也会使是系统在运行一些大型软件和游戏时CPU使用率100%，产生停顿。]]></description><PubDate>2008-12-15 23:46:35</PubDate><category>服务器问题</category></item><item><title>[图文]Windows 2000 IIS 安装、配置(WEB篇)</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15874</link><subject>Windows 2000 Server、Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS ，也可以在 Windows 2000 安装完毕后加装 IIS。 IIS 是微软出品的架设 WEB、FTP、SMTP 服务器的一套整合软件，捆绑在 Windows2000/NT 中，可以在控制面板的添加/删除程序中选择添加删除 Windows 组件中选择添加 IIS 服务。如下图:IIS 默认的 WEB (主页)文件存放于系统根区中的 %system%\Inetpub\wwwroot 中，主页文件就放在这个目录下；出于安全考虑，因此微软建议用 NTFS 格式化使用 IIS 的所有驱动器。 一、快速配置好默认的 WEB 站点 打开 IIS 管理器,在开始菜单的管理工具中选择 Internet 信息服务或直接在运行中输入 %SystemRoot%\System32\Inetsrv\iis.msc 安装好后的 IIS 已经自动建立了管理和默认两个站点，其中管理 WEB 站点用于站点远程管理，可以暂时停止运行，但最好不要删除，否则重建时会很麻烦的。马上在浏览器中输入这个地址，微软已经预先把详尽的帮助资料放到 IIS 里面了：http://localhost/iishelp/iis/misc/default.asp 右击已存在的“默认 WEB 站点”，选择属性，现在开始配置 IIS 的 WEB 站点。每个 Web 站点都具有唯一的、由三个部分组成的标识，用来接收和响应请求的分别是端口号、IP 地址和主机头名。浏览器访问 IIS 的时候是这样的： IP -&gt; 端口 -&gt; 主机头 -&gt; 该站点主目录 -&gt; 该站点的默认首文档。所以 IIS 的整个配置流程应该按照访问顺序进行设置： 第一步，配置 IP 和 主机头这里可以指定 WEB 站点的 IP，如没有特别需要，则选择全部未分配。如指定了多个主机头，则 IP 一定要选为全部未分配，否则访问者会访问不了的。如果 IIS 只有一个站点，则无需写入主机头标识。然后配置好端口，WEB 站点的默认访问端口是 TCP 80，如果修改了站点端口，则访问者需要输入 http://yourip:端口 才能够进行正常访问。 第二步，指定站点主目录。主目录用来存放站点文件的位置，默认是 %system%\Inetpub\wwwroot 。可以选择其他目录作为存放站点文件的位置，点击浏览后选择好路经就可以了。这里还可以赋予访问者一些权限，例如目录浏览等。基于安全考虑，微软建议在 NTFS 磁盘格式下使用 IIS。 第三步：设定默认文档。每个网站都会有默认文档，默认文档就是访问者访问站点时首先要访问的那个文件；例如 index.htm index.asp default.asp 等等。这里需要指定默认的文档名称和顺序。注意，这里的默认文档是按照从上到下的顺序读取的。 最后一步：设定访问权限。一般赋予访问者有匿名访问的权限，其实IIS 默认已经在系统中建立了 IUSR_机器名 这种匿名用户了。 二、按照向导建立新站点 如果想建立新的站点，可以按照 IIS 的向导进行设置：在 IP 地址这一下拉菜单中可以选择你的 WEB 服务器 IP，缺省情况下应该选择 (全部未分配)。[TIPS: 通过这个下拉菜单可以查看你是否有公网 IP] TCP 默认端口是 80，如修改了端口，则需要用 http://ip:端口 这种格式进行浏览。站点主机头使该站点指定一个域名，如 http://abc.vicp.net。可以在一个相同的 IP 下指定多个主机头。默认为 “无”。 你可以选择 WEB 站点主目录，该目录用于存放主页文件；选中允许匿名访问此站点则其任何人都可以通过网络访问你 WEB 站点。 WEB 站点的访问权限可以设定允许或禁止读取、运行脚本等权限设置。 三、WEB 站点的常规设置 选中刚建立的站点，右击后选择属性，出现站点设置界面:1. 说明:站点的说明，这将出现在 IIS 管理界面中的站点名称2. IP 地址:常规情况下可选择全部未分配。高级选项中可设定主机头高级 WEB 站点标识等设置。3. TCP 端口:指定该站点的访问端口，浏览器访问 WEB 的默认端口是 80。4. 连接: 选择无限选项允许同时发生的连接数不受限制。选择限制同时连接到该站点的连接数。在该对话框中，键入允许连接的最大数目。设定连接超时；如选择无限，则不会断开访问者的连接。5. HTTP激活: 允许客户保持与服务器的开放连接，而不是使用新请求逐个重新打开客户连接。禁用保持 HTTP 激活会降低服务器性能。默认情况下启用保持 HTTP 激活。6. 日志记录:可选择日志格式：IIS 、ODBC 或 W3C 扩充格式，并可定义记录选项如访问者 IP、连接时间等。 操作员: 设定操作 IIS 管理的用户，默认情况只允许管理员权限可操作和管理 IIS。也可以添加多个用户或用户组别参加 IIS 的管理和操作。主目录用于设定该站点的文件目录，可以选择本地目录或另一台计算机的共享位置。本地路径中可以设定站点目录的存放位置，请确保你要有该目录的控制管理权限。访问设置中可指定那些资源可访问那些资源不可访问，要注意的是目录浏览和日志访问；选择日志访问，IIS 会记录该站点的访问记录，你可以选择记录那些资料，如: 访问者 IP 时间等等。应用程序设置中配置访问者能否执行程序和执行那些程序。主文档: 设定该站点的首页文件名,访问者会按照默认文档的顺序访问该站点。要在浏览器请求指定文档名的任何时候提供一默认文档，请选择该复选框。默认文档可以是目录的主页或包含站点文档目录列表的索引页。要添加一个新的默认文档，请单击“添加”。可以使用该特性指定多个默认文档。按出现在列表中的名称顺序提供默认文档。服务器将返回所找到的第一个文档。要更改搜索顺序，请选择一个文档并单击箭头按钮。要从列表中删除默认文档，请单击“删除”。注意: 如果在主目录中没有该首页文件，请马上建立或者进行相关设置。要自动将一个 HTML 格式的页脚附加到 Web 服务器所发送的每个文档中，请选择该选项。页脚文件不应是一个完整的 HTML 文档。而应该只包括需用于格式化页脚内容外观和功能的 HTML 标签。要指定页脚文件的完整路径和文件名，请单击“浏览”。 目录安全性匿名访问和验证控制:要配置 Web 服务器的验证和匿名访问功能，请单击“编辑”。使用该功能配置 Web 服务器在授权访问受限制内容之前确认用户的身份。但是，首先必须创建有效的 Windows 用户帐户，然后配置这些帐户的 Windows 文件系统 (NTFS) 目录和文件访问权限，服务器才能验证用户的身份。请打开 [计算机管理] 进行查看。IP 地址及域名限制(该功能仅在安装有 Windows 2000 Server 的设备中可用。):要允许或阻止特定用户、计算机、计算机组或域访问该 Web 站点、目录或文件，请单击“编辑”。 四、用 IIS 建立多个站点 主机头的使用 新建两个 WEB 站点,分别在主机头中指定两个不同的域名： test-user1.vicp.net 和 test-user2.vicp.net 可在该站点属性的 WEB站点 -&gt; WEB 站点标识 -&gt; IP 地址 -&gt; 高级中随意修改该主机头标识。 使用 nslookup 命令指定用广州电信 ADSL 默认的 DNS 服务器检测出:tset-user1.vicp.net 和 test-user2.vicp.net IP 是一样的。但浏览时显示的确是两个不同的页面。注意:使用主机头建立多个不同域名的站点时，也需要注意主文档等设置。 使用端口配置建立多站点  您可以使用不同的端口来设置多个站点，但访问者的浏览器的默认访问端口是 80，所以您必须告诉访问者您的站点使用的 TCP 端口是什么。 访问格式： http://url:port</subject><description><![CDATA[Windows 2000 Server、Windows 2000 Advanced Server 以及 Windows 2000 Professional 的默认安装都带有 IIS ，也可以在 Windows 2000 安装完毕后加装 IIS。 IIS 是微软出品的架设 WEB、FTP、SMTP 服务器的一套整合软件，捆绑在 Windows2000/NT 中，可以在控制面板的添加/删除程序中选择添加删除 Windows 组件中选择添加 IIS 服务。如下图:IIS 默认的 WEB (主页)文件存放于系统根区中的 %system%\Inetpub\wwwroot 中，主页文件就放在这个目录下；出于安全考虑，因此微软建议用 NTFS 格式化使用 IIS 的所有驱动器。 一、快速配置好默认的 WEB 站点 打开 IIS 管理器,在开始菜单的管理工具中选择 Internet 信息服务或直接在运行中输入 %SystemRoot%\System32\Inetsrv\iis.msc 安装好后的 IIS 已经自动建立了管理和默认两个站点，其中管理 WEB 站点用于站点远程管理，可以暂时停止运行，但最好不要删除，否则重建时会很麻烦的。马上在浏览器中输入这个地址，微软已经预先把详尽的帮助资料放到 IIS 里面了：http://localhost/iishelp/iis/misc/default.asp 右击已存在的“默认 WEB 站点”，选择属性，现在开始配置 IIS 的 WEB 站点。每个 Web 站点都具有唯一的、由三个部分组成的标识，用来接收和响应请求的分别是端口号、IP 地址和主机头名。浏览器访问 IIS 的时候是这样的： IP -&gt; 端口 -&gt; 主机头 -&gt; 该站点主目录 -&gt; 该站点的默认首文档。所以 IIS 的整个配置流程应该按照访问顺序进行设置： 第一步，配置 IP 和 主机头这里可以指定 WEB 站点的 IP，如没有特别需要，则选择全部未分配。如指定了多个主机头，则 IP 一定要选为全部未分配，否则访问者会访问不了的。如果 IIS 只有一个站点，则无需写入主机头标识。然后配置好端口，WEB 站点的默认访问端口是 TCP 80，如果修改了站点端口，则访问者需要输入 http://yourip:端口 才能够进行正常访问。 第二步，指定站点主目录。主目录用来存放站点文件的位置，默认是 %system%\Inetpub\wwwroot 。可以选择其他目录作为存放站点文件的位置，点击浏览后选择好路经就可以了。这里还可以赋予访问者一些权限，例如目录浏览等。基于安全考虑，微软建议在 NTFS 磁盘格式下使用 IIS。 第三步：设定默认文档。每个网站都会有默认文档，默认文档就是访问者访问站点时首先要访问的那个文件；例如 index.htm index.asp default.asp 等等。这里需要指定默认的文档名称和顺序。注意，这里的默认文档是按照从上到下的顺序读取的。 最后一步：设定访问权限。一般赋予访问者有匿名访问的权限，其实IIS 默认已经在系统中建立了 IUSR_机器名 这种匿名用户了。 二、按照向导建立新站点 如果想建立新的站点，可以按照 IIS 的向导进行设置：在 IP 地址这一下拉菜单中可以选择你的 WEB 服务器 IP，缺省情况下应该选择 (全部未分配)。[TIPS: 通过这个下拉菜单可以查看你是否有公网 IP] TCP 默认端口是 80，如修改了端口，则需要用 http://ip:端口 这种格式进行浏览。站点主机头使该站点指定一个域名，如 http://abc.vicp.net。可以在一个相同的 IP 下指定多个主机头。默认为 “无”。 你可以选择 WEB 站点主目录，该目录用于存放主页文件；选中允许匿名访问此站点则其任何人都可以通过网络访问你 WEB 站点。 WEB 站点的访问权限可以设定允许或禁止读取、运行脚本等权限设置。 三、WEB 站点的常规设置 选中刚建立的站点，右击后选择属性，出现站点设置界面:1. 说明:站点的说明，这将出现在 IIS 管理界面中的站点名称2. IP 地址:常规情况下可选择全部未分配。高级选项中可设定主机头高级 WEB 站点标识等设置。3. TCP 端口:指定该站点的访问端口，浏览器访问 WEB 的默认端口是 80。4. 连接: 选择无限选项允许同时发生的连接数不受限制。选择限制同时连接到该站点的连接数。在该对话框中，键入允许连接的最大数目。设定连接超时；如选择无限，则不会断开访问者的连接。5. HTTP激活: 允许客户保持与服务器的开放连接，而不是使用新请求逐个重新打开客户连接。禁用保持 HTTP 激活会降低服务器性能。默认情况下启用保持 HTTP 激活。6. 日志记录:可选择日志格式：IIS 、ODBC 或 W3C 扩充格式，并可定义记录选项如访问者 IP、连接时间等。 操作员: 设定操作 IIS 管理的用户，默认情况只允许管理员权限可操作和管理 IIS。也可以添加多个用户或用户组别参加 IIS 的管理和操作。主目录用于设定该站点的文件目录，可以选择本地目录或另一台计算机的共享位置。本地路径中可以设定站点目录的存放位置，请确保你要有该目录的控制管理权限。访问设置中可指定那些资源可访问那些资源不可访问，要注意的是目录浏览和日志访问；选择日志访问，IIS 会记录该站点的访问记录，你可以选择记录那些资料，如: 访问者 IP 时间等等。应用程序设置中配置访问者能否执行程序和执行那些程序。主文档: 设定该站点的首页文件名,访问者会按照默认文档的顺序访问该站点。要在浏览器请求指定文档名的任何时候提供一默认文档，请选择该复选框。默认文档可以是目录的主页或包含站点文档目录列表的索引页。要添加一个新的默认文档，请单击“添加”。可以使用该特性指定多个默认文档。按出现在列表中的名称顺序提供默认文档。服务器将返回所找到的第一个文档。要更改搜索顺序，请选择一个文档并单击箭头按钮。要从列表中删除默认文档，请单击“删除”。注意: 如果在主目录中没有该首页文件，请马上建立或者进行相关设置。要自动将一个 HTML 格式的页脚附加到 Web 服务器所发送的每个文档中，请选择该选项。页脚文件不应是一个完整的 HTML 文档。而应该只包括需用于格式化页脚内容外观和功能的 HTML 标签。要指定页脚文件的完整路径和文件名，请单击“浏览”。 目录安全性匿名访问和验证控制:要配置 Web 服务器的验证和匿名访问功能，请单击“编辑”。使用该功能配置 Web 服务器在授权访问受限制内容之前确认用户的身份。但是，首先必须创建有效的 Windows 用户帐户，然后配置这些帐户的 Windows 文件系统 (NTFS) 目录和文件访问权限，服务器才能验证用户的身份。请打开 [计算机管理] 进行查看。IP 地址及域名限制(该功能仅在安装有 Windows 2000 Server 的设备中可用。):要允许或阻止特定用户、计算机、计算机组或域访问该 Web 站点、目录或文件，请单击“编辑”。 四、用 IIS 建立多个站点 主机头的使用 新建两个 WEB 站点,分别在主机头中指定两个不同的域名： test-user1.vicp.net 和 test-user2.vicp.net 可在该站点属性的 WEB站点 -&gt; WEB 站点标识 -&gt; IP 地址 -&gt; 高级中随意修改该主机头标识。 使用 nslookup 命令指定用广州电信 ADSL 默认的 DNS 服务器检测出:tset-user1.vicp.net 和 test-user2.vicp.net IP 是一样的。但浏览时显示的确是两个不同的页面。注意:使用主机头建立多个不同域名的站点时，也需要注意主文档等设置。 使用端口配置建立多站点  您可以使用不同的端口来设置多个站点，但访问者的浏览器的默认访问端口是 80，所以您必须告诉访问者您的站点使用的 TCP 端口是什么。 访问格式： http://url:port]]></description><PubDate>2008-12-15 23:45:37</PubDate><category>服务器问题</category></item><item><title>IIS配置文件后门的方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15875</link><subject>作者：tombkeeper pgn 来源：www.loveling.net/黑客基地 本文的内容是如何利用IIS本身的一些特性建立后门。当然，这主要是一份供网络管理员和网络安全工作人员参考的“Know Your Enemy”类文档，作者希望这篇文章能够对检查和清除后门有所帮助，而并不鼓励或赞同利用本文的技巧进行违法活动。  　　首先简单介绍一下IIS的配置文件MetaBase.bin。这个文件位于%SystemRoot%system32inetsrvMetaBase.bin，包含了几乎所有IIS的配置信息，是非常重要的系统文件。简单的说，我们在“intenet服务管理器”中所作的一切设置最终都会被保存在MetaBase.bin中。在日常的系统管理中除了通过“intenet服务管理器”来对MetaBase.bin进行操作外，Windows还提供了一个脚本adsutil.vbs可以对MetaBase.bin进行操作。  　　MetaBase的结构类似于注册表，也是树形结构，有类似键、值、项的概念。事实上在IIS3和PWS中，MetaBase的内容就是存储在注册表中的。MetaBase有两个主键：LM和Schema。其中，Schema保存了系统默认的一些配置，通常不需要修改，一旦改错也非常危险，所以无论是“intenet服务管理器”还是adsutil.vbs都没有提供修改Schema的机制。LM中包含了IIS的HTTP服务，FTP服务，SMTP服务等的配置信息。其中，LM/W3SVC/下是我们要用到的HTTP服务的配置信息。  几个下面会提到的值：  　　LM/W3SVC/InProcessIsapiApps，进程内启动ISAPI。这是一个数组，里面包含的是一组指向一些ISAPI的路径。在这个数组里面的ISAPI运行的时候都是由inetinfo.exe直接启动的，继承inetinfo.exe的local system权限；而不在其中的ISAPI则是由svchost.exe派生的dllhost.exe进程启动的，运行的身份是IWAM_NAME，当然，这是IIS默认的安全级别“中”的情况下，如果设为低，那么所有ISAPI都会由inetinfo.exe直接派生。另外，如果设定的时候不指定路径，而是仅指定一个扩展名，那么任何路径下的同名ISAPI在被调用的时候都会以system权限执行。  　　ScriptMaps，脚本映射。在某个目录下设定该值后，则向该目录请求的特定扩展名的文件会交给指定的ISAPI执行。需要强调的是，设定ScriptMaps的目录并不一定要真实存在的，只要在MetaBase中某个HTTP实例的root键下建了一个子键，对该字键同名目录的HTTP请求IIS会认为是合法的，并会交由映射的ISAPI处理。这也算是IIS的一个问题吧。  　　CreateProcessAsUser，在某个目录下指定改值为0，则该目录下的应用程序会继承inetinfo.exe的local system权限。  　　AccessWrite，决定某个目录是否允许写入，也就是WEBDAV的PUT方法。  　　AccessExecute，决定某个目录是否允许执行应用程序。  后门思路：  　　创建一个特定扩展名的脚本映射，指向我们的ISAPI，并把该ISAPI添加到InProcessIsapiApps列表中。那么我们向服务器请求该扩展名类型文件时就会在服务器上以local system权限执行该ISAPI，且所请求的文件并不需要是真实存在的。  技巧：  　　1、既然并不需要真的建一个目录来设定ScriptMaps，那么就可以只写一个键，并给这个键加上ScriptMaps。这样，从“intenet服务管理器”里是看不出这个目录的，更看不到这个ScriptMaps。  　　2、虽然“intenet服务管理器”里面看不出来，但是有经验的管理员可能习惯于偶尔用adsutil.vbs enum /p来看一下：  # adsutil.vbs enum /p /w3svc/1/root  Microsoft (R) Windows Script Host Version 5.6  版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。  [/w3svc/1/root/_vti_bin]  [/w3svc/1/root/evildir]  　　这样就暴露了。因为我们设的那个键并不是真实存在的虚拟目录，只是配置文件中的一个字符串，所以可以使用0x08这样的字符来做键值。0x08是Backspace键对应的16进制值，控制台上显示的效果是向左边删除一个字符，其实就是把“/”给删了：  # adsutil.vbs enum /p /w3svc/1/root  Microsoft (R) Windows Script Host Version 5.6  版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。  [/w3svc/1/root/_vti_bin]  [/w3svc/1/root]  　　面对这种输出，一般人是不会留意的。  　　当然也可以设为类似_vti_script，_vti_bin这样的名字，只要不设KeyType，在“intenet服务管理器”中是看不见的。  　　因为系统中本身InProcessIsapiApps中有一个WINNTSystem32msw3prt.dll，是.printer的映射，一般用不上。我们可以删掉D:WINNTSystem32msw3prt.dll的值，换上WINNTSystem32inetsrvmsw3prt.dll。  　　美中不足的是HTTP请求会留下痕迹，但是HTTP也有好处，那就是可以随便用一个代理服务器做跳板。另外，也可以用插入0x0D 0x0A来伪造日志的方法，（详见《Apache，IIS等多种http服务器允许通过发送回车符伪造日志》一文）这就是构造目录的技巧了。  具体实现：  　　当然可以用adsutil.vbs手工来加。不过需要注意，adsutil.vbs只能设，不能改，所以用adsutil.vbs的时候一定要把原先的也加上，否则原先的就会丢失。不同条目之间用空格分开。  　　先用下面命令取得当前的InProcessIsapiApps列表： adsutil.vbs get /W3SVC/InProcessIsapiApps  　　取到之后把自己的ISAPI路径也加进去。 adsutil.vbs set /W3SVC/InProcessIsapiApps &quot;C:WINNTSystem32idq.dll&quot; &quot;C:WINNTSystem32inetsrvhttpext.dll&quot; ………………  　　ScriptMaps的设定同InProcessIsapiApps。  　　当然这样比较麻烦，也无法写入0x08这样的键值，所以我干脆自己写个VBS一次性搞定。至于那个做后门的ISAPI，能实现的功能就完全取决于想象力了。这里是一个简单例子的屏幕拷贝：  # nc 10.11.0.26 80  POST /%08/anything.tom  Microsoft Windows 2000 [Version 5.00.2195]  (C) 版权所有 1985-1998 Microsoft Corp.  C:WINNTsystem32&gt;whoami  NT AUTHORITYSYSTEM  C:WINNTsystem32&gt;exit  HTTP/1.1 200 OK  Server: Microsoft-IIS/5.0  Date: Wed, 08 Jan 2003 06:49:37 GMT  　　更隐蔽的方法是写一个特殊的ISAPI，并注册为解析asp的。通常情况下，该程序把收到的请求转给系统原来的asp.dll，并把结果返回，当收到一个特殊POST请求时就启动自己的后门代码，这样日志里面也不会有什么显示。审核时也很难发现。  　　除了上面所述利用脚本映射的方法外，还可以赋予某个虚拟目录AccessWrite和AccessExecute权限。需要运行后门的时候利用WEBDAV上载ISAPI，然后运行，使用完了再删除。（是否能删除？还是需要restart W3SVC ？我没有试验。）如果上载的不是DLL而是EXE文件，那么把该目录下的CreateProcessAsUser设为0也可以获得local system权限，这个方法早有人撰文论述。但AccessWrite和AccessExecute的改变都可以在“intenet服务管理器”中看出来，隐蔽性就差了。</subject><description><![CDATA[作者：tombkeeper pgn 来源：www.loveling.net/黑客基地 本文的内容是如何利用IIS本身的一些特性建立后门。当然，这主要是一份供网络管理员和网络安全工作人员参考的“Know Your Enemy”类文档，作者希望这篇文章能够对检查和清除后门有所帮助，而并不鼓励或赞同利用本文的技巧进行违法活动。  　　首先简单介绍一下IIS的配置文件MetaBase.bin。这个文件位于%SystemRoot%system32inetsrvMetaBase.bin，包含了几乎所有IIS的配置信息，是非常重要的系统文件。简单的说，我们在“intenet服务管理器”中所作的一切设置最终都会被保存在MetaBase.bin中。在日常的系统管理中除了通过“intenet服务管理器”来对MetaBase.bin进行操作外，Windows还提供了一个脚本adsutil.vbs可以对MetaBase.bin进行操作。  　　MetaBase的结构类似于注册表，也是树形结构，有类似键、值、项的概念。事实上在IIS3和PWS中，MetaBase的内容就是存储在注册表中的。MetaBase有两个主键：LM和Schema。其中，Schema保存了系统默认的一些配置，通常不需要修改，一旦改错也非常危险，所以无论是“intenet服务管理器”还是adsutil.vbs都没有提供修改Schema的机制。LM中包含了IIS的HTTP服务，FTP服务，SMTP服务等的配置信息。其中，LM/W3SVC/下是我们要用到的HTTP服务的配置信息。  几个下面会提到的值：  　　LM/W3SVC/InProcessIsapiApps，进程内启动ISAPI。这是一个数组，里面包含的是一组指向一些ISAPI的路径。在这个数组里面的ISAPI运行的时候都是由inetinfo.exe直接启动的，继承inetinfo.exe的local system权限；而不在其中的ISAPI则是由svchost.exe派生的dllhost.exe进程启动的，运行的身份是IWAM_NAME，当然，这是IIS默认的安全级别“中”的情况下，如果设为低，那么所有ISAPI都会由inetinfo.exe直接派生。另外，如果设定的时候不指定路径，而是仅指定一个扩展名，那么任何路径下的同名ISAPI在被调用的时候都会以system权限执行。  　　ScriptMaps，脚本映射。在某个目录下设定该值后，则向该目录请求的特定扩展名的文件会交给指定的ISAPI执行。需要强调的是，设定ScriptMaps的目录并不一定要真实存在的，只要在MetaBase中某个HTTP实例的root键下建了一个子键，对该字键同名目录的HTTP请求IIS会认为是合法的，并会交由映射的ISAPI处理。这也算是IIS的一个问题吧。  　　CreateProcessAsUser，在某个目录下指定改值为0，则该目录下的应用程序会继承inetinfo.exe的local system权限。  　　AccessWrite，决定某个目录是否允许写入，也就是WEBDAV的PUT方法。  　　AccessExecute，决定某个目录是否允许执行应用程序。  后门思路：  　　创建一个特定扩展名的脚本映射，指向我们的ISAPI，并把该ISAPI添加到InProcessIsapiApps列表中。那么我们向服务器请求该扩展名类型文件时就会在服务器上以local system权限执行该ISAPI，且所请求的文件并不需要是真实存在的。  技巧：  　　1、既然并不需要真的建一个目录来设定ScriptMaps，那么就可以只写一个键，并给这个键加上ScriptMaps。这样，从“intenet服务管理器”里是看不出这个目录的，更看不到这个ScriptMaps。  　　2、虽然“intenet服务管理器”里面看不出来，但是有经验的管理员可能习惯于偶尔用adsutil.vbs enum /p来看一下：  # adsutil.vbs enum /p /w3svc/1/root  Microsoft (R) Windows Script Host Version 5.6  版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。  [/w3svc/1/root/_vti_bin]  [/w3svc/1/root/evildir]  　　这样就暴露了。因为我们设的那个键并不是真实存在的虚拟目录，只是配置文件中的一个字符串，所以可以使用0x08这样的字符来做键值。0x08是Backspace键对应的16进制值，控制台上显示的效果是向左边删除一个字符，其实就是把“/”给删了：  # adsutil.vbs enum /p /w3svc/1/root  Microsoft (R) Windows Script Host Version 5.6  版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。  [/w3svc/1/root/_vti_bin]  [/w3svc/1/root]  　　面对这种输出，一般人是不会留意的。  　　当然也可以设为类似_vti_script，_vti_bin这样的名字，只要不设KeyType，在“intenet服务管理器”中是看不见的。  　　因为系统中本身InProcessIsapiApps中有一个WINNTSystem32msw3prt.dll，是.printer的映射，一般用不上。我们可以删掉D:WINNTSystem32msw3prt.dll的值，换上WINNTSystem32inetsrvmsw3prt.dll。  　　美中不足的是HTTP请求会留下痕迹，但是HTTP也有好处，那就是可以随便用一个代理服务器做跳板。另外，也可以用插入0x0D 0x0A来伪造日志的方法，（详见《Apache，IIS等多种http服务器允许通过发送回车符伪造日志》一文）这就是构造目录的技巧了。  具体实现：  　　当然可以用adsutil.vbs手工来加。不过需要注意，adsutil.vbs只能设，不能改，所以用adsutil.vbs的时候一定要把原先的也加上，否则原先的就会丢失。不同条目之间用空格分开。  　　先用下面命令取得当前的InProcessIsapiApps列表： adsutil.vbs get /W3SVC/InProcessIsapiApps  　　取到之后把自己的ISAPI路径也加进去。 adsutil.vbs set /W3SVC/InProcessIsapiApps &quot;C:WINNTSystem32idq.dll&quot; &quot;C:WINNTSystem32inetsrvhttpext.dll&quot; ………………  　　ScriptMaps的设定同InProcessIsapiApps。  　　当然这样比较麻烦，也无法写入0x08这样的键值，所以我干脆自己写个VBS一次性搞定。至于那个做后门的ISAPI，能实现的功能就完全取决于想象力了。这里是一个简单例子的屏幕拷贝：  # nc 10.11.0.26 80  POST /%08/anything.tom  Microsoft Windows 2000 [Version 5.00.2195]  (C) 版权所有 1985-1998 Microsoft Corp.  C:WINNTsystem32&gt;whoami  NT AUTHORITYSYSTEM  C:WINNTsystem32&gt;exit  HTTP/1.1 200 OK  Server: Microsoft-IIS/5.0  Date: Wed, 08 Jan 2003 06:49:37 GMT  　　更隐蔽的方法是写一个特殊的ISAPI，并注册为解析asp的。通常情况下，该程序把收到的请求转给系统原来的asp.dll，并把结果返回，当收到一个特殊POST请求时就启动自己的后门代码，这样日志里面也不会有什么显示。审核时也很难发现。  　　除了上面所述利用脚本映射的方法外，还可以赋予某个虚拟目录AccessWrite和AccessExecute权限。需要运行后门的时候利用WEBDAV上载ISAPI，然后运行，使用完了再删除。（是否能删除？还是需要restart W3SVC ？我没有试验。）如果上载的不是DLL而是EXE文件，那么把该目录下的CreateProcessAsUser设为0也可以获得local system权限，这个方法早有人撰文论述。但AccessWrite和AccessExecute的改变都可以在“intenet服务管理器”中看出来，隐蔽性就差了。]]></description><PubDate>2008-12-15 23:45:37</PubDate><category>服务器问题</category></item><item><title>IIS日志转到sqlserver的实现方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15876</link><subject>IIS日志格式默认是txt的,查起来很不方便,我实在懒的看,在网上找点资料了看下, 把日志存在sqlserver里比较方便查询. 1 建立一个iis的数据库，添加InetAdmin用户，指定该用户为iis数据库的所有者,并设置好相关权限。  2 执行logtemp.sql查询文件，建立表。其内容如下：  　　create table inetlog (  　　ClientHost varchar(255),  　　username varchar(255),  　　LogTime datetime,  　　service varchar( 255),  　　machine varchar( 255),  　　serverip varchar( 50),  　　processingtime int,  　　bytesrecvd int,  　　bytessent int,  　　servicestatus int,  　　win32status int,  　　operation varchar( 255),  　　target varchar(255),  　　parameters varchar(255) )  3 根据IIS5的ODBC日志默认值，进入ODBC数据源管理器建立一个名为“HTTPLOG”的“系统DSN”与iis数据库连接，建立时使用InetAdmin帐号。  4 将“活动日志格式（V）”改为“ODBC Logging ”。  然后就可以自己根据需要查询了.</subject><description><![CDATA[IIS日志格式默认是txt的,查起来很不方便,我实在懒的看,在网上找点资料了看下, 把日志存在sqlserver里比较方便查询. 1 建立一个iis的数据库，添加InetAdmin用户，指定该用户为iis数据库的所有者,并设置好相关权限。  2 执行logtemp.sql查询文件，建立表。其内容如下：  　　create table inetlog (  　　ClientHost varchar(255),  　　username varchar(255),  　　LogTime datetime,  　　service varchar( 255),  　　machine varchar( 255),  　　serverip varchar( 50),  　　processingtime int,  　　bytesrecvd int,  　　bytessent int,  　　servicestatus int,  　　win32status int,  　　operation varchar( 255),  　　target varchar(255),  　　parameters varchar(255) )  3 根据IIS5的ODBC日志默认值，进入ODBC数据源管理器建立一个名为“HTTPLOG”的“系统DSN”与iis数据库连接，建立时使用InetAdmin帐号。  4 将“活动日志格式（V）”改为“ODBC Logging ”。  然后就可以自己根据需要查询了.]]></description><PubDate>2008-12-15 23:45:37</PubDate><category>服务器问题</category></item><item><title>在dos(CMD)下建立VPN的方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15877</link><subject>来源：守护天使'S Blog 1.前提 服务里 windows防火墙停止（或者麻烦点可以把router协议，端口1723配进去） 远程注册表服务必须开启 server服务必须开启 router路由服务必须开启 两块以上网卡的win2000做vpn很方便，添加nat协议后，客户端拨入，能够使用远程网络连接internet。 使得部分客户端可提高网络速度，并达到代理的作用。 一块网卡的winxp，win2003做类似的vpn仍然很方便，nat协议添加后，再添加两个接口，一个是本地连接，一个是内部，设置本地连接为全转发，内部为私有模式，既可让有权限的用户拨入。 一块网卡的win2000，做类似的vpn就不方便了，nat协议添加后，再添加接口，只可以添加上本地连接，内部不容许图形界面的添加，察看了netsh dump &gt;c:\1.txt后，尝试在netsh命令添加内部接口，通过。 命令为：netsh routing ip nat add interface 内部 private 下面是部分常用命令： netsh ras set user username permit //设置用户授权，该用户不能为tsinternetuser support_388945a0等。 netsh ras ip set addrassign pool //设置静态地址池模式 netsh ras ip add range 10.0.0.1 10.0.0.100 // 设置静态池范围 ，要用标准的局域网地址，避免将来在访问internet时候地址转发错误。 netsh routing ip nat install //添加nat协议 netsh routing ip nat add interface 本地连接 full //添加nat接口本地连接全转发 netsh routing ip nat add interface 内部 private //添加nat借口内部私有模式 igmp同样可以在netsh配置，命令行很长： netsh routing ip igmp install netsh routing ip igmp add interface 内部 igmpprototype=IGMPRTRV2 ifenabled=enable robustvar=2 startupquerycount=2 startupqueryinterval=31 genqueryinterval=125 genqueryresptime=10 lastmemquerycount=2 lastmemqueryinterval=1000 accnonrtralertpkts=YES netsh routing ip igmp add interface name=&quot;本地连接&quot; igmpprototype=IGMPPROXY ifenabled=enable 如果配置前已经有接口，就要先删除： netsh routing ip igmp delete interface 内部 //与此类似 路由和远程访问服务会在系统、安全日记中记录不少信息，比如ipsec、登陆信息。 修改一下注册表可以避免： HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters ProhibitIPsec&quot;=dword:00000001 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters LoggingFlags&quot;=dword:00000000 现在除了登陆信息，ipsec,remoteaccess警告，已经不记录。 ---------------------------------------- 还有值得一提的是建立好地vpn，通常使用的都是pptp协议，tcp1723端口，如果我们在网卡的ip策略添加了tcp1723的容许条目，基本上可以拨入。为什么是基本呢，因为pptp除了 tcp1723外还有一个ip47号协议，不同于tcp不同于udp，此协议对于认证很重要。如果网络上的防火墙割断的话，会出现拨号-&gt;用户认证 -&gt;不通过认证断开的问题。 在配置vpn的时候，还需要remoteregister服务的支持，建立好以后可以关掉。 workstation , server,rpc同样在配置时候需要。 ---------------------------------------- 经测试，全命令行的建立vpn后，rrasmgmt.msc不出现具体配置信息。也就是说只有看网络连接文件夹，才能看出来一个拨入的连接。貌似隐蔽，比较见鬼。</subject><description><![CDATA[来源：守护天使'S Blog 1.前提 服务里 windows防火墙停止（或者麻烦点可以把router协议，端口1723配进去） 远程注册表服务必须开启 server服务必须开启 router路由服务必须开启 两块以上网卡的win2000做vpn很方便，添加nat协议后，客户端拨入，能够使用远程网络连接internet。 使得部分客户端可提高网络速度，并达到代理的作用。 一块网卡的winxp，win2003做类似的vpn仍然很方便，nat协议添加后，再添加两个接口，一个是本地连接，一个是内部，设置本地连接为全转发，内部为私有模式，既可让有权限的用户拨入。 一块网卡的win2000，做类似的vpn就不方便了，nat协议添加后，再添加接口，只可以添加上本地连接，内部不容许图形界面的添加，察看了netsh dump &gt;c:\1.txt后，尝试在netsh命令添加内部接口，通过。 命令为：netsh routing ip nat add interface 内部 private 下面是部分常用命令： netsh ras set user username permit //设置用户授权，该用户不能为tsinternetuser support_388945a0等。 netsh ras ip set addrassign pool //设置静态地址池模式 netsh ras ip add range 10.0.0.1 10.0.0.100 // 设置静态池范围 ，要用标准的局域网地址，避免将来在访问internet时候地址转发错误。 netsh routing ip nat install //添加nat协议 netsh routing ip nat add interface 本地连接 full //添加nat接口本地连接全转发 netsh routing ip nat add interface 内部 private //添加nat借口内部私有模式 igmp同样可以在netsh配置，命令行很长： netsh routing ip igmp install netsh routing ip igmp add interface 内部 igmpprototype=IGMPRTRV2 ifenabled=enable robustvar=2 startupquerycount=2 startupqueryinterval=31 genqueryinterval=125 genqueryresptime=10 lastmemquerycount=2 lastmemqueryinterval=1000 accnonrtralertpkts=YES netsh routing ip igmp add interface name=&quot;本地连接&quot; igmpprototype=IGMPPROXY ifenabled=enable 如果配置前已经有接口，就要先删除： netsh routing ip igmp delete interface 内部 //与此类似 路由和远程访问服务会在系统、安全日记中记录不少信息，比如ipsec、登陆信息。 修改一下注册表可以避免： HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters ProhibitIPsec&quot;=dword:00000001 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters LoggingFlags&quot;=dword:00000000 现在除了登陆信息，ipsec,remoteaccess警告，已经不记录。 ---------------------------------------- 还有值得一提的是建立好地vpn，通常使用的都是pptp协议，tcp1723端口，如果我们在网卡的ip策略添加了tcp1723的容许条目，基本上可以拨入。为什么是基本呢，因为pptp除了 tcp1723外还有一个ip47号协议，不同于tcp不同于udp，此协议对于认证很重要。如果网络上的防火墙割断的话，会出现拨号-&gt;用户认证 -&gt;不通过认证断开的问题。 在配置vpn的时候，还需要remoteregister服务的支持，建立好以后可以关掉。 workstation , server,rpc同样在配置时候需要。 ---------------------------------------- 经测试，全命令行的建立vpn后，rrasmgmt.msc不出现具体配置信息。也就是说只有看网络连接文件夹，才能看出来一个拨入的连接。貌似隐蔽，比较见鬼。]]></description><PubDate>2008-12-15 23:45:37</PubDate><category>服务器问题</category></item><item><title>Win2003下安装PHP5.2.0+MySql5.0.27+PHPMyAdmin2.9.1的配置方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15897</link><subject>先下载所需要安装的东东~~  PHP 5.2.0 官方下载地址：http://www.php.net/downloads.php  mysql-5.0.27 官方下载地址：http://dev.mysql.com/downloads/mysql/5.0.html  phpMyAdmin for Windows V2.9.1 官方下载地址：http://www.phpmyadmin.net/home_page/index.php  你也可以上天空站下载：http://www.skycn.com/soft/10687.html  第一步：配置PHP  　　如果你下载的是安装版的php，安装的时候可以选择使用IIS，安装完毕就会自动配置好IIS。如果你下载的是zip版的，则按照以下步骤配置：  1、把PHP-5.2.0 zip（目前最新版本）解压放到 D:\php (你可以选择目录，本例以此说明)。  2、将php.ini-dist复制到 C:\Windows 目录下并改名为php.ini，复制 php5ts.dll和 libmysql.dll到 C:\Windows\system32 中。  3、用记事本打开php.ini，查找“extension_dir”，然后把 extension_dir = &quot;./&quot;修改为 extension_dir = &quot;D:\php\ext&quot;　　注意：路径在Win下一定要使用\  4、在记事本中查找“;extension=php_mysql.dll”和“;extension=php_gd2.dll”，然后把前面的“;”去掉，即把 ;extension=php_mysql.dll 改为 extension=php_mysql.dll  把以下内容前面的;去掉  ;extension=php_mbstring.dll  ;extension=php_gd2.dll  ;extension=php_dbase.dll  ;extension=php_ldap.dll  5、找到 ;session.save_path = &quot;/tmp&quot;　将';'去掉.设置你保存session的目录。  如：session.save_path = &quot;C:\Windows\Temp&quot;;  6、找到 register_globals 将 Off 改为 On  7、找到 allow_url_include 将 Off 改为 On  8、保存 php.ini  9、接下来在IIS中进行设置，打开Web服务扩展，添加PHP扩展，扩展名为PHP,要求的文件为d:\php\php5isapi.dll，打开默认网站-〉属性对话框，切换到“主目录”选项卡，然后点“配置”按钮打开“应用程序配置对话框”，点“添加”按钮打开“添加/编辑应用程序扩展名映射”对话框。在“可执行文件”输入框中，指向d:\php\php5isapi.dll，在“扩展名”输入框里面输入“.php”，并选中“脚本引擎”和“检查文件是否存在”两个复选框，一路确定，选择文档，添加默认内容为 index.php ,确定并重启IIS后退出IIS。  此时PHP环境基本已经配置成功   在WEB根目录（如我的D:\website）里建一个名为test.php的文件内容如下  &lt;? echo phpinfo(); ?&gt;   用浏览器打开 http://localhost/test.php  如果可以看到php配置输出信息就OK了  第二步：安装MySql  1、先安装mysql，双击执行 Setup.exe，点Next选择Custom（自定义）安装，然后点Next（下一步），默认安装目录为 C:\Program Files\MySQL\MySQL Server 5.0\ 为了方便进入我们可以安装在D盘根目录下，点Change（改变目录）按钮来更改安装目录为D:\mysql。完成后出现创建 MySQL.com 帐号的界面，简单一点，我们选择Skip Sign-Up跳过这一步，既安装完成。这里有个配置向导的选项Configure the MySQL Server now默认的是选起的，我们就顺便完成配置吧。  　　这里的配置是很简单的，我们只要点Next（下一步）即可，有几个地方要说明：Install As Windows Service默认的是选中的，这一选项要选上，作用是将MySQL作为Windows的服务运行。Service Name（服务名）默认的“MySQL”，可以改你喜欢的服务名。下面的Launch the MySQL Server automatically要勾选，这样Windows启动时，MySQL就会自动启动服务。Include Bin Directory in Windows PATH这一选项是修改环境变量，在PATH的值中增加../bin目录，可以根据怎么的爱好来决定是否选上，如果选上，在CMD下不需要进入bin目录就可以运行mysql。在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312，接着点下一步，Modify Security Settings是设置根帐号的密码，设置后点下一步，excute完成安装。  　　如果是zip文件，用解压缩软件将压缩包直接解压到指定目录，如 D:\mysql；   2、安装完成后，打开“开始”按钮中的“运行”，输入命令：D:\mysql\bin\mysqld-nt.exe --install，并执行；  3、打开“开始”按钮下的“程序”=》“管理工具”=》“服务”，找到“mysql”服务，启动它；   4、至此，mysql安装完成，重启win2003 server。您还可以打开D:\mysql\bin\MySQLInstanceConfig.exe，再次配置MySQL，在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312（我选择的是 gbk ），后面还会要求输入 root 登录密码（如：123456）。  　　至此，mysql安装完成。  第三步：PHPMyAdmin 的安装配置  1、将phpMyAdmin-2.9.1.zip解压到WEB根目录(d:\website\中去)，重命名文件夹为myadmin或其它  打开myadmin 目录中的 config.sample.inc.php  找到以下这些(以下我已改好):  $cfg['blowfish_secret'] = 'cookie'; //在等号后的单引号内加入 cookie  $cfg['Servers'][$i]['controluser'] = 'root'; //将 pmausr 改为 root  $cfg['Servers'][$i]['controlpass'] = '123456'; //分别填上你mysql的用户和密码即可  改好了保存并将config.sample.inc.php改为config.inc.php,在浏览器打开http://localhost/myadmin 输入你的用户名和密码,便可以管理mysql了。  　　如果以上都正常的话，开始建网站吧 ^-^</subject><description><![CDATA[先下载所需要安装的东东~~  PHP 5.2.0 官方下载地址：http://www.php.net/downloads.php  mysql-5.0.27 官方下载地址：http://dev.mysql.com/downloads/mysql/5.0.html  phpMyAdmin for Windows V2.9.1 官方下载地址：http://www.phpmyadmin.net/home_page/index.php  你也可以上天空站下载：http://www.skycn.com/soft/10687.html  第一步：配置PHP  　　如果你下载的是安装版的php，安装的时候可以选择使用IIS，安装完毕就会自动配置好IIS。如果你下载的是zip版的，则按照以下步骤配置：  1、把PHP-5.2.0 zip（目前最新版本）解压放到 D:\php (你可以选择目录，本例以此说明)。  2、将php.ini-dist复制到 C:\Windows 目录下并改名为php.ini，复制 php5ts.dll和 libmysql.dll到 C:\Windows\system32 中。  3、用记事本打开php.ini，查找“extension_dir”，然后把 extension_dir = &quot;./&quot;修改为 extension_dir = &quot;D:\php\ext&quot;　　注意：路径在Win下一定要使用\  4、在记事本中查找“;extension=php_mysql.dll”和“;extension=php_gd2.dll”，然后把前面的“;”去掉，即把 ;extension=php_mysql.dll 改为 extension=php_mysql.dll  把以下内容前面的;去掉  ;extension=php_mbstring.dll  ;extension=php_gd2.dll  ;extension=php_dbase.dll  ;extension=php_ldap.dll  5、找到 ;session.save_path = &quot;/tmp&quot;　将';'去掉.设置你保存session的目录。  如：session.save_path = &quot;C:\Windows\Temp&quot;;  6、找到 register_globals 将 Off 改为 On  7、找到 allow_url_include 将 Off 改为 On  8、保存 php.ini  9、接下来在IIS中进行设置，打开Web服务扩展，添加PHP扩展，扩展名为PHP,要求的文件为d:\php\php5isapi.dll，打开默认网站-〉属性对话框，切换到“主目录”选项卡，然后点“配置”按钮打开“应用程序配置对话框”，点“添加”按钮打开“添加/编辑应用程序扩展名映射”对话框。在“可执行文件”输入框中，指向d:\php\php5isapi.dll，在“扩展名”输入框里面输入“.php”，并选中“脚本引擎”和“检查文件是否存在”两个复选框，一路确定，选择文档，添加默认内容为 index.php ,确定并重启IIS后退出IIS。  此时PHP环境基本已经配置成功   在WEB根目录（如我的D:\website）里建一个名为test.php的文件内容如下  &lt;? echo phpinfo(); ?&gt;   用浏览器打开 http://localhost/test.php  如果可以看到php配置输出信息就OK了  第二步：安装MySql  1、先安装mysql，双击执行 Setup.exe，点Next选择Custom（自定义）安装，然后点Next（下一步），默认安装目录为 C:\Program Files\MySQL\MySQL Server 5.0\ 为了方便进入我们可以安装在D盘根目录下，点Change（改变目录）按钮来更改安装目录为D:\mysql。完成后出现创建 MySQL.com 帐号的界面，简单一点，我们选择Skip Sign-Up跳过这一步，既安装完成。这里有个配置向导的选项Configure the MySQL Server now默认的是选起的，我们就顺便完成配置吧。  　　这里的配置是很简单的，我们只要点Next（下一步）即可，有几个地方要说明：Install As Windows Service默认的是选中的，这一选项要选上，作用是将MySQL作为Windows的服务运行。Service Name（服务名）默认的“MySQL”，可以改你喜欢的服务名。下面的Launch the MySQL Server automatically要勾选，这样Windows启动时，MySQL就会自动启动服务。Include Bin Directory in Windows PATH这一选项是修改环境变量，在PATH的值中增加../bin目录，可以根据怎么的爱好来决定是否选上，如果选上，在CMD下不需要进入bin目录就可以运行mysql。在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312，接着点下一步，Modify Security Settings是设置根帐号的密码，设置后点下一步，excute完成安装。  　　如果是zip文件，用解压缩软件将压缩包直接解压到指定目录，如 D:\mysql；   2、安装完成后，打开“开始”按钮中的“运行”，输入命令：D:\mysql\bin\mysqld-nt.exe --install，并执行；  3、打开“开始”按钮下的“程序”=》“管理工具”=》“服务”，找到“mysql”服务，启动它；   4、至此，mysql安装完成，重启win2003 server。您还可以打开D:\mysql\bin\MySQLInstanceConfig.exe，再次配置MySQL，在Manual Selected Default Character Set / Collation 下 Character Set: 选择 gbk 或 gb2312（我选择的是 gbk ），后面还会要求输入 root 登录密码（如：123456）。  　　至此，mysql安装完成。  第三步：PHPMyAdmin 的安装配置  1、将phpMyAdmin-2.9.1.zip解压到WEB根目录(d:\website\中去)，重命名文件夹为myadmin或其它  打开myadmin 目录中的 config.sample.inc.php  找到以下这些(以下我已改好):  $cfg['blowfish_secret'] = 'cookie'; //在等号后的单引号内加入 cookie  $cfg['Servers'][$i]['controluser'] = 'root'; //将 pmausr 改为 root  $cfg['Servers'][$i]['controlpass'] = '123456'; //分别填上你mysql的用户和密码即可  改好了保存并将config.sample.inc.php改为config.inc.php,在浏览器打开http://localhost/myadmin 输入你的用户名和密码,便可以管理mysql了。  　　如果以上都正常的话，开始建网站吧 ^-^]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>[推荐]Win2003 服务器的详细架设</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15901</link><subject>一、Windows Server2003的安装 1、安装系统最少两需要个分区，分区格式都采用NTFS格式 2、在断开网络的情况安装好2003系统 3、安装IIS，仅安装必要的 IIS 组件（禁用不需要的如FTP 和 SMTP 服务）。默认情况下，IIS服务没有安装，在添加/删除Win组件中选择“应用程序服务器”，然后点击“详细信息”，双击Internet信息服务(iis)，勾选以下选项： Internet 信息服务管理器； 公用文件； 后台智能传输服务 (BITS) 服务器扩展； 万维网服务。 如果你使用 FrontPage 扩展的 Web 站点再勾选：FrontPage 2002 Server Extensions 4、安装MSSQL及其它所需要的软件然后进行Update。 5、使用Microsoft 提供的 MBSA（Microsoft Baseline Security Analyzer） 工具分析计算机的安全配置，并标识缺少的修补程序和更新。二、设置和管理账户 1、系统管理员账户最好少建，更改默认的管理员帐户名（Administrator）和描述，密码最好采用数字加大小写字母加数字的上档键组合，长度最好不少于14位。 2、新建一个名为Administrator的陷阱帐号，为其设置最小的权限，然后随便输入组合的最好不低于20位的密码 3、将Guest账户禁用并更改名称和描述，然后输入一个复杂的密码，当然现在也有一个DelGuest的工具，也许你也可以利用它来删除Guest账户，但我没有试过。 4、在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略，将账户设为“三次登陆无效”，“锁定时间为30分钟”，“复位锁定计数设为30分钟”。 5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用 6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。 7、创建一个User账户，运行系统，如果要运行特权命令使用Runas命令。 三、网络服务安全管理 1、禁止C$、D$、ADMIN$一类的缺省共享 打开注册表，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters，在右边的窗口中新建Dword值，名称设为AutoShareServer值设为0 2、 解除NetBios与TCP/IP协议的绑定 右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS 3、关闭不需要的服务，以下为建议选项 Computer Browser:维护网络计算机更新，禁用 Distributed File System: 局域网管理共享文件，不需要禁用 Distributed linktracking client：用于局域网更新连接信息，不需要禁用 Error reporting service：禁止发送错误报告 Microsoft Serch：提供快速的单词搜索，不需要可禁用 NTLMSecuritysupportprovide：telnet服务和Microsoft Serch用的，不需要禁用 PrintSpooler：如果没有打印机可禁用 Remote Registry：禁止远程修改注册表 Remote Desktop Help Session Manager：禁止远程协助(一般要用的) 四、打开相应的审核策略 在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多，生成的事件也就越多，那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件，你需要根据情况在这二者之间做出选择。 推荐的要审核的项目是： 登录事件 成功 失败 账户登录事件 成功 失败 系统事件 成功 失败 策略更改 成功 失败 对象访问 失败 目录服务访问 失败 特权使用 失败 五、其它安全相关设置 1、隐藏重要文件/目录 可以修改注册表实现完全隐藏：“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”，鼠标右击 “CheckedValue”，选择修改，把数值由1改为0 2、启动系统自带的Internet连接防火墙，在设置服务选项中勾选Web服务器。 3、防止SYN洪水攻击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值，名为SynAttackProtect，值为2 4. 禁止响应ICMP路由通告报文    　　HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface 新建DWORD值，名为PerformRouterDiscovery 值为0 5. 防止ICMP重定向报文的攻击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 将EnableICMPRedirects 值设为0 6. 不支持IGMP协议 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值，名为IGMPLevel 值为0 7、禁用DCOM： 运行中输入 Dcomcnfg.exe。 回车， 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。 对于本地计算机，请以右键单击“我的电脑”，然后选择“属性”。选择“默认属性”选项卡。 清除“在这台计算机上启用分布式 COM”复选框。 注：3-6项内容我采用的是Server2000设置，没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。 六、配置 IIS 服务： 1、不使用默认的Web站点，如果使用也要将 将IIS目录与系统磁盘分开。 2、删除IIS默认创建的Inetpub目录（在安装系统的盘上）。 3、删除系统盘下的虚拟目录，如：_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。 4、删除不必要的IIS扩展名映射。 右键单击“默认Web站点→属性→主目录→配置”，打开应用程序窗口，去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm 5、更改IIS日志的路径 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性 6、如果使用的是2000可以使用iislockdown来保护IIS，在2003运行的IE6.0的版本不需要。 7、使用UrlScan UrlScan是一个ISAPI筛选器，它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5，如果是2000Server需要先安装1.0或2.0的版本。如果没有特殊的要求采用UrlScan默认配置就可以了。 但如果你在服务器运行ASP.NET程序，并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan 文件夹中的URLScan.ini 文件，然后在UserAllowVerbs节添加debug谓词，注意此节是区分大小写的。 如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。 如果你的网页使用了非ASCII代码，你需要在Option节中将AllowHighBitCharacters的值设为1 在对URLScan.ini 文件做了更改后，你需要重启IIS服务才能生效，快速方法运行中输入iisreset 如果你在配置后出现什么问题，你可以通过添加/删除程序删除UrlScan。 8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描. 下载地址：[http://www.fanvb.net/websample/othersample.aspx]VB.NET爱好者[/url] 七、配置Sql服务器 1、System Administrators 角色最好不要超过两个 2、如果是在本机最好将身份验证配置为Win登陆 3、不要使用Sa账户，为其配置一个超级复杂的密码 4、删除以下的扩展存储过程格式为： 　　use master 　　sp_dropextendedproc '扩展存储过程名' xp_cmdshell：是进入操作系统的最佳捷径，删除 访问注册表的存储过程，删除 　　Xp_regaddmultistring　　Xp_regdeletekey　　Xp_regdeletevalue　　Xp_regenumvalues 　　Xp_regread　　　　　 Xp_regwrite　　　 Xp_regremovemultistring OLE自动存储过程，不需要删除 　　Sp_OACreate　 　Sp_OADestroy　　　　Sp_OAGetErrorInfo　　Sp_OAGetProperty 　　Sp_OAMethod　　Sp_OASetProperty　　Sp_OAStop 5、隐藏 SQL Server、更改默认的1433端口 右击实例选属性-常规-网络配置中选择TCP/IP协议的属性，选择隐藏 SQL Server 实例，并改原默认的1433端口。 八、如果只做服务器，不进行其它操作，使用IPSec 1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器操作—在管理IP筛选器表选项下点击 添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口，第二项到此端口80——点击完成——点击确定。 2、再在管理IP筛选器表选项下点击 添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。 3、在管理筛选器操作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器操作窗口 4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成 5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的 Web筛选器——下一步——在筛选器操作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器操作中选择阻止 ——下一步——完成——确定 6、在IP安全策略的右边窗口中右击新建的数据包筛选器，点击指派，不需要重启，IPSec就可生效. 九、建议 如果你按本文去操作，建议每做一项更改就测试一下服务器，如果有问题可以马上撤消更改。而如果更改的项数多，才发现出问题，那就很难判断问题是出在哪一步上了。 十、运行服务器记录当前的程序和开放的端口 1、将当前服务器的进程抓图或记录下来，将其保存，方便以后对照查看是否有不明的程序。 2、将当前开放的端口抓图或记录下来，保存，方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程，和端口这一步可以省略</subject><description><![CDATA[一、Windows Server2003的安装 1、安装系统最少两需要个分区，分区格式都采用NTFS格式 2、在断开网络的情况安装好2003系统 3、安装IIS，仅安装必要的 IIS 组件（禁用不需要的如FTP 和 SMTP 服务）。默认情况下，IIS服务没有安装，在添加/删除Win组件中选择“应用程序服务器”，然后点击“详细信息”，双击Internet信息服务(iis)，勾选以下选项： Internet 信息服务管理器； 公用文件； 后台智能传输服务 (BITS) 服务器扩展； 万维网服务。 如果你使用 FrontPage 扩展的 Web 站点再勾选：FrontPage 2002 Server Extensions 4、安装MSSQL及其它所需要的软件然后进行Update。 5、使用Microsoft 提供的 MBSA（Microsoft Baseline Security Analyzer） 工具分析计算机的安全配置，并标识缺少的修补程序和更新。二、设置和管理账户 1、系统管理员账户最好少建，更改默认的管理员帐户名（Administrator）和描述，密码最好采用数字加大小写字母加数字的上档键组合，长度最好不少于14位。 2、新建一个名为Administrator的陷阱帐号，为其设置最小的权限，然后随便输入组合的最好不低于20位的密码 3、将Guest账户禁用并更改名称和描述，然后输入一个复杂的密码，当然现在也有一个DelGuest的工具，也许你也可以利用它来删除Guest账户，但我没有试过。 4、在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略，将账户设为“三次登陆无效”，“锁定时间为30分钟”，“复位锁定计数设为30分钟”。 5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用 6、在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。 7、创建一个User账户，运行系统，如果要运行特权命令使用Runas命令。 三、网络服务安全管理 1、禁止C$、D$、ADMIN$一类的缺省共享 打开注册表，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters，在右边的窗口中新建Dword值，名称设为AutoShareServer值设为0 2、 解除NetBios与TCP/IP协议的绑定 右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS 3、关闭不需要的服务，以下为建议选项 Computer Browser:维护网络计算机更新，禁用 Distributed File System: 局域网管理共享文件，不需要禁用 Distributed linktracking client：用于局域网更新连接信息，不需要禁用 Error reporting service：禁止发送错误报告 Microsoft Serch：提供快速的单词搜索，不需要可禁用 NTLMSecuritysupportprovide：telnet服务和Microsoft Serch用的，不需要禁用 PrintSpooler：如果没有打印机可禁用 Remote Registry：禁止远程修改注册表 Remote Desktop Help Session Manager：禁止远程协助(一般要用的) 四、打开相应的审核策略 在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多，生成的事件也就越多，那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件，你需要根据情况在这二者之间做出选择。 推荐的要审核的项目是： 登录事件 成功 失败 账户登录事件 成功 失败 系统事件 成功 失败 策略更改 成功 失败 对象访问 失败 目录服务访问 失败 特权使用 失败 五、其它安全相关设置 1、隐藏重要文件/目录 可以修改注册表实现完全隐藏：“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”，鼠标右击 “CheckedValue”，选择修改，把数值由1改为0 2、启动系统自带的Internet连接防火墙，在设置服务选项中勾选Web服务器。 3、防止SYN洪水攻击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值，名为SynAttackProtect，值为2 4. 禁止响应ICMP路由通告报文    　　HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface 新建DWORD值，名为PerformRouterDiscovery 值为0 5. 防止ICMP重定向报文的攻击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 将EnableICMPRedirects 值设为0 6. 不支持IGMP协议 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值，名为IGMPLevel 值为0 7、禁用DCOM： 运行中输入 Dcomcnfg.exe。 回车， 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。 对于本地计算机，请以右键单击“我的电脑”，然后选择“属性”。选择“默认属性”选项卡。 清除“在这台计算机上启用分布式 COM”复选框。 注：3-6项内容我采用的是Server2000设置，没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。 六、配置 IIS 服务： 1、不使用默认的Web站点，如果使用也要将 将IIS目录与系统磁盘分开。 2、删除IIS默认创建的Inetpub目录（在安装系统的盘上）。 3、删除系统盘下的虚拟目录，如：_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。 4、删除不必要的IIS扩展名映射。 右键单击“默认Web站点→属性→主目录→配置”，打开应用程序窗口，去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm 5、更改IIS日志的路径 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性 6、如果使用的是2000可以使用iislockdown来保护IIS，在2003运行的IE6.0的版本不需要。 7、使用UrlScan UrlScan是一个ISAPI筛选器，它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5，如果是2000Server需要先安装1.0或2.0的版本。如果没有特殊的要求采用UrlScan默认配置就可以了。 但如果你在服务器运行ASP.NET程序，并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan 文件夹中的URLScan.ini 文件，然后在UserAllowVerbs节添加debug谓词，注意此节是区分大小写的。 如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。 如果你的网页使用了非ASCII代码，你需要在Option节中将AllowHighBitCharacters的值设为1 在对URLScan.ini 文件做了更改后，你需要重启IIS服务才能生效，快速方法运行中输入iisreset 如果你在配置后出现什么问题，你可以通过添加/删除程序删除UrlScan。 8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描. 下载地址：[http://www.fanvb.net/websample/othersample.aspx]VB.NET爱好者[/url] 七、配置Sql服务器 1、System Administrators 角色最好不要超过两个 2、如果是在本机最好将身份验证配置为Win登陆 3、不要使用Sa账户，为其配置一个超级复杂的密码 4、删除以下的扩展存储过程格式为： 　　use master 　　sp_dropextendedproc '扩展存储过程名' xp_cmdshell：是进入操作系统的最佳捷径，删除 访问注册表的存储过程，删除 　　Xp_regaddmultistring　　Xp_regdeletekey　　Xp_regdeletevalue　　Xp_regenumvalues 　　Xp_regread　　　　　 Xp_regwrite　　　 Xp_regremovemultistring OLE自动存储过程，不需要删除 　　Sp_OACreate　 　Sp_OADestroy　　　　Sp_OAGetErrorInfo　　Sp_OAGetProperty 　　Sp_OAMethod　　Sp_OASetProperty　　Sp_OAStop 5、隐藏 SQL Server、更改默认的1433端口 右击实例选属性-常规-网络配置中选择TCP/IP协议的属性，选择隐藏 SQL Server 实例，并改原默认的1433端口。 八、如果只做服务器，不进行其它操作，使用IPSec 1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器操作—在管理IP筛选器表选项下点击 添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口，第二项到此端口80——点击完成——点击确定。 2、再在管理IP筛选器表选项下点击 添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。 3、在管理筛选器操作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器操作窗口 4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成 5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的 Web筛选器——下一步——在筛选器操作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器操作中选择阻止 ——下一步——完成——确定 6、在IP安全策略的右边窗口中右击新建的数据包筛选器，点击指派，不需要重启，IPSec就可生效. 九、建议 如果你按本文去操作，建议每做一项更改就测试一下服务器，如果有问题可以马上撤消更改。而如果更改的项数多，才发现出问题，那就很难判断问题是出在哪一步上了。 十、运行服务器记录当前的程序和开放的端口 1、将当前服务器的进程抓图或记录下来，将其保存，方便以后对照查看是否有不明的程序。 2、将当前开放的端口抓图或记录下来，保存，方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程，和端口这一步可以省略]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置[完整修正实用版]第1/2页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15924</link><subject>IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置[完整修正实用版]一、软件准备：以下均为截止2006-1-20的最新正式版本，下载地址也均长期有效1.PHP，推荐PHP4.4.0的ZIP解压版本：PHP（4.4.0）：http://cn.php.net/get/php-4.4.0-Win32.zip/from/a/mirrorPHP（5.1.2）：http://cn.php.net/get/php-5.1.2-Win32.zip/from/a/mirror2.MySQL，配合PHP4推荐MySQL4.0.26的WIN系统安装版本：MySQL（4.0.26）：mysql-4.0.26-win32.zip&quot; target=_blank&gt;http://download.discuz.net/mysql-4.0.26-win32.zipMySQL（4.1.16）：http://www.skycn.com/soft/24418.htmlMySQL（5.0.18）：mysql-4.0.26-win32.zip&quot; target=_blank&gt;http://download.discuz.net/mysql-4.0.26-win32.zip3.Zend Optimizer，当然选择当前最新版本拉：Zend Optimizer（2.6.2）：http://www.zend.com/store/free_download.php?pid=13（Zend软件虽然免费下载，但需要注册用户，这里提供注册好的帐户名:xqincom和密码:xqin.com，方便大家使用，请不要修改本帐号或将本帐户用于其他费正当途径，谢谢！）登陆后选择Windows x86的Platform版本，如最新版本2.6.2 https://www.zend.com/store/getfreefile.php?pid=13&amp;zbid=9954.phpMyAdmin当然同样选择当前最新版本拉，注意选择for Windows 的版本哦：phpMyAdmin（2.8.0.3）：http://www.crsky.com/soft/4190.html假设 C:\ 为你现在所使用操作系统的系统盘，如果你目前操作系统不是安装在 C:\ ，请自行对应修改相应路径。同时由于C盘经常会因为各种原因重装系统，数据放在该盘不易备份和转移 选择安装目录，故本文将所有PHP相关软件均安装到D:\php目录下，这个路径你可以自行设定，如果你安装到不同目录涉及到路径的请对应修改以下的对应路径即可二、安装 PHP ：本文PHP安装路径取为D:\php\php4\(为避混淆，PHP5.1.x版本安装路径取为D:\php\php5\)（1）、下载后得到 php-4.4.0-Win32.zip ，解压至D:\php目录，将得到二级目录php-4.4.0-Win32，改名为 php4，也即得到PHP文件存放目录D:\php\php4\[如果是PHP5.1.2，得到的文件是php-5.1.2-Win32.zip，直接全部接压至D:\php\php5目录即可得PHP文件存放目录D:\php\php5\]；（2）、再将D:\php\php4目录和D:\php\php4\dlls目录[PHP5为D:\php\php5\]下的所有dll文件 copy 到 c:\Windows\system32 (win2000系统为 c:/winnt/system32/)下，覆盖已有的dll文件；（3）、将php.ini-dist用记事本打开，利用记事本的查找功能搜索并修改： 搜索 register_globals = Off将 Off 改成 On ，即得到 register_globals = On注：这个对应PHP的全局变量功能，考虑有很多PHP程序需要全局变量功能故打开，打开后请注意-PHP程序的严谨性，如果不需要推荐不修改保持默认Off状态 搜索 extension_dir =这个是PHP扩展功能目录 并将其路径指到你的 PHP 目录下的 extensions 目录，比如：修改 extension_dir = &quot;./&quot; 为 extension_dir = &quot;D:/php/php4/extensions/&quot; [PHP5对应修改为 extension_dir = &quot;D:/php/php5/ext/&quot; ] 在D:\php 下建立文件夹并命名为 tmp查找 upload_tmp_dir =将 ;upload_tmp_dir 该行的注释符，即前面的分号&quot; ；”去掉，使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径，在这里你还可以修改并给其定义一个绝对路径，这里设置的目录必须有读写权限。 这里我设置为 upload_tmp_dir = D:/php/tmp (即前面建立的这个文件夹呵) 搜索 ; Windows Extensions将下面一些常用的项前面的 ; 去掉 ,红色的必须，蓝色的供选择;extension=php_mbstring.dll这个必须要;extension=php_curl.dll;extension=php_dbase.dll;extension=php_gd2.dll这个是用来支持GD库的，一般需要，必选;extension=php_ldap.dll;extension=php_zip.dll对于PHP5的版本还需要查找;extension=php_mysql.dll并同样去掉前面的&quot;;&quot;这个是用来支持MYSQL的，由于PHP5将MySQL作为一个独立的模块来加载运行的，故要支持MYSQL必选 查找 ;session.save_path =去掉前面 ; 号,本文这里将其设置置为 session.save_path = D:/php/tmp 其他的你可以选择需要的去掉前面的;然后将该文件另存为为 php.ini 到 C:\Windows ( Windows 2000 下为 C:\WINNT)目录下，注意更改文件后缀名为ini，得到 C:\Windows\php.ini ( Windows 2000 下为 C:\WINNT\php.ini)若路径等和本文相同可直接保存到C:\Windows ( Windows 2000 下为 C:\WINNT) 目录下 使用一些朋友经常反映无法上传较大的文件或者运行某些程序经常超时，那么可以找到C:\Windows ( Windows 2000 下为 C:\WINNT)目录下的PHP.INI以下内容修改： max_execution_time = 30 ; 这个是每个脚本运行的最长时间，可以自己修改加长，单位秒max_input_time = 60 ; 这是每个脚本可以消耗的时间，单位也是秒memory_limit = 8M ; 这个是脚本运行最大消耗的内存，也可以自己加大upload_max_filesize = 2M ; 上载文件的最大许可大小 ，自己改吧，一些图片论坛需要这个更大的值（4）、配置 IIS 使其支持 PHP ：首先必须确定系统中已经正确安装 IIS ，如果没有安装，需要先安装 IIS ，安装步骤如下：Windows 2000/XP 下的 IIS 安装：用 Administrator 帐号登陆系统，将 Windows 2000 安装光盘插入光盘驱动器，进入“控制面板”点击“添加/删除程序”，再点击左侧的“添加/删除 Windows 组件”，在弹出的窗口中选择“Internet 信息服务（IIS）”，点下面的“详细信息”按钮，选择组件，以下组件是必须的：“Internet 服务管理器”、“World Wide Web 服务器”和“公用文件”，确定安装。安装完毕后，在“控制面板”的“管理工具”里打开“服务”，检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务，如果没有启动，将其启动即可。Windows 2003 下的 IIS 安装：由于 Windows 2003 的 IIS 6.0 集成在应用程序服务器中，因此安装应用程序服务器就会默认安装 IIS 6.0 ，在“开始”菜单中点击“配置您的服务器”，在打开的“配置您的服务器向导”里左侧选择“应用程序服务器（IIS，ASP.NET）”，单击“下一步”出现“应用程序服务器选项”，你可以选择和应用程序服务器一起安装的组件，默认全选即可，单击“下一步”，出现“选择总结界面”，提示了本次安装中的选项，配置程序将自动按照“选择总结”中的选项进行安装和配置。打开浏览器，输入：http://localhost/，看到成功页面后进行下面的操作：PHP 支持 CGI 和 ISAPI 两种安装模式，CGI 更消耗资源，容易因为超时而没有反映，但是实际上比较安全，负载能力强，节省资源，但是安全性略差于CGI，本人推荐使用 ISAPI 模式。故这里只解介绍 ISAPI 模式安装方法：(以下的截图因各个系统不同，窗口界面可能不同，但对应选项卡栏目是相同的，只需找到提到的对应选项卡即可)在“控制面板”的“管理工具”中选择“Internet 服务管理器”，打开 IIS 后停止服务，对于WIN2000系统在”Internet 服务管理器“的下级树一般为你的”计算机名“上单击右键选择“属性”，再在属性页面选择主属性”WWW 服务“右边的”编辑“对于XP/2003系统展开”Internet 服务管理器“的下级树一般为你的”计算机名“选择”网站“并单击右键选择“属性”在弹出的属性窗口上选择“ISAPI 筛选器”选项卡找到并点击“添加”按钮，在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入：PHP ，再将浏览可执行文件使路径指向 php4isapi.dll 所在路径，如本文中为：D:\php\php4\sapi\php4isapi.dll[PHP5对应路径为 D:\php\php5\php5isapi.dll]打开“站点属性”窗口的“主目录”选项卡，找到并点击“配置”按钮在弹出的“应用程序配置”窗口中的”应用程序映射“选项卡找到并点击“添加”按钮新增一个扩展名映射，在弹出的窗口中单击“浏览”将可执行文件指向 php4isapi.dll 所在路径，如本文中为：D:\php\php4\sapi\php4isapi.dll[PHP5对应路径为D:\php\php5\php5isapi.dll]，扩展名为 .php ，动作限于”GET,HEAD,POST,TRACE“，将“脚本引擎”“确认文件是否存在”选中，然后一路确定即可。如果还想支持诸如 .php3 ，.phtml 等扩展名的 PHP 文件，可以重复“添加”步骤，对应扩展名设置为需要的即可如.PHPX。此步操作将使你服务器IIS下的所有站点都支持你所添加的PHP扩展文件，当然如果你只需要部分站点支持PHP，只需要在“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”，在打开的“ Web 站点属性”“主目录”选项卡，编辑或者添加PHP的扩展名映射即可或者将你步需要支持PHP的站点中的PHP扩展映射删除即可再打开“站点属性”窗口的“文档”选项卡，找到并点击“添加”按钮，向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级，这样，访问站点时就会首先自动寻找并打开 index.php 文档。确定 Web 目录的应用程序设置和执行许可中选择为纯脚本，然后关闭 Internet 信息服务管理器对于2003系统还需要在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许，Active Server Pages 允许完成所有操作后，重新启动IIS服务。在CMD命令提示符中执行如下命令：net stop w3svcnet stop iisadminnet start w3svc到此，PHP的基本安装已经完成，我们已经使网站支持PHP脚本。检查方法是，在 IIS 根目录下新建一个文本文件存为 php.php ，内容如下：&lt;?phpphpinfo();?&gt;打开浏览器，输入：http://localhost/php.php，将显示当前服务器所支持 PHP 的全部信息，可以看到 Server API的模式为：ISAPI 。或者利用PHP探针检测 下载后解压到你的站点根目录下并访问即可三、安装 MySQL ：对于MySQL4.0.26下载得到的是mysql-4.0.26-win32.zip，解压到mysql-4.0.26-win32目录双击执行 Setup.exe 一路Next下一步，选择安装目录为D:\php\MySQL和安装方式为Custom自定义安装，再一路Next下一步即可。安装完毕后，在CMD命令行中输入并运行： D:\php\MySQL\bin\mysqld-nt -install如果返回Service successfully installed.则说明系统服务成功安装新建一文本文件存为MY.INI，编辑配置MY.INI，这里给出一个参考的配置[mysqld]basedir=D:/php/MySQL#MySQL所在目录datadir=D:/php/MySQL/data#MySQL数据库所在目录，可以更改为其他你存放数据库的目录#language=D:/php/MySQL/share/your language directory#port=3306set-variable = max_connections=800skip-lockingset-variable = key_buffer=512Mset-variable = max_allowed_packet=4Mset-variable = table_cache=1024set-variable = sort_buffer=2Mset-variable = thread_cache=64set-variable = join_buffer_size=32Mset-variable = record_buffer=32Mset-variable = thread_concurrency=8set-variable = myisam_sort_buffer_size=64Mset-variable = connect_timeout=10set-variable = wait_timeout=10server-id = 1[isamchk]set-variable = key_buffer=128Mset-variable = sort_buffer=128Mset-variable = read_buffer=2Mset-variable = write_buffer=2M[myisamchk]set-variable = key_buffer=128Mset-variable = sort_buffer=128Mset-variable = read_buffer=2Mset-variable = write_buffer=2M[WinMySQLadmin]Server=D:/php/MySQL/bin/mysqld-nt.exe保存后复制此MY.INI文件到C:\Windows ( Windows 2000 下为 C:\WINNT)目录下回到CMD命令行中输入并运行：net start mysqlMySQL 服务正在启动 .MySQL 服务已经启动成功。将启动 MySQL 服务；DOS下修改ROOT密码：当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改 格式：mysqladmin -u用户名 -p旧密码 password 新密码 例：给root加个密码xqin.com首先在进入CMD命令行，转到MYSQL目录下的bin目录，然后键入以下命令 mysqladmin -uroot password 你的密码 注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。D:\php\MySQL\bin&gt;mysqladmin -uroot password 你的密码回车后ROOT密码就设置为你的密码了如果你下载的是 MySQL5.x或者MySQL4.1.x，例mysql-5.0.18-win32：解压后双击执行 Setup.exe ，Next下一步后选择Custom自定义安装，再Next下一步选择安装路径这里我们选择D:\php\MySQL，继续Next下一步跳过Sign UP完成安装。安装完成后会提示你是不是立即进行配置，选择是即可进行配置。当然一般安装后菜单里面也有配置向导MySQL Server Instance Config Wizar，运行后按下面步骤配置并设置ROOT密码即可Next下一步后选择Standard ConfigurationNext下一步，钩选Include .. PATHNext下一步，设置ROOT密码，建议社设置复杂点，确保服务器安全！Apply完成后将在D:\php\MySQL目录下生成MY.INI配置文件，添加并启动MySQL服务如果你的MySQL安装出错，并且卸载重装仍无法解决，这里提供一个小工具系统服务管理器http://xqin.com/iis/ser.rar，用于卸载后删除存在的MYSQL服务，重起后再按上述说明进行安装一般即可成功安装</subject><description><![CDATA[IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置[完整修正实用版]一、软件准备：以下均为截止2006-1-20的最新正式版本，下载地址也均长期有效1.PHP，推荐PHP4.4.0的ZIP解压版本：PHP（4.4.0）：http://cn.php.net/get/php-4.4.0-Win32.zip/from/a/mirrorPHP（5.1.2）：http://cn.php.net/get/php-5.1.2-Win32.zip/from/a/mirror2.MySQL，配合PHP4推荐MySQL4.0.26的WIN系统安装版本：MySQL（4.0.26）：mysql-4.0.26-win32.zip&quot; target=_blank&gt;http://download.discuz.net/mysql-4.0.26-win32.zipMySQL（4.1.16）：http://www.skycn.com/soft/24418.htmlMySQL（5.0.18）：mysql-4.0.26-win32.zip&quot; target=_blank&gt;http://download.discuz.net/mysql-4.0.26-win32.zip3.Zend Optimizer，当然选择当前最新版本拉：Zend Optimizer（2.6.2）：http://www.zend.com/store/free_download.php?pid=13（Zend软件虽然免费下载，但需要注册用户，这里提供注册好的帐户名:xqincom和密码:xqin.com，方便大家使用，请不要修改本帐号或将本帐户用于其他费正当途径，谢谢！）登陆后选择Windows x86的Platform版本，如最新版本2.6.2 https://www.zend.com/store/getfreefile.php?pid=13&amp;zbid=9954.phpMyAdmin当然同样选择当前最新版本拉，注意选择for Windows 的版本哦：phpMyAdmin（2.8.0.3）：http://www.crsky.com/soft/4190.html假设 C:\ 为你现在所使用操作系统的系统盘，如果你目前操作系统不是安装在 C:\ ，请自行对应修改相应路径。同时由于C盘经常会因为各种原因重装系统，数据放在该盘不易备份和转移 选择安装目录，故本文将所有PHP相关软件均安装到D:\php目录下，这个路径你可以自行设定，如果你安装到不同目录涉及到路径的请对应修改以下的对应路径即可二、安装 PHP ：本文PHP安装路径取为D:\php\php4\(为避混淆，PHP5.1.x版本安装路径取为D:\php\php5\)（1）、下载后得到 php-4.4.0-Win32.zip ，解压至D:\php目录，将得到二级目录php-4.4.0-Win32，改名为 php4，也即得到PHP文件存放目录D:\php\php4\[如果是PHP5.1.2，得到的文件是php-5.1.2-Win32.zip，直接全部接压至D:\php\php5目录即可得PHP文件存放目录D:\php\php5\]；（2）、再将D:\php\php4目录和D:\php\php4\dlls目录[PHP5为D:\php\php5\]下的所有dll文件 copy 到 c:\Windows\system32 (win2000系统为 c:/winnt/system32/)下，覆盖已有的dll文件；（3）、将php.ini-dist用记事本打开，利用记事本的查找功能搜索并修改： 搜索 register_globals = Off将 Off 改成 On ，即得到 register_globals = On注：这个对应PHP的全局变量功能，考虑有很多PHP程序需要全局变量功能故打开，打开后请注意-PHP程序的严谨性，如果不需要推荐不修改保持默认Off状态 搜索 extension_dir =这个是PHP扩展功能目录 并将其路径指到你的 PHP 目录下的 extensions 目录，比如：修改 extension_dir = &quot;./&quot; 为 extension_dir = &quot;D:/php/php4/extensions/&quot; [PHP5对应修改为 extension_dir = &quot;D:/php/php5/ext/&quot; ] 在D:\php 下建立文件夹并命名为 tmp查找 upload_tmp_dir =将 ;upload_tmp_dir 该行的注释符，即前面的分号&quot; ；”去掉，使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径，在这里你还可以修改并给其定义一个绝对路径，这里设置的目录必须有读写权限。 这里我设置为 upload_tmp_dir = D:/php/tmp (即前面建立的这个文件夹呵) 搜索 ; Windows Extensions将下面一些常用的项前面的 ; 去掉 ,红色的必须，蓝色的供选择;extension=php_mbstring.dll这个必须要;extension=php_curl.dll;extension=php_dbase.dll;extension=php_gd2.dll这个是用来支持GD库的，一般需要，必选;extension=php_ldap.dll;extension=php_zip.dll对于PHP5的版本还需要查找;extension=php_mysql.dll并同样去掉前面的&quot;;&quot;这个是用来支持MYSQL的，由于PHP5将MySQL作为一个独立的模块来加载运行的，故要支持MYSQL必选 查找 ;session.save_path =去掉前面 ; 号,本文这里将其设置置为 session.save_path = D:/php/tmp 其他的你可以选择需要的去掉前面的;然后将该文件另存为为 php.ini 到 C:\Windows ( Windows 2000 下为 C:\WINNT)目录下，注意更改文件后缀名为ini，得到 C:\Windows\php.ini ( Windows 2000 下为 C:\WINNT\php.ini)若路径等和本文相同可直接保存到C:\Windows ( Windows 2000 下为 C:\WINNT) 目录下 使用一些朋友经常反映无法上传较大的文件或者运行某些程序经常超时，那么可以找到C:\Windows ( Windows 2000 下为 C:\WINNT)目录下的PHP.INI以下内容修改： max_execution_time = 30 ; 这个是每个脚本运行的最长时间，可以自己修改加长，单位秒max_input_time = 60 ; 这是每个脚本可以消耗的时间，单位也是秒memory_limit = 8M ; 这个是脚本运行最大消耗的内存，也可以自己加大upload_max_filesize = 2M ; 上载文件的最大许可大小 ，自己改吧，一些图片论坛需要这个更大的值（4）、配置 IIS 使其支持 PHP ：首先必须确定系统中已经正确安装 IIS ，如果没有安装，需要先安装 IIS ，安装步骤如下：Windows 2000/XP 下的 IIS 安装：用 Administrator 帐号登陆系统，将 Windows 2000 安装光盘插入光盘驱动器，进入“控制面板”点击“添加/删除程序”，再点击左侧的“添加/删除 Windows 组件”，在弹出的窗口中选择“Internet 信息服务（IIS）”，点下面的“详细信息”按钮，选择组件，以下组件是必须的：“Internet 服务管理器”、“World Wide Web 服务器”和“公用文件”，确定安装。安装完毕后，在“控制面板”的“管理工具”里打开“服务”，检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务，如果没有启动，将其启动即可。Windows 2003 下的 IIS 安装：由于 Windows 2003 的 IIS 6.0 集成在应用程序服务器中，因此安装应用程序服务器就会默认安装 IIS 6.0 ，在“开始”菜单中点击“配置您的服务器”，在打开的“配置您的服务器向导”里左侧选择“应用程序服务器（IIS，ASP.NET）”，单击“下一步”出现“应用程序服务器选项”，你可以选择和应用程序服务器一起安装的组件，默认全选即可，单击“下一步”，出现“选择总结界面”，提示了本次安装中的选项，配置程序将自动按照“选择总结”中的选项进行安装和配置。打开浏览器，输入：http://localhost/，看到成功页面后进行下面的操作：PHP 支持 CGI 和 ISAPI 两种安装模式，CGI 更消耗资源，容易因为超时而没有反映，但是实际上比较安全，负载能力强，节省资源，但是安全性略差于CGI，本人推荐使用 ISAPI 模式。故这里只解介绍 ISAPI 模式安装方法：(以下的截图因各个系统不同，窗口界面可能不同，但对应选项卡栏目是相同的，只需找到提到的对应选项卡即可)在“控制面板”的“管理工具”中选择“Internet 服务管理器”，打开 IIS 后停止服务，对于WIN2000系统在”Internet 服务管理器“的下级树一般为你的”计算机名“上单击右键选择“属性”，再在属性页面选择主属性”WWW 服务“右边的”编辑“对于XP/2003系统展开”Internet 服务管理器“的下级树一般为你的”计算机名“选择”网站“并单击右键选择“属性”在弹出的属性窗口上选择“ISAPI 筛选器”选项卡找到并点击“添加”按钮，在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入：PHP ，再将浏览可执行文件使路径指向 php4isapi.dll 所在路径，如本文中为：D:\php\php4\sapi\php4isapi.dll[PHP5对应路径为 D:\php\php5\php5isapi.dll]打开“站点属性”窗口的“主目录”选项卡，找到并点击“配置”按钮在弹出的“应用程序配置”窗口中的”应用程序映射“选项卡找到并点击“添加”按钮新增一个扩展名映射，在弹出的窗口中单击“浏览”将可执行文件指向 php4isapi.dll 所在路径，如本文中为：D:\php\php4\sapi\php4isapi.dll[PHP5对应路径为D:\php\php5\php5isapi.dll]，扩展名为 .php ，动作限于”GET,HEAD,POST,TRACE“，将“脚本引擎”“确认文件是否存在”选中，然后一路确定即可。如果还想支持诸如 .php3 ，.phtml 等扩展名的 PHP 文件，可以重复“添加”步骤，对应扩展名设置为需要的即可如.PHPX。此步操作将使你服务器IIS下的所有站点都支持你所添加的PHP扩展文件，当然如果你只需要部分站点支持PHP，只需要在“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”，在打开的“ Web 站点属性”“主目录”选项卡，编辑或者添加PHP的扩展名映射即可或者将你步需要支持PHP的站点中的PHP扩展映射删除即可再打开“站点属性”窗口的“文档”选项卡，找到并点击“添加”按钮，向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级，这样，访问站点时就会首先自动寻找并打开 index.php 文档。确定 Web 目录的应用程序设置和执行许可中选择为纯脚本，然后关闭 Internet 信息服务管理器对于2003系统还需要在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许，Active Server Pages 允许完成所有操作后，重新启动IIS服务。在CMD命令提示符中执行如下命令：net stop w3svcnet stop iisadminnet start w3svc到此，PHP的基本安装已经完成，我们已经使网站支持PHP脚本。检查方法是，在 IIS 根目录下新建一个文本文件存为 php.php ，内容如下：&lt;?phpphpinfo();?&gt;打开浏览器，输入：http://localhost/php.php，将显示当前服务器所支持 PHP 的全部信息，可以看到 Server API的模式为：ISAPI 。或者利用PHP探针检测 下载后解压到你的站点根目录下并访问即可三、安装 MySQL ：对于MySQL4.0.26下载得到的是mysql-4.0.26-win32.zip，解压到mysql-4.0.26-win32目录双击执行 Setup.exe 一路Next下一步，选择安装目录为D:\php\MySQL和安装方式为Custom自定义安装，再一路Next下一步即可。安装完毕后，在CMD命令行中输入并运行： D:\php\MySQL\bin\mysqld-nt -install如果返回Service successfully installed.则说明系统服务成功安装新建一文本文件存为MY.INI，编辑配置MY.INI，这里给出一个参考的配置[mysqld]basedir=D:/php/MySQL#MySQL所在目录datadir=D:/php/MySQL/data#MySQL数据库所在目录，可以更改为其他你存放数据库的目录#language=D:/php/MySQL/share/your language directory#port=3306set-variable = max_connections=800skip-lockingset-variable = key_buffer=512Mset-variable = max_allowed_packet=4Mset-variable = table_cache=1024set-variable = sort_buffer=2Mset-variable = thread_cache=64set-variable = join_buffer_size=32Mset-variable = record_buffer=32Mset-variable = thread_concurrency=8set-variable = myisam_sort_buffer_size=64Mset-variable = connect_timeout=10set-variable = wait_timeout=10server-id = 1[isamchk]set-variable = key_buffer=128Mset-variable = sort_buffer=128Mset-variable = read_buffer=2Mset-variable = write_buffer=2M[myisamchk]set-variable = key_buffer=128Mset-variable = sort_buffer=128Mset-variable = read_buffer=2Mset-variable = write_buffer=2M[WinMySQLadmin]Server=D:/php/MySQL/bin/mysqld-nt.exe保存后复制此MY.INI文件到C:\Windows ( Windows 2000 下为 C:\WINNT)目录下回到CMD命令行中输入并运行：net start mysqlMySQL 服务正在启动 .MySQL 服务已经启动成功。将启动 MySQL 服务；DOS下修改ROOT密码：当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改 格式：mysqladmin -u用户名 -p旧密码 password 新密码 例：给root加个密码xqin.com首先在进入CMD命令行，转到MYSQL目录下的bin目录，然后键入以下命令 mysqladmin -uroot password 你的密码 注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。D:\php\MySQL\bin&gt;mysqladmin -uroot password 你的密码回车后ROOT密码就设置为你的密码了如果你下载的是 MySQL5.x或者MySQL4.1.x，例mysql-5.0.18-win32：解压后双击执行 Setup.exe ，Next下一步后选择Custom自定义安装，再Next下一步选择安装路径这里我们选择D:\php\MySQL，继续Next下一步跳过Sign UP完成安装。安装完成后会提示你是不是立即进行配置，选择是即可进行配置。当然一般安装后菜单里面也有配置向导MySQL Server Instance Config Wizar，运行后按下面步骤配置并设置ROOT密码即可Next下一步后选择Standard ConfigurationNext下一步，钩选Include .. PATHNext下一步，设置ROOT密码，建议社设置复杂点，确保服务器安全！Apply完成后将在D:\php\MySQL目录下生成MY.INI配置文件，添加并启动MySQL服务如果你的MySQL安装出错，并且卸载重装仍无法解决，这里提供一个小工具系统服务管理器http://xqin.com/iis/ser.rar，用于卸载后删除存在的MYSQL服务，重起后再按上述说明进行安装一般即可成功安装]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>彻底掌握IIS6.0功能及应用详解图文教程一第1/2页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15928</link><subject>关于IIS 6.0的故事一言难尽，如果你已经在IIS技术上有所投资，IIS 6.0无疑是一个动人的、非听不可的话题。鉴于IIS 6.0和以前版本的差别实在太大了，只用一篇文章很难做到面面俱到，所以本文首先探讨IIS 6.0的安装、体系结构以及由于体系结构方面的差异带 来的全新服务功能，下一篇文章接着介绍IIS 6.0的新特性——其中有些你可能还没有听说过，另外还有默认配置方面的一些重要变化，这些变化可能会影响到你的迁移计划。 　　一、安装IIS 6.0 　　首先从最基本的说起吧。IIS 6.0包含在Windows Server 2003服务器的四种版本之中：数据中心版，企业版，标准版，Web版。另外，顺便再回答一个最常见的IIS 6.0问题：IIS 6.0不能在Windows XP、2000或NT上运行。 　　安装好Windows 2003之后，马上就可以看到Windows 2003/IIS 6.0的与众不同之处，其中一个关键的变化是，除了Windows 2003 Web版之外，Windows 2003的其余版本默认不再安装IIS。按照微软过去的理念，安装操作系统的同时IIS也自动启动，为许多Web应用提供服务，Windows 2003的做法可谓一大突破。在Windows 2003中，安装IIS有三种途径：利用“管理您的服务器”向导，利用控制面板“添加或删除程序”的“添加/删除Windows组件”功能，或者执行无人值守安装。 　　第一次启动Windows 2003系统时，“管理您的服务器”向导自动启动，如图一所示。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图一 　　选择“添加或删除”角色，在“配置服务器”向导中可以看到一系列可配置的服务器角色，其中就有“应用程序服务器（IIS，ASP.NET）”选项，如图二，选中该选项之后点击“下一步”，向导提供了是否安装ASP.NET和Microsoft FrontPage服务器扩展的选项。可以看到，微软在这里采用了一种新型的“安装任何部件之前总是 征求用户意见”的IIS安装策略，对于微软来说，这是一个彻底的转变，证明微软确实在认真对待安全问题。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图二 　　使用控制面板中的“添加/删除Windows组件”功能还要灵活一些。在向导中选择“应用程序服务器”，再点击“详细信息”，向导显示出一系列组件的清单，其中就有“Internet信息服务（IIS）”选项，还有一些选项是以前的“添加/删除Windows组件”向导没有提供的，表一概括比较了IIS 6.0和IIS 5.0 的主要组件。如果从这里安装IIS 6.0，最后得到的Web服务器可能只支持静态内容（除非在安装期间选中了某些扩展组件）。选中Internet信息服务选项，再点击“详细信息”，可以看到IIS 6.0的子组件，如图三所示。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图三 表一：IIS 6.0和IIS 5.0组件比较 IIS 6.0 IIS 5.0 应用程序服务器 Internet信息服务 应用程序服务器控制台 公用文件 ASP.NET 文档 启用网络COM+访问 文件传输协议（FTP）服务 启用网络DTC访问 FrontPage 2000服务器扩展 Internet信息服务 Internet信息服务管理单元 后台智能传送服务（BITS）服务器扩展 Internet服务管理器（HTML） BITS管理控制台管理单元 NNTP BITS服务器扩展ISAPI SMTP 公用文件 万维网服务 文件传输协议（FTP）服务 FrontPage 2002服务器扩展 Internet信息服务管理器 Internet打印 NNTP服务 SMTP服务 万维网服务 Active Server Pages Internet数据连接器 远程管理（HTML） 远程桌面Web连接 在服务器端的包含文件 WebDAV发布 万维网服务 消息队列 Active Directory集成 公用 下层客户端支持 MSMQ HTTP支持 路由支持 触发器 也许你已经注意到了表一列出的某些新增组件选项，但你注意到IIS 6.0少了什么吗？IIS 6.0中消失不见的最主要的一个项目是文档。在IIS 6.0中，所有文档都以帮助文件的形式发布，不再有IISHelp虚拟目录。在IIS 5.0中，如果从本地访问服务器，默认Web网站自动打开IIS的文档，但在IIS 6.0中，如果打开“ http://localhost”，只能看到一个声明网站正在构建之中的页面。 　　另外，在IIS 5.0的IISHelp虚拟目录中有一些错误处理页面，这些错误处理页面以ASP的方式实现。如果你要用到定制的（或者修改过的）帮助文件、错误处理页面，在IIS 6.0网站上必须自己创建该目录。 　　进一步分析IIS 6.0的子组件清单，可以发现：原来在IIS 5.0和IIS 4.0中默认安装的Internet服务管理器（ISM）已经不见了。但是，如果你点击“万维网服务”（IIS 6.0的子组件之一，但图三没有显示出来），再点击“详细信息”，可以发现IIS 6.0的万维网服务还有子组件，如图四所示，其中包括原来的Internet服务器管理器，不过现在已经改名为“远程管理（HTML）”；还有Windows 2003和XP版本的终端服务高级客户端（TSAC）——现在它叫做“远程桌面Web连接”。现在，我们不仅可以方便地添加或删除这两个子组件，对其他子组件也一样，包括：ASP，Internet数据连接器，在服务器端的包含文件，WebDAV发布，当然还有万维网服务。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图四 　　安装IIS 6.0的最后一种方式是无人值守安装。和以前一样，这仍旧是唯一一种能够将工具和默认Web网站安装到其他驱动器（而不是系统驱动器）的安装方式。Windows 2003无人值守安装方式大体上仍和Win 2K一样，都是用Sysocmgr和一个应答文件实施安装。当然，新的特性需要新的参数、选项，有关这方面的详细说明，可以在Windows 2003 Release Candidate 2 （RC2）找到，地址是：http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsnetserver/proddocs/datacenter/gs_installingiis.asp。 　　如果将IIS 5.0或IIS 4.0服务器升级到Windows 2003，IIS 6.0不会被设置成自动启动。也就是说，如果采用升级的方式安装，IIS 6.0默认是禁用的，除非遇到下列情况之一： 　　⑴ 以前的IIS服务器上已经安装了IIS Lockdown工具。 　　⑵ 存在注册子键 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/RetainW3SVCStatus，且它包含一个任意的注册键。例如，你可以创建一个名为EnableIIS6的键，设定它的值为DWORD类型的1。 　　⑶ 在无人值守的升级安装中，应答文件的[InternetServer]部分存在DisableWebServiceOnUpgrade = True/False条目。</subject><description><![CDATA[关于IIS 6.0的故事一言难尽，如果你已经在IIS技术上有所投资，IIS 6.0无疑是一个动人的、非听不可的话题。鉴于IIS 6.0和以前版本的差别实在太大了，只用一篇文章很难做到面面俱到，所以本文首先探讨IIS 6.0的安装、体系结构以及由于体系结构方面的差异带 来的全新服务功能，下一篇文章接着介绍IIS 6.0的新特性——其中有些你可能还没有听说过，另外还有默认配置方面的一些重要变化，这些变化可能会影响到你的迁移计划。 　　一、安装IIS 6.0 　　首先从最基本的说起吧。IIS 6.0包含在Windows Server 2003服务器的四种版本之中：数据中心版，企业版，标准版，Web版。另外，顺便再回答一个最常见的IIS 6.0问题：IIS 6.0不能在Windows XP、2000或NT上运行。 　　安装好Windows 2003之后，马上就可以看到Windows 2003/IIS 6.0的与众不同之处，其中一个关键的变化是，除了Windows 2003 Web版之外，Windows 2003的其余版本默认不再安装IIS。按照微软过去的理念，安装操作系统的同时IIS也自动启动，为许多Web应用提供服务，Windows 2003的做法可谓一大突破。在Windows 2003中，安装IIS有三种途径：利用“管理您的服务器”向导，利用控制面板“添加或删除程序”的“添加/删除Windows组件”功能，或者执行无人值守安装。 　　第一次启动Windows 2003系统时，“管理您的服务器”向导自动启动，如图一所示。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图一 　　选择“添加或删除”角色，在“配置服务器”向导中可以看到一系列可配置的服务器角色，其中就有“应用程序服务器（IIS，ASP.NET）”选项，如图二，选中该选项之后点击“下一步”，向导提供了是否安装ASP.NET和Microsoft FrontPage服务器扩展的选项。可以看到，微软在这里采用了一种新型的“安装任何部件之前总是 征求用户意见”的IIS安装策略，对于微软来说，这是一个彻底的转变，证明微软确实在认真对待安全问题。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图二 　　使用控制面板中的“添加/删除Windows组件”功能还要灵活一些。在向导中选择“应用程序服务器”，再点击“详细信息”，向导显示出一系列组件的清单，其中就有“Internet信息服务（IIS）”选项，还有一些选项是以前的“添加/删除Windows组件”向导没有提供的，表一概括比较了IIS 6.0和IIS 5.0 的主要组件。如果从这里安装IIS 6.0，最后得到的Web服务器可能只支持静态内容（除非在安装期间选中了某些扩展组件）。选中Internet信息服务选项，再点击“详细信息”，可以看到IIS 6.0的子组件，如图三所示。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图三 表一：IIS 6.0和IIS 5.0组件比较 IIS 6.0 IIS 5.0 应用程序服务器 Internet信息服务 应用程序服务器控制台 公用文件 ASP.NET 文档 启用网络COM+访问 文件传输协议（FTP）服务 启用网络DTC访问 FrontPage 2000服务器扩展 Internet信息服务 Internet信息服务管理单元 后台智能传送服务（BITS）服务器扩展 Internet服务管理器（HTML） BITS管理控制台管理单元 NNTP BITS服务器扩展ISAPI SMTP 公用文件 万维网服务 文件传输协议（FTP）服务 FrontPage 2002服务器扩展 Internet信息服务管理器 Internet打印 NNTP服务 SMTP服务 万维网服务 Active Server Pages Internet数据连接器 远程管理（HTML） 远程桌面Web连接 在服务器端的包含文件 WebDAV发布 万维网服务 消息队列 Active Directory集成 公用 下层客户端支持 MSMQ HTTP支持 路由支持 触发器 也许你已经注意到了表一列出的某些新增组件选项，但你注意到IIS 6.0少了什么吗？IIS 6.0中消失不见的最主要的一个项目是文档。在IIS 6.0中，所有文档都以帮助文件的形式发布，不再有IISHelp虚拟目录。在IIS 5.0中，如果从本地访问服务器，默认Web网站自动打开IIS的文档，但在IIS 6.0中，如果打开“ http://localhost”，只能看到一个声明网站正在构建之中的页面。 　　另外，在IIS 5.0的IISHelp虚拟目录中有一些错误处理页面，这些错误处理页面以ASP的方式实现。如果你要用到定制的（或者修改过的）帮助文件、错误处理页面，在IIS 6.0网站上必须自己创建该目录。 　　进一步分析IIS 6.0的子组件清单，可以发现：原来在IIS 5.0和IIS 4.0中默认安装的Internet服务管理器（ISM）已经不见了。但是，如果你点击“万维网服务”（IIS 6.0的子组件之一，但图三没有显示出来），再点击“详细信息”，可以发现IIS 6.0的万维网服务还有子组件，如图四所示，其中包括原来的Internet服务器管理器，不过现在已经改名为“远程管理（HTML）”；还有Windows 2003和XP版本的终端服务高级客户端（TSAC）——现在它叫做“远程桌面Web连接”。现在，我们不仅可以方便地添加或删除这两个子组件，对其他子组件也一样，包括：ASP，Internet数据连接器，在服务器端的包含文件，WebDAV发布，当然还有万维网服务。 screen.width-600)this.style.width=screen.width-600;&quot; border=0&gt;图四 　　安装IIS 6.0的最后一种方式是无人值守安装。和以前一样，这仍旧是唯一一种能够将工具和默认Web网站安装到其他驱动器（而不是系统驱动器）的安装方式。Windows 2003无人值守安装方式大体上仍和Win 2K一样，都是用Sysocmgr和一个应答文件实施安装。当然，新的特性需要新的参数、选项，有关这方面的详细说明，可以在Windows 2003 Release Candidate 2 （RC2）找到，地址是：http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsnetserver/proddocs/datacenter/gs_installingiis.asp。 　　如果将IIS 5.0或IIS 4.0服务器升级到Windows 2003，IIS 6.0不会被设置成自动启动。也就是说，如果采用升级的方式安装，IIS 6.0默认是禁用的，除非遇到下列情况之一： 　　⑴ 以前的IIS服务器上已经安装了IIS Lockdown工具。 　　⑵ 存在注册子键 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/RetainW3SVCStatus，且它包含一个任意的注册键。例如，你可以创建一个名为EnableIIS6的键，设定它的值为DWORD类型的1。 　　⑶ 在无人值守的升级安装中，应答文件的[InternetServer]部分存在DisableWebServiceOnUpgrade = True/False条目。]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>apache 环境下 php 的配置注意事项</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15929</link><subject>PHP 以 CGI 方式安装到 Apache 2.0:     将如下指令插入到 Apache 的 httpd.conf 配置文件中，以设置 CGI 二进制文件：    ScriptAlias /php/ &quot;c:/php/&quot;    AddType application/x-httpd-php .php    Action application/x-httpd-php &quot;/php/php.exe&quot;  PHP 以模块方式安装到 Apache 2.0:      移动 php4ts.dll 或者 php5ts.dll 到 winnt/system32（Windows NT/2000）或 windows/system32（Windows XP）。插入如下两行到 httpd.conf 中。 ; For PHP 4 do something like this:    LoadModule php4_module &quot;c:/php/php4apache2.dll&quot;    AddType application/x-httpd-php .php  ; For PHP 5 do something like this:    LoadModule php5_module &quot;c:/php/php5apache2.dll&quot;    AddType application/x-httpd-php .php  测试Apache:     打开浏览器,在地址栏中输入 http://localhost/ 或者 http://127.0.0.1/,,如果可以出现Apache页面&quot; It works. &quot;,则说明Apache正常工作了。  测试PHP设置:  编写一个PHP页面输入下面的代码:  &lt;html&gt; &lt;head&gt; &lt;title&gt;   hello  &lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;?php echo &quot;hello,php&quot;; ?&gt; &lt;p&gt;php5 is work!&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; 将这个文件存为***.php存放在Apache的htdocs目录中(可以在http.conf文件中来更改这个目录的)，打开浏览器,在地址栏中输入 http://localhost/***.php 或者 http://127.0.0.1/***.php ，如果***,php能够正确的显示，就说明PHP配置正常。</subject><description><![CDATA[PHP 以 CGI 方式安装到 Apache 2.0:     将如下指令插入到 Apache 的 httpd.conf 配置文件中，以设置 CGI 二进制文件：    ScriptAlias /php/ &quot;c:/php/&quot;    AddType application/x-httpd-php .php    Action application/x-httpd-php &quot;/php/php.exe&quot;  PHP 以模块方式安装到 Apache 2.0:      移动 php4ts.dll 或者 php5ts.dll 到 winnt/system32（Windows NT/2000）或 windows/system32（Windows XP）。插入如下两行到 httpd.conf 中。 ; For PHP 4 do something like this:    LoadModule php4_module &quot;c:/php/php4apache2.dll&quot;    AddType application/x-httpd-php .php  ; For PHP 5 do something like this:    LoadModule php5_module &quot;c:/php/php5apache2.dll&quot;    AddType application/x-httpd-php .php  测试Apache:     打开浏览器,在地址栏中输入 http://localhost/ 或者 http://127.0.0.1/,,如果可以出现Apache页面&quot; It works. &quot;,则说明Apache正常工作了。  测试PHP设置:  编写一个PHP页面输入下面的代码:  &lt;html&gt; &lt;head&gt; &lt;title&gt;   hello  &lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;?php echo &quot;hello,php&quot;; ?&gt; &lt;p&gt;php5 is work!&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; 将这个文件存为***.php存放在Apache的htdocs目录中(可以在http.conf文件中来更改这个目录的)，打开浏览器,在地址栏中输入 http://localhost/***.php 或者 http://127.0.0.1/***.php ，如果***,php能够正确的显示，就说明PHP配置正常。]]></description><PubDate>2008-12-15 23:46:31</PubDate><category>服务器问题</category></item><item><title>ZEND出错了</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15961</link><subject>今天在服务器日志中看到下面的错误信息：  事件类型:        错误  事件来源:        Zend Optimizer  事件种类:        无  事件 ID:        487  日期:                2006-6-15  事件:                9:33:07  用户:                N/A  计算机:        NETFANG4412584  描述:  事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述；查看帮助和支持以了解详细信息。下列信息是事件的一部分: Unable to view file mapping, 试图访问无效的地址。  .  是WINDOWS主机，以前好像没有出现这样的错误，晕死了  在网上找到的回答是：  PHP是一个粘合体，因为在windows下面是线程运行，而不是进程。所以容易出现这种错误。:(     因为线程运行的话，PHP没有足够的资源来进行错误处理，所以当PHP的扩展ZendOPtimizer运行的时候，就会出现问题。而这些问题是比较难解决的。     建议用linux服务器+apache 1 来跑你的论坛。  还有一种说法是PHP.INI配置文件中启用了sockets扩展,extension=php_sockets.dll就会出现这种情况,加上扩展前面的分号';'就行了,出现这种情况下不会有什么问题的另一种说法: 我也是在网上到处找都没有答案,只要这个错误一旦出现,dz的论坛就慢的要死,zned也安装了无数遍就是没有解决 我就把php.ini和原来的5.04一下的版本比较发现: php5.12的php.ini ; extension folders as well as the separate PECL DLL download (PHP 5). ; Be sure to appropriately set the extension_dir directive. extension=php_mbstring.dll ;extension=php_bz2.dll extension=php_curl.dll ;extension=php_dba.dll extension=php_dbase.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_imap.dll ;extension=php_interbase.dll extension=php_ldap.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll ;extension=php_mssql.dll ;extension=php_msql.dll extension=php_mysql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sqlite.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ; Module Settings ; 下面的是php5.04的 ;Windows Extensions ;Note that ODBC support is built in, so no dll is needed for it. ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_curl.dll ;extension=php_dba.dll extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_iisfunc.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll extension=php_mssql.dll ;extension=php_msql.dll extension=php_mysql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_w32api.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_yaz.dll ;extension=php_zip.dll ; Module Settings ; 大家看见没有,少了什么 ;extension=php_yaz.dll ;extension=php_zip.dll 就这两个,把它加上去并把 extension=php_zip.dll 前面的;去掉保存重启iis和mysql 大功搞成</subject><description><![CDATA[今天在服务器日志中看到下面的错误信息：  事件类型:        错误  事件来源:        Zend Optimizer  事件种类:        无  事件 ID:        487  日期:                2006-6-15  事件:                9:33:07  用户:                N/A  计算机:        NETFANG4412584  描述:  事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述；查看帮助和支持以了解详细信息。下列信息是事件的一部分: Unable to view file mapping, 试图访问无效的地址。  .  是WINDOWS主机，以前好像没有出现这样的错误，晕死了  在网上找到的回答是：  PHP是一个粘合体，因为在windows下面是线程运行，而不是进程。所以容易出现这种错误。:(     因为线程运行的话，PHP没有足够的资源来进行错误处理，所以当PHP的扩展ZendOPtimizer运行的时候，就会出现问题。而这些问题是比较难解决的。     建议用linux服务器+apache 1 来跑你的论坛。  还有一种说法是PHP.INI配置文件中启用了sockets扩展,extension=php_sockets.dll就会出现这种情况,加上扩展前面的分号';'就行了,出现这种情况下不会有什么问题的另一种说法: 我也是在网上到处找都没有答案,只要这个错误一旦出现,dz的论坛就慢的要死,zned也安装了无数遍就是没有解决 我就把php.ini和原来的5.04一下的版本比较发现: php5.12的php.ini ; extension folders as well as the separate PECL DLL download (PHP 5). ; Be sure to appropriately set the extension_dir directive. extension=php_mbstring.dll ;extension=php_bz2.dll extension=php_curl.dll ;extension=php_dba.dll extension=php_dbase.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_imap.dll ;extension=php_interbase.dll extension=php_ldap.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll ;extension=php_mssql.dll ;extension=php_msql.dll extension=php_mysql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sqlite.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ; Module Settings ; 下面的是php5.04的 ;Windows Extensions ;Note that ODBC support is built in, so no dll is needed for it. ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_curl.dll ;extension=php_dba.dll extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_iisfunc.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll extension=php_mssql.dll ;extension=php_msql.dll extension=php_mysql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_w32api.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_yaz.dll ;extension=php_zip.dll ; Module Settings ; 大家看见没有,少了什么 ;extension=php_yaz.dll ;extension=php_zip.dll 就这两个,把它加上去并把 extension=php_zip.dll 前面的;去掉保存重启iis和mysql 大功搞成]]></description><PubDate>2008-12-15 23:46:35</PubDate><category>服务器问题</category></item><item><title>ISA Server 的故障排除工具（4）</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15951</link><subject>ISA Server 的故障排除工具 　　 10.1.3　练习：测试端口状态  　　　　 在这个练习中，您需要使用Netstat和Telnet命令来断定ISA Server计算机的端口状态。此技术可用来验证安全或用来断定ISA Server计算机上运行的服务对外部站点是否　　可用。  　　 练习：测试ISA Server端口  　　　　 在这个练习中，在命令提示符中运行Netstat实用程序，并注意ISA Server的外部接口上打开了不同的端口。  　　 &amp;Oslash;　　　　　测试ISA Server计算机的端口状态：  　　 1.　　以Administrator身份登录到Server1。  　　 2.　　单击Start，选择Run。  　　 出现Run对话框。  　　 3.　　在Open文本框中，输入cmd并单击OK。  　　 出现命令提示符。  　　 4.　　在命令提示符中，输入netstat -an -p TCP。  　　 出现ISA Server计算机的所有活动TCP端口的输出信息。在输出屏幕上，左边一列带端口号的IP地址代表每一个活动连接的本地地址，右边一列带端口号的IP地址代表每一个活动连接的外部地址。输出中的大多数本地地址都指内部接口192.168.0.1。不过，在列表的末端可能有一些连接的本地地址是ISA Server的外部IP地址。  　　 5.　　 在ISA Server的外部接口中，当前有多少个活动连接？仔细检查这些连接的外部地址。这些地址真的是外部远程地址，或者仅仅是同一本地地址的另一个端口？这些外部地址中的哪些端口是用来向ISA Server计算机的外部接口发送信息的？  　　 答案写在下面的空白处：  　　 6.　　在ISA Server计算机上，打开IE浏览器，并连接到外部Web站点，如，  　　 http://www. microsoft.com  　　 。  　　 7.　　当Web页面正在IE浏览器中下载时，切换到命令提示符窗口，再次输入netstat -an -p TCP。  　　 出现ISA Server计算机的所有活动TCP端口的输出信息。  　　 8.　　查看输出列表的末端。与第5步的答案相比，ISA Server计算机的外部端口上有多少个活动连接？看见以前没有列出的外部地址的活动端口吗？在查看该数据后，可以断定是哪个外部端口是用来向本地的外部IP地址发送Web数据的吗？  　　 9.　　该Web数据是发送到ISA Server计算机外部接口上的哪个本地端口的？这些端口都是动态的。每个连接之间都不一样。在下面的空白处写下这些端口的相应的数字。  　　 假设发现网络有被入侵的迹象，检测黑客可能试图要通过的外部端口的状态，以排除安全故障。您可以试着telnet连接试到外部端口，看该端口上的服务是否对连接请求作出响应(通常来说，需要在外部计算机上执行此操作)。  　　 10.　尝试telnet连接到在第9步写下的外部端口。方法是在在命令提示符中输入telnet [externa_ip_address][port_number]。此处[externa_ip_address]是当前分配给ISA Server计算机的外部IP地址，[port_number]是第9步中记下的本地端口号之一，(例如telnet 64.43.113.110　10123)。  　　 出现一条消息，提示连接端口失败。此端口不是侦听端口。当端口接收外部连接时，要么出现空白屏幕，要么是该端口上通信的服务发出的输出信息。  　　 11.　在命令提示符窗口，试着telnet连接到下表左列的每一个端口。指定当前分配给计算机的外部IP地址。例如，如果您的IP地址是64.43.113.110 25，您可以在命令提示符中输入telnet 64.43.113.110 25，就可以telnet连接到端口25。在下表的右列写下这些端口的打开或关闭状态。  　　 端口号　　　　 端口状态  　　 25  　　 7  　　 389  　　 443  　　 21  　　 8080  　　 1030  　　 端口开放并不意味着有安全弱点。但是，出于安全考有些端口虑最好不要处于静态打开状态，如15(Netstat)、21(FTP)、23(Telnet)、25(SMTP)、79(Finger)和80(HTTP)。  　　 12.　关闭命令提示答窗口。  　　 10.1.4　小结  　　 进行ISA Server故障排除时，有许多可用的工具。其中，第一步可以使用ISA Server报告。它可以确定性能故障的原因。事件查看器显示了ISA Server服务生成的所有事件消息。ISA Server 性能监视器能解决有关网络使用、硬件和配置上的问题。Netstat是一种命令行工具，可以显示所有活动TCP或UDP连接，这对排除安全和连接问题很有帮助。此外，也可以利用Telnet实用程序来检查服务器是否通过某个给定端口接收命令。网络监视器可以捕获并显示Windows 2000服务器从局域网接收的帧内容。最后，Route命令可以验证和修改路由表，确认通过可行的路由所有的网段都能被访问。 （小节完）</subject><description><![CDATA[ISA Server 的故障排除工具 　　 10.1.3　练习：测试端口状态  　　　　 在这个练习中，您需要使用Netstat和Telnet命令来断定ISA Server计算机的端口状态。此技术可用来验证安全或用来断定ISA Server计算机上运行的服务对外部站点是否　　可用。  　　 练习：测试ISA Server端口  　　　　 在这个练习中，在命令提示符中运行Netstat实用程序，并注意ISA Server的外部接口上打开了不同的端口。  　　 &amp;Oslash;　　　　　测试ISA Server计算机的端口状态：  　　 1.　　以Administrator身份登录到Server1。  　　 2.　　单击Start，选择Run。  　　 出现Run对话框。  　　 3.　　在Open文本框中，输入cmd并单击OK。  　　 出现命令提示符。  　　 4.　　在命令提示符中，输入netstat -an -p TCP。  　　 出现ISA Server计算机的所有活动TCP端口的输出信息。在输出屏幕上，左边一列带端口号的IP地址代表每一个活动连接的本地地址，右边一列带端口号的IP地址代表每一个活动连接的外部地址。输出中的大多数本地地址都指内部接口192.168.0.1。不过，在列表的末端可能有一些连接的本地地址是ISA Server的外部IP地址。  　　 5.　　 在ISA Server的外部接口中，当前有多少个活动连接？仔细检查这些连接的外部地址。这些地址真的是外部远程地址，或者仅仅是同一本地地址的另一个端口？这些外部地址中的哪些端口是用来向ISA Server计算机的外部接口发送信息的？  　　 答案写在下面的空白处：  　　 6.　　在ISA Server计算机上，打开IE浏览器，并连接到外部Web站点，如，  　　 http://www. microsoft.com  　　 。  　　 7.　　当Web页面正在IE浏览器中下载时，切换到命令提示符窗口，再次输入netstat -an -p TCP。  　　 出现ISA Server计算机的所有活动TCP端口的输出信息。  　　 8.　　查看输出列表的末端。与第5步的答案相比，ISA Server计算机的外部端口上有多少个活动连接？看见以前没有列出的外部地址的活动端口吗？在查看该数据后，可以断定是哪个外部端口是用来向本地的外部IP地址发送Web数据的吗？  　　 9.　　该Web数据是发送到ISA Server计算机外部接口上的哪个本地端口的？这些端口都是动态的。每个连接之间都不一样。在下面的空白处写下这些端口的相应的数字。  　　 假设发现网络有被入侵的迹象，检测黑客可能试图要通过的外部端口的状态，以排除安全故障。您可以试着telnet连接试到外部端口，看该端口上的服务是否对连接请求作出响应(通常来说，需要在外部计算机上执行此操作)。  　　 10.　尝试telnet连接到在第9步写下的外部端口。方法是在在命令提示符中输入telnet [externa_ip_address][port_number]。此处[externa_ip_address]是当前分配给ISA Server计算机的外部IP地址，[port_number]是第9步中记下的本地端口号之一，(例如telnet 64.43.113.110　10123)。  　　 出现一条消息，提示连接端口失败。此端口不是侦听端口。当端口接收外部连接时，要么出现空白屏幕，要么是该端口上通信的服务发出的输出信息。  　　 11.　在命令提示符窗口，试着telnet连接到下表左列的每一个端口。指定当前分配给计算机的外部IP地址。例如，如果您的IP地址是64.43.113.110 25，您可以在命令提示符中输入telnet 64.43.113.110 25，就可以telnet连接到端口25。在下表的右列写下这些端口的打开或关闭状态。  　　 端口号　　　　 端口状态  　　 25  　　 7  　　 389  　　 443  　　 21  　　 8080  　　 1030  　　 端口开放并不意味着有安全弱点。但是，出于安全考有些端口虑最好不要处于静态打开状态，如15(Netstat)、21(FTP)、23(Telnet)、25(SMTP)、79(Finger)和80(HTTP)。  　　 12.　关闭命令提示答窗口。  　　 10.1.4　小结  　　 进行ISA Server故障排除时，有许多可用的工具。其中，第一步可以使用ISA Server报告。它可以确定性能故障的原因。事件查看器显示了ISA Server服务生成的所有事件消息。ISA Server 性能监视器能解决有关网络使用、硬件和配置上的问题。Netstat是一种命令行工具，可以显示所有活动TCP或UDP连接，这对排除安全和连接问题很有帮助。此外，也可以利用Telnet实用程序来检查服务器是否通过某个给定端口接收命令。网络监视器可以捕获并显示Windows 2000服务器从局域网接收的帧内容。最后，Route命令可以验证和修改路由表，确认通过可行的路由所有的网段都能被访问。 （小节完）]]></description><PubDate>2008-12-15 23:46:35</PubDate><category>服务器问题</category></item><item><title>Windows2003 Server 设置大全</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15960</link><subject>查有无被激活：开始 --&gt;运行--&gt; oobe/msoobe /a--&gt;回车，稍等一会儿，就会看到提示。如果没有激活,说明你安装的是未破解的系统，抓紧想想办法吧!如用Reset5.02激活补丁进入安全模式激活等。一、windows server 2003 3790版本识别 RTM=release to manufacture （公开发行批量生产）是给硬件制造商的版本！是送去压盘的,不是拿去卖的。OEM=Original Equipment Manufacturer只能全新安装， 和RTM差不多，只是称呼不同而已。RTL=retail（零售）正式零售版,可以升级或者全新安装。VLK=Volume License大量授权版，又称为企业版。无需激活。(网上所谓的简体中文VLK版实际是普通简体中文版加英文VLK版中的8个文件而已)二、Windows Server 2003的不同版本　　Windows Server 2003 Web版:为快速开发、部署Web服务与应用程序，提供Web托管与服务平台。支持2路SMP(对称多处理)系统、2GB内存。　　Windows Server 2003标准版:面向中小型企业和部门级应用。支持4路SMP、4GB内存。　　Windows Server 2003企业版:适合中心与大型组织使用，有32位和64位两个版本。支持8节点集群、NUMA；支持8路SMP，其中32位版支持32GB内存，64位版支持64GB内存。　　Windows Server 2003数据中心版：面向要求强伸缩性和高可用性的企业，有32位和64位两个版本。32位版支持32路SMP、64GB内存；64位版支持64路SMP、512GB内存；两个版本均支持8节点集群、NUMA四、win 2003 server的一些优化设置1.禁用配置服务器向导:禁止“配置你的服务器”（Manage Your Server）向导的出现：在控制面板（Control Panel） -&gt; 管理员工具（Administrative Tools ）-&gt; 管理你的服务器（Manage Your Server）运行它，然后在窗口的左下角复选“登录时不要显示该页”（Don't display this page at logon）。2.启用硬件和DirectX加速★硬件加速：桌面点击右键－－属性（Properties） -&gt; 设置（Settings ）－－高级（ Advanced ）－－疑难解答（Troubleshoot）。把该页面的硬件加速滚动条拉到“完全”（ Full），最好点击“确定”（OK）保存退出。这期间可能出现一瞬的黑屏是完全正常。★DirectX加速：打开“开始”（Start） -&gt; “运行”（Run），键入“dxdiag”并回车打开“DirectX 诊断工具”（DirectX Tools），在“显示”（Display）页面，点击DirectDraw, Direct3D and AGP Texture 加速三个按钮启用加速。把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。3. 启用声卡：系统安装后，声卡是禁止状态，所以要在 控制面板 -&gt; 声音 -&gt; 启用，重启之后再设置它在任务栏显示。如果你使用的是Windows server 2003标准版请从第二步xx作，因为标准版已允许声音服务。 ★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Audio”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“开始”（Start） -&gt; “确定”（OK） ★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc”并回车打开“DirectX 诊断工具”（DirectX Tools），在“Sound”（Display）页面，把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。 4. 如何启用 ASP 支持：Windows Server 2003 默认安装，是不安装 IIS 6 的，需要另外安装。安装完 IIS 6，还需要单独开启对于 ASP 的支持。方法是： 控制面板 -&gt; 管理工具 -&gt; Web服务扩展 -&gt; Active Server Pages -&gt; 允许。5. 如何启用 XP 的桌面主题：★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，选themes“主题”（默认是禁止的），然后改为“自动”，按“应用”，选“开启”。★接着点“桌面”的属性，在“主题”里选“windows xp” ★我的电脑----属性----高级----性能-----在桌面上为图标标签使用阴影6. 禁止关机时出现的关机理由选择项：关机事件跟踪（Shutdown Event Tracker）也是Windows server 2003区别于其他工作站系统的一个设置，对于服务器来说这是一个必要的选择，但是对于工作站系统却没什么用，我们同样可以禁止它。 打开”开始“Start -&gt;”运行“ Run -&gt;输入”gpedit.msc “，在出现的窗口的左边部分，选择 ”计算机配置“（Computer Configuration ）-&gt; ”管理模板“（Administrative Templates ）-&gt; ”系统“（System）,在右边窗口双击“Shutdown Event Tracker” 在出现的对话框中选择“禁止”（Disabled），点击然后“确定”（OK）保存后退出，这样，你将看到类似于windows 2000的关机窗口 7. 如何使用USB硬盘、U盘，添加已经有分区的硬盘我的电脑（单击右键）----管理----磁盘管理-----在相应的硬盘上执行导入和分配盘符操作8. 在控制面板里显示全部组件： 把 Windows\inf 目录中的 sysoc.inf 文件里的 &quot;hide&quot; 替换掉。9.禁用Internet Explorer Enhanced Security 和禁止安全询问框的出现在IE工具选项中自定义设置IE的安全级别。在”安全“（Security）选项卡上拉动滚动条把Internet区域安全设置为”中“（Medium）或“中低”。自定义设置中将有关的选择“提示”修改为选择“禁止”或“启用”。10. 禁用开机 CTRL+ALT+DEL和实现自动登陆★方法1：打开注册表(运行-&gt;“Regedit”)，再打开:HKEY_LOCAL_MACHIN|SOFTWARE|MicroSoft|Windows NT|CurrentVersion |Winlogon段，在此段中按右键，新建二个字符串段，AutoAdminLogon=“1”，DefaultPassword=“为超级用户Administrator所设置的Password”。 注意，一定要为Administrator设置一个密码，否则不能实现自启动。 然后，重新启动Windows即可实现自动登录。★方法2：管理工具 -&gt; Local Security Settings（本地安全策略） -&gt; 本地策略 -&gt; 安全选项 -&gt; interactive logon: Do not require CTRL+ALT+DEL，启用之。★方法3（自动登陆）：使用Windows XP的Tweak UI来实现Server 2003自动登陆。下载：Tweak UI http://www.ssite.org/uppic/sun_pic/...003/tweakui.exe下载后直接执行tweakui.exe 在左边的面板中选择Logon -&gt; Autologon -&gt; 在右边勾选Log on automatically at system startup输入你的用户名和域名（如果没有就不写），点击下面的Set Password，输入用户名的密码，然后点击OK。11.隐藏文件Windows Server 2003默认情况下是显示所有的文件夹的，如果你不想这样，可以通过一下方法来隐藏： 打开任意一个文件夹，选择工具（Tools） -&gt; 文件夹选项（Folder Options） -&gt; 查看（View），调整 显示系统文件夹的内容、隐藏受保护的操作系统文件、隐藏文件和文件夹 三项 12.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务 ★假如你希望启用Windows内置的IMAPI CD-Burning服务。做如下xx作： 打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“IMAPI CD-Burning COM Service ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“启动”（Start） -&gt; “确定”（OK） ★假如你有如数码相机和扫描仪之类的影像设备，你应该打开Windows Image Acquisition 服务。 打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Image Acquisition (WIA) ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“启动”（Start） -&gt; “确定”（OK） 13.高级设置★我们可以修改一些windows server 2003的高级设置以适合工作站的应用环境。 右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），把“处理器计划”（Processor scheduling ）和内存使用（Memory usage）分配给“程序”（Programs）使用。然后点击“确定”（OK.） ★禁用错误报告右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－点击“错误报告”（Error Reporting ）按钮，在出现的窗口中把“禁用错误报告”（Disable Error Reporting）选上并复选“但在发生严重错误时通知我”（But, notify me when critical errors occur.）★调整虚拟内存一些朋友经常会对关机和注销缓慢感到束手无策，解决办法就是禁用虚拟内存，这样你的注销和关机时间可能会加快很多。右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），点击“虚拟内存”（Virtual memory）部分的“更改”（Change），然后在出现的窗口选择“无分页文件”。重启系统即可。14.加快启动和运行速度★修改注册表，减少预读取，减少进度条等待时间：开始→运行→regedit启动注册表编辑器，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters， 有一个键值名为EnablePrefetcher，它的值是3,把它改为“1”或“5”。找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control， 将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 ) 找到 HKEY_CURRENT_USER\Control Panel\Desktop 键，将右边视窗的 WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。 ★让系统自动关闭停止回应的程式。 打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键， 将 AutoEndTasks 值设为 1。 ( 原设定值：0 ) ★禁用系统服务Qos开始菜单→运行→键入 gpedit.msc ，出现“组策略”窗口， 展开 &quot;管理模板”→“网络” ， 展开 &quot;QoS 数据包调度程序&quot;， 在右边窗右键单击“限制可保留带宽&quot; ，在属性中的“设置”中有“限制可保留带宽&quot; ，选择“已禁用”，确定即可。当上述修改完成并应用后，用户在网络连接的属性对话框内的一般属性标签栏中如果能够看到&quot;QoS Packet Scheduler（QoS 数据包调度程序）&quot;。说明修改成功，否则说明修改失败。★改变窗口弹出的速度： 找到HKEY_CURRENT_USER＼Control Panel＼Desktop＼WindowMetrics子键分支，在右边的窗口中找到MinAniMate键值，其类型为REG_SZ，默认情况下此健值的值为1，表示打开窗口显示的动画，把它改为0，则禁止动画显示，接下来从开始菜单中选择“注销”命令，激活刚才所作的修改。 ★禁止Windows XP的压缩功能： 点击“开始”下的“运行”，在“运行”输入框中输入“regsvr32/u zipfldr.dll”，然后按回车键即可。 ★设置个性的启动信息或警告信息： 个性化的Windows XP启动：打开注册表编辑器，找到HKEY_LOCAL_MACHINE＼SOFTWARE＼Microsoft＼Windows NT＼CurrentVersion＼Winlogon子键分支，双击LegalNoticeCaption健值，打开“编辑字符串”对话框，在“数值数据”下的文本框中输入自己想要的信息标题，如“哥们儿，你好！”，然后点击“确定”，重新启动。如果想要改变警告信息的话可以双击LegalNoticeText健值名称，在出现的“编辑字符串”窗口中输入想要显示的警告信息，单击“确定”，重新启动。15.安装Java VM Windows server 2003没有集成MS Java VM或Sun Java VM,你可以自行下载并安装它。16.安装DirectX 9a 在Windows Server 2003上安装DirectX 9a和在其他版本的Windows上安装DirectX 9a的方法是一样的。安装之前必须先启用DirectX and Graphics Acceleration。 17.可用的杀毒软件和防火墙：Symantec Norton Antivirus Corporate 8.01Zone Alarm 3.7.159Norton Personal Firewall 2003五、如何防范ipc$入侵1、禁止空连接进行枚举(此**作并不能阻止空连接的建立)首先运行regedit，找到如下组建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为：00000001。restrictanonymous REG_DWORD 0x0 缺省0x1 匿名用户无法列举本机用户列表0x2 匿名用户无法连接本机IPC$共享说明:不建议使用2，否则可能会造成你的一些服务无法启动，如SQL Server2、禁止默认共享1）察看本地共享资源运行-cmd-输入net share2）删除共享(每次输入一个）net share ipc$ /deletenet share admin$ /deletenet share c$ /deletenet share d$ /delete（如果有e,f,……可以继续删除）3）修改注册表删除共享运行-regedit找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer（DWORD）的键值改为:00000000。 如果上面所说的主键不存在，就新建(右击-新建-双字节值）一个主健再改键值。 3、停止server服务1）暂时停止server服务net stop server /y （重新启动后server服务会重新开启）2）永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务控制面板-管理工具-服务-找到server服务（右击）-属性-常规-启动类型-已禁用4、安装防火墙(选中相关设置)，或者端口过滤(滤掉139,445等)1).解开文件和打印机共享绑定　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，去掉“Microsoft网络的文件和打印机共享”前面的勾，解开文件和打印机共享绑定。这样就会禁止所有从139和445端口来的请求，别人也就看不到本机的共享了。　　2).利用TCP/IP筛选　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项]，在列表中单击选中“TCP/IP筛选”选项。单击[属性]按钮，选择“只允许”，再单击[添加]按钮(如图2)，填入除了139和445之外要用到的端口。这样别人使用扫描器对139和445两个端口进行扫描时，将不会有任何回应。　　3).使用IPSec安全策略阻止对端口139和445的访问　　选择[我的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略，在本地机器]，在这里定义一条阻止任何IP地址从TCP139和TCP445端口访问IP地址的IPSec安全策略规则，这样别人使用扫描器扫描时，本机的139和445两个端口也不会给予任何回应。　　4).使用防火墙防范攻击　　在防火墙中也可以设置阻止其他机器使用本机共享。如在“天网个人防火墙”中，选择一条空规则，设置数据包方向为“接收”，对方IP地址选“任何地址”，协议设定为“TCP”，本地端口设置为“139到139”，对方端口设置为“0到0”，设置标志位为“SYN”，动作设置为“拦截”，最后单击[确定]按钮，并在“自定义IP规则”列表中勾选此规则即可启动拦截139端口攻击了(如图3)。5、给所有账户设置复杂密码，防止通过ipc$穷举密码O.K 优化开始一，首先为这个庞然大物减肥（KAO，这家伙比XP还要大出多很） 确定你已经安装好硬件及软件！1、删除系统备份文件吧：开始→运行→sfc.exe /purgecache 能减去几M的空间，积少成多嘛。2、删除驱动备份： %windows%\driver cache\i386目录下的driver.cab文件，通常这个文件是70.3M。3、刪除\windows\ime下不用的輸入法，8xM4、如果你不看系统的帮助的话...删除%windows%\help目录下的所以文件，36M。5、关闭系统还原，右健单击&quot;我的电脑&quot;，选择&quot;属性&quot;，找到&quot;系统还原&quot;，选择&quot;在所有驱动器上关闭系统还原&quot;。 6、如果你的系统区空间实在紧张，可以考虑把IE浏览器的临时文件夹移动到其它分区，方法：点击IE，工具》Internet 选项》Internet临时文件》设置》移动文件夹 就O.K了7、如果空间再紧张的话，启用NTFS的压缩功能，建议不使用！8、卸载不常用的组件，WIN2K3和以前的WINDOWS版本不同，安装全部由系统自己负责，用户无法选择安装需要的组件。运行&quot;添加-删除程序&quot;，删除掉游戏，壁纸等不用的附件。还有记住删除Internet Explorer 增强的安全配置，要不浏览网页时总会弹出警告！还可以用记事本修改\%windows%\inf\sysoc.inf，用查找/替换功能，在查找框中输入,hide，全部替换为空(注意,这行中的,hide不能替换的&quot;netfx=netfxocm.dll,UrtOcmProc,netfxocm.inf,hide,7&quot;)。这样，就把所有的,hide都去掉了，存盘退出，运行&quot;添加-删除程序&quot;，就会看见&quot;添加/删除 Windows 组件&quot;中多出不少选项,但和XP下不同,改完后虽然隐藏的都出来了,但只有Windows自动更新一项可以删除,其它的是不允许删除滴~~O.K瘦身结束！二、为WIN2K3提速，虽说他已经比XP快了，但谁会觉得自己钱多呢 呵呵1、修改注册表的run键，删除多余的程序 。启用注册表管理器：开始→运行→Regedit→找到&quot;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\&quot; 右键→删除 如果你没安装软件的话这么目录下的东西可全删除！（注意有的驱动是会在这里加入自己的键值的，要看好了，可先做备份，只要不带Kernel32/ system 什么的都可以删的了：）2、减少预读取，减少进度条等待时间，效果是进度条跑一圈就进入登录画面了，开始→运行→regedit启动注册表编辑器，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters， 有一个键值名为EnablePrefetcher，它的值是2（可能不一样，但没关系）,把它改为&quot;1&quot;。找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control， 将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 ) 找到 HKEY_CURRENT_USER\Control Panel\Desktop 键，将右边视窗的WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。3、让系统自动关闭停止回应的程式。 打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键， 将 AutoEndTasks 值设为 1。 ( 原设定值：0 ) 4、禁用错误报告右键点击&quot;我的电脑&quot;－属性－高级－点击&quot;错误报告&quot;按钮，在出现的窗口中把&quot;禁用错误报告&quot;选上并复选&quot;但在发生严重错误时通知我&quot;5、禁止Windows XP的压缩功能： 点击&quot;开始&quot;下的&quot;运行&quot;，在&quot;运行&quot;输入框中输入&quot;regsvr32/u zipfldr.dll&quot;，然后按回车出现zipfldr.dll中的Dll UnrgisterServer对话框，表示成功6、禁用系统服务Qos开始菜单→运行→键入 gpedit.msc ，出现&quot;组策略&quot;窗口， 展开 &quot;管理模板&quot;→&quot;网络&quot; ， 展开 &quot;QoS 数据包调度程序&quot;， 在右边窗右键单击&quot;限制可保留带宽&quot; ，在属性中的&quot;设置&quot;中有&quot;限制可保留带宽&quot; ，选择&quot;已禁用&quot;，确定即可。当上述修改完成并应用后，用户在网络连接的属性对话框内的一般属性标签栏中如果能够看到&quot;QoS Packet Scheduler（QoS 数据包调度程序）&quot;。说明修改成功，否则说明修改失败。7、启用硬件和DirectX加速硬件加速：桌面点击右键－属性 －设置－高级－疑难解答。把该页面的硬件加速滚动条拉到&quot;完全&quot;，最好点击&quot;确定&quot;保存退出。这期间可能出现一瞬的黑屏是完全正常。DirectX加速：打开&quot;开始&quot; -&gt; &quot;运行&quot;，键入&quot;dxdiag&quot;并回车打开&quot;DirectX 诊断工具&quot;，在&quot;显示&quot;页面，点击DirectDraw, Direct3D and AGP Texture 加速三个按钮启用加速。把&quot;声音的硬件加速级别&quot;滚动条拉到&quot;完全加速&quot;8、启动声音2003默认是禁止声音的，点击-&gt;控制面板-&gt;声音 开启就行了！9、禁用关机事件跟踪开始 -&gt; 运行 -&gt; gpedit.msc-&gt;计算机配置 -&gt; 管理模板 -&gt; 系统 -&gt; 显示关机事件跟踪 -&gt; 禁用。10、禁用配置服务器向导禁止每次开机时&quot;配置你的服务器&quot;向导的出现：在控制面板 -&gt; 管理员工具-&gt; 管理你的服务器运行它，然后在窗口的左下角复选&quot;登录时不要显示该页&quot; 默认的开始菜单里的第一项就是&quot;配置你的服务器&quot;11、减少开机磁盘扫描等待时间，开始→运行，键入&quot;chkntfs/t:0&quot;12、关闭自动更新：右键单击&quot;我的电脑&quot;，点击属性，点击&quot;自动更新&quot;，在&quot;通知设置&quot;一栏选择&quot;关闭自动更新。我将手动更新计算机&quot;一项。13、性能优化右键点击我的电脑,-&gt;属性-&gt;高兴-&gt;性能选项卡里的 设置-&gt;高级-&gt;然后将'处理器计划'和'内存使用'都调到程序选项上.14、给鼠标右键增加个复制到.../移动到...功能打开windows的记事本，将下面这些copy到记事本中，保存为mouse.reg，然后执行mouse.reg，这时随便找个文件，然后点击右键看看吧：）========================================================Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To]@=&quot;{C2FBB630-2971-11D1-A18C-00C04FD75D13}&quot;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To]@=&quot;{C2FBB631-2971-11D1-A18C-00C04FD75D13}&quot;=======================================================三、关闭不用的系统服务（这些该S的服务，占去我多少宝贵的系统资源啊~~~默哀一分钟...）系统默认运行的服务我也记不清了，在这把我机器上禁止了服务列出来，大家照着改一下吧：）有些记得应该默认就是禁止或手动的服务我就不列出来啦~~ 太多了1/Alerter 管理警报 禁止2/Automatic updates windows自动更新 手动3/Background Intelligent Transfer Service 使用空闲的网络带宽传输数据 改为手动4/clipbook 与远程电脑来共享剪贴板内容，一定要关 呵呵5/Computer Browser 维护网络上计算机的更新列表 关！6/DHCP client 为计算机注册并更新 IP 地址 对我来说没用，关7/Distributed link tracking client 保持局域网连接更新等信息，我不用局域网，这东西占用４M左右内存。8/Distributed Transaction Coordinator 协调跨多个数据库、消息队列、文件系统等资源管理器的事务 和上面的差不多，关！9/DNS Client DNS？ 用不到，关了吧。10/Error Reporting Service 错误报告，关！11/Fast user switching compatibility 用户切换，关！12/Help and Support 系统的帮助中心，刚才把帮助都删了，还开着它干嘛？13/Logical Disk manager administrative service 配置磁盘 关14/MS software shadow copy provider 卷复制备份的 15/Net Logon 关！ 16/Netmeeting remote desktop sharing netmeeting，关17/Network DDE　 动态数据交换传输18/Network DDE DSDM　和上面差不多19/Network Location Awareness 关20/NT LM Security Support Provider 关21/NTLM Security support provider－telnet　关22/PerFORMance logs and alert 将系统状态写日志或发警告23/Portable media serial number 关！ 24/Print Spooler 打印机？我没有，关！25/QoS RSVP 关！26/Remote desktop help session manager 远程帮助服务，不需要27/remote Procedure Call LOCATOR 管理RPC 28/remote registry 远程管理注册表，关29/removable storage　30/routing and remote access 我干脆禁用了它31/Server 关，这样省的手动删除共享了，等需要时再开：）32/security accounts manager 我的系统只是一个客户系统，不用iis。 33/smart card 默认应该是关的34/SSDP Discovery service 我用不到这个35/system event notification 如果是服务器肯定要记录的36/system restore service 系统还原服务37/task scheduler windows 计划服务 38/Telephony 拨号服务39/telnet 远程登陆，默认应该是关着的40/terminal services 终端服务41/uninterruptible power supply UPS，我没有呀42/upload manager 关了也能传输文件的43/volume shadow copy 什么备份？关44/webclient 关啦45/Windows Installer MSI 服务 46/windows image acquisition (WIA) 数码设备，偶穷~~~47/windows management instrumentation driver extensions 关 48/windows time 时间服务，关吧，有时连不上，而且也没必要那么准吧49/wireless zero configuration 无线网络，关50/WMI perfromance adapter 关51/WinHTTP Web Proxy Auto-Discovery Service 没啥大用的，关吧52/Workstation 嘿嘿，关，需要的时候再开要是有啥漏掉了...自己看看吧，不知道的别瞎关，其实都是中文，系统要是说，关了会影响系统正常运行就不要关了：）呵呵 终于优化完了，不足之处还请各位高手指点，本文参考了Killer《我的WinXP优化之路》剩下的就是备份一下这个新优化的系统了：）如果你打算只在自己使用备份，那么可不必重新封装，直接GHOST即可。在2003安装盘上找Deploy.cab（上面说到过的，忘了？：） 中的sysprep.exe文件。运行sysprep.exe，选择&quot;重新封装&quot;，下面的标记中可以选择&quot;已提前激活&quot;，还可以选择封装完成后是关机还是重新启动。封装完成后，我们再用带有Ghost的系统盘启动，用Ghost来生成备份*.gho镜像文件，备份完成！全文完！1、激活常用服务 　　Windows 2003在缺省设置下屏蔽了许多对服务器来说用处不大的服务，除了声卡相关的“Windows Audio”服务和桌面主题“Themes”服务之外，还有：　　①图像捕获服务　　假如需要使用摄像头、数码相机、扫 描仪等影像设备，那么必须启用图像捕获服务。进入“开始→管理工具→服务”，在“服务”窗口中找到“Windows Image Acquisition”项，双击它进入设置窗体，将“启动类型”更改为“自动”，并点击“启动”按钮即可。　　②CD刻录服务　　在Windows 2003的默认设置下是无法刻录CD的，解决方法是：进入“服务”窗口，找到“IMAPI CD-Burning COM Service”项，双击它进入设置窗体，将“启动类型”更改为“自动”，并点击“启动”按钮。　　2、登录前不按“Ctrl+Alt+Del”组合键　　Windows 2003每次启动时，都需要先按下“Ctrl+Alt+Del”组合键，再键入密码才能登录，实在是很麻烦。取消的方法是：进入“开始→管理工具→本地安全策略”，在窗口左侧找到“本地策略→安全选项”，在右侧找到“交互式登录：不需要按“Ctrl+Alt+Del”选项，双击它，并设置为“已启用”即可。3、移动“我的文档” 　　进入资源管理器，右击“我的文档”，选择“属性”，在“目标文件夹”选项卡中点“移动”按钮，选择目标盘后按“确定”即可。在Windows 2003中“我的文档”已难觅芳踪，桌面、开始等处都看不到了，建议经常使用的朋友做个快捷方式放到桌面上。　　4、移动IE临时文件　　进入“开始→控制面板→Internet 选项”，在“常规”选项卡的“Internet 文件”栏里点“设置”按钮，在弹出窗体中点“移动文件夹”按钮，选择目标文件夹后，点“确定”，在弹出对话框中选择“是”，系统会自动重新登录。　　5、移动虚拟内存　　进入“开始→控制面板→系统”，在“系统属性”窗口里选择“高级”选项卡，点击“性能”栏里的“设置”按钮，选择“高级”选项卡，在“虚拟内存”栏里点“更改”按钮，选择系统分区，然后选择“无分页文件”项，点“设置”按钮后在弹出窗口中选择“是”，然后选择一个非系统分区，选择“自定义大小”，输入数据后点“设置”，再点“确定”，重启计算机即可。　　6、移动系统环境变量　　进入“开始→控制面板→系统”，选择“高级”，点击“环境变量”按钮，在“Administrator的用户变量”栏中选中Temp项，点“编辑”按钮，改变量值，如改为“D\Temp”，点“确定”；然后用同样的方法改变第二项Tmp到同一地址。接着，在“系统变量”栏中分别找到Temp和Tmp项，改动到同一地址即可。　　7、删除硬件驱动备份　　Windows 2003的硬件驱动程序备份文件driver.cab存放在系统分区的 “Windows\Driver Cache\i386\”目录下，硬件安装完成后，该文件就可以删除或转移了，此举可以释放出约70MB空间。四招加强Windows 2003安全性作者：Admin 来源：满天技术学院 加入时间：2004-4-22Windows 2003以其稳定的性能越来越受到用户的青睐，但面对层出不穷的新病毒，你仍然有必要再加强Windows 2003的安全性。1． 用户口令设置设置一个键的密码，在很大程度上可以避免口令攻击。密码设置的字符长度应当在8个以上，最好是字母、数字、特殊字符的组合，如“psp53,@pq”、“skdfksadf10@”等，可以有效地防止暴力破解。最好不要用自己的生日、手机号码、电话号码等做口令。2． 删除默认共享单击“开始→运行”，输入“gpedit.msc”后回车，打开组策略编辑器。依次展开“用户配置→Windows 设置→脚本(登录/注销)”，双击登录项，然后添加“delshare.bat”（参数不需要添加），从而删除Windows 2003默认的共享。接下来再禁用IPC连接：打开注册表编辑器，依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa ]分支，在右侧窗口中找到“restrictanonymous”子键，将其值改为“1”即可。3． 关闭自动播放功能自动播放功能不仅对光驱起作用，而且对其它驱动器也起作用，这样很容易被黑客利用来执行黑客程序。打开组策略编辑器，依次展开“计算机配置→管理模板→系统”，在右侧窗口中找到“关闭自动播放”选项并双击，在打开的对话框中选择“已启用”，然后在“关闭自动播放”后面的下拉菜单中选择“所有驱动器”，按“确定”即可生效。4． 清空远程可访问的注册表路径将远程可访问的注册表路径设置为空，这样可以有效防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。打开组策略编辑器，依次展开“计算机配置→Windows 设置→安全设置→安全选项”，在右侧窗口中找到“网络 访问：可远程访问的注册表路径”，然后在打开的如图所的窗口中，将可远程访问的注册表路径和子路径内容全部删除。四招加强Windows 2003安全性（出处：www.viphot.com）</subject><description><![CDATA[查有无被激活：开始 --&gt;运行--&gt; oobe/msoobe /a--&gt;回车，稍等一会儿，就会看到提示。如果没有激活,说明你安装的是未破解的系统，抓紧想想办法吧!如用Reset5.02激活补丁进入安全模式激活等。一、windows server 2003 3790版本识别 RTM=release to manufacture （公开发行批量生产）是给硬件制造商的版本！是送去压盘的,不是拿去卖的。OEM=Original Equipment Manufacturer只能全新安装， 和RTM差不多，只是称呼不同而已。RTL=retail（零售）正式零售版,可以升级或者全新安装。VLK=Volume License大量授权版，又称为企业版。无需激活。(网上所谓的简体中文VLK版实际是普通简体中文版加英文VLK版中的8个文件而已)二、Windows Server 2003的不同版本　　Windows Server 2003 Web版:为快速开发、部署Web服务与应用程序，提供Web托管与服务平台。支持2路SMP(对称多处理)系统、2GB内存。　　Windows Server 2003标准版:面向中小型企业和部门级应用。支持4路SMP、4GB内存。　　Windows Server 2003企业版:适合中心与大型组织使用，有32位和64位两个版本。支持8节点集群、NUMA；支持8路SMP，其中32位版支持32GB内存，64位版支持64GB内存。　　Windows Server 2003数据中心版：面向要求强伸缩性和高可用性的企业，有32位和64位两个版本。32位版支持32路SMP、64GB内存；64位版支持64路SMP、512GB内存；两个版本均支持8节点集群、NUMA四、win 2003 server的一些优化设置1.禁用配置服务器向导:禁止“配置你的服务器”（Manage Your Server）向导的出现：在控制面板（Control Panel） -&gt; 管理员工具（Administrative Tools ）-&gt; 管理你的服务器（Manage Your Server）运行它，然后在窗口的左下角复选“登录时不要显示该页”（Don't display this page at logon）。2.启用硬件和DirectX加速★硬件加速：桌面点击右键－－属性（Properties） -&gt; 设置（Settings ）－－高级（ Advanced ）－－疑难解答（Troubleshoot）。把该页面的硬件加速滚动条拉到“完全”（ Full），最好点击“确定”（OK）保存退出。这期间可能出现一瞬的黑屏是完全正常。★DirectX加速：打开“开始”（Start） -&gt; “运行”（Run），键入“dxdiag”并回车打开“DirectX 诊断工具”（DirectX Tools），在“显示”（Display）页面，点击DirectDraw, Direct3D and AGP Texture 加速三个按钮启用加速。把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。3. 启用声卡：系统安装后，声卡是禁止状态，所以要在 控制面板 -&gt; 声音 -&gt; 启用，重启之后再设置它在任务栏显示。如果你使用的是Windows server 2003标准版请从第二步xx作，因为标准版已允许声音服务。 ★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Audio”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“开始”（Start） -&gt; “确定”（OK） ★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc”并回车打开“DirectX 诊断工具”（DirectX Tools），在“Sound”（Display）页面，把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。 4. 如何启用 ASP 支持：Windows Server 2003 默认安装，是不安装 IIS 6 的，需要另外安装。安装完 IIS 6，还需要单独开启对于 ASP 的支持。方法是： 控制面板 -&gt; 管理工具 -&gt; Web服务扩展 -&gt; Active Server Pages -&gt; 允许。5. 如何启用 XP 的桌面主题：★打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，选themes“主题”（默认是禁止的），然后改为“自动”，按“应用”，选“开启”。★接着点“桌面”的属性，在“主题”里选“windows xp” ★我的电脑----属性----高级----性能-----在桌面上为图标标签使用阴影6. 禁止关机时出现的关机理由选择项：关机事件跟踪（Shutdown Event Tracker）也是Windows server 2003区别于其他工作站系统的一个设置，对于服务器来说这是一个必要的选择，但是对于工作站系统却没什么用，我们同样可以禁止它。 打开”开始“Start -&gt;”运行“ Run -&gt;输入”gpedit.msc “，在出现的窗口的左边部分，选择 ”计算机配置“（Computer Configuration ）-&gt; ”管理模板“（Administrative Templates ）-&gt; ”系统“（System）,在右边窗口双击“Shutdown Event Tracker” 在出现的对话框中选择“禁止”（Disabled），点击然后“确定”（OK）保存后退出，这样，你将看到类似于windows 2000的关机窗口 7. 如何使用USB硬盘、U盘，添加已经有分区的硬盘我的电脑（单击右键）----管理----磁盘管理-----在相应的硬盘上执行导入和分配盘符操作8. 在控制面板里显示全部组件： 把 Windows\inf 目录中的 sysoc.inf 文件里的 &quot;hide&quot; 替换掉。9.禁用Internet Explorer Enhanced Security 和禁止安全询问框的出现在IE工具选项中自定义设置IE的安全级别。在”安全“（Security）选项卡上拉动滚动条把Internet区域安全设置为”中“（Medium）或“中低”。自定义设置中将有关的选择“提示”修改为选择“禁止”或“启用”。10. 禁用开机 CTRL+ALT+DEL和实现自动登陆★方法1：打开注册表(运行-&gt;“Regedit”)，再打开:HKEY_LOCAL_MACHIN|SOFTWARE|MicroSoft|Windows NT|CurrentVersion |Winlogon段，在此段中按右键，新建二个字符串段，AutoAdminLogon=“1”，DefaultPassword=“为超级用户Administrator所设置的Password”。 注意，一定要为Administrator设置一个密码，否则不能实现自启动。 然后，重新启动Windows即可实现自动登录。★方法2：管理工具 -&gt; Local Security Settings（本地安全策略） -&gt; 本地策略 -&gt; 安全选项 -&gt; interactive logon: Do not require CTRL+ALT+DEL，启用之。★方法3（自动登陆）：使用Windows XP的Tweak UI来实现Server 2003自动登陆。下载：Tweak UI http://www.ssite.org/uppic/sun_pic/...003/tweakui.exe下载后直接执行tweakui.exe 在左边的面板中选择Logon -&gt; Autologon -&gt; 在右边勾选Log on automatically at system startup输入你的用户名和域名（如果没有就不写），点击下面的Set Password，输入用户名的密码，然后点击OK。11.隐藏文件Windows Server 2003默认情况下是显示所有的文件夹的，如果你不想这样，可以通过一下方法来隐藏： 打开任意一个文件夹，选择工具（Tools） -&gt; 文件夹选项（Folder Options） -&gt; 查看（View），调整 显示系统文件夹的内容、隐藏受保护的操作系统文件、隐藏文件和文件夹 三项 12.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务 ★假如你希望启用Windows内置的IMAPI CD-Burning服务。做如下xx作： 打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“IMAPI CD-Burning COM Service ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“启动”（Start） -&gt; “确定”（OK） ★假如你有如数码相机和扫描仪之类的影像设备，你应该打开Windows Image Acquisition 服务。 打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Image Acquisition (WIA) ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“启动”（Start） -&gt; “确定”（OK） 13.高级设置★我们可以修改一些windows server 2003的高级设置以适合工作站的应用环境。 右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），把“处理器计划”（Processor scheduling ）和内存使用（Memory usage）分配给“程序”（Programs）使用。然后点击“确定”（OK.） ★禁用错误报告右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－点击“错误报告”（Error Reporting ）按钮，在出现的窗口中把“禁用错误报告”（Disable Error Reporting）选上并复选“但在发生严重错误时通知我”（But, notify me when critical errors occur.）★调整虚拟内存一些朋友经常会对关机和注销缓慢感到束手无策，解决办法就是禁用虚拟内存，这样你的注销和关机时间可能会加快很多。右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），点击“虚拟内存”（Virtual memory）部分的“更改”（Change），然后在出现的窗口选择“无分页文件”。重启系统即可。14.加快启动和运行速度★修改注册表，减少预读取，减少进度条等待时间：开始→运行→regedit启动注册表编辑器，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters， 有一个键值名为EnablePrefetcher，它的值是3,把它改为“1”或“5”。找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control， 将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 ) 找到 HKEY_CURRENT_USER\Control Panel\Desktop 键，将右边视窗的 WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。 ★让系统自动关闭停止回应的程式。 打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键， 将 AutoEndTasks 值设为 1。 ( 原设定值：0 ) ★禁用系统服务Qos开始菜单→运行→键入 gpedit.msc ，出现“组策略”窗口， 展开 &quot;管理模板”→“网络” ， 展开 &quot;QoS 数据包调度程序&quot;， 在右边窗右键单击“限制可保留带宽&quot; ，在属性中的“设置”中有“限制可保留带宽&quot; ，选择“已禁用”，确定即可。当上述修改完成并应用后，用户在网络连接的属性对话框内的一般属性标签栏中如果能够看到&quot;QoS Packet Scheduler（QoS 数据包调度程序）&quot;。说明修改成功，否则说明修改失败。★改变窗口弹出的速度： 找到HKEY_CURRENT_USER＼Control Panel＼Desktop＼WindowMetrics子键分支，在右边的窗口中找到MinAniMate键值，其类型为REG_SZ，默认情况下此健值的值为1，表示打开窗口显示的动画，把它改为0，则禁止动画显示，接下来从开始菜单中选择“注销”命令，激活刚才所作的修改。 ★禁止Windows XP的压缩功能： 点击“开始”下的“运行”，在“运行”输入框中输入“regsvr32/u zipfldr.dll”，然后按回车键即可。 ★设置个性的启动信息或警告信息： 个性化的Windows XP启动：打开注册表编辑器，找到HKEY_LOCAL_MACHINE＼SOFTWARE＼Microsoft＼Windows NT＼CurrentVersion＼Winlogon子键分支，双击LegalNoticeCaption健值，打开“编辑字符串”对话框，在“数值数据”下的文本框中输入自己想要的信息标题，如“哥们儿，你好！”，然后点击“确定”，重新启动。如果想要改变警告信息的话可以双击LegalNoticeText健值名称，在出现的“编辑字符串”窗口中输入想要显示的警告信息，单击“确定”，重新启动。15.安装Java VM Windows server 2003没有集成MS Java VM或Sun Java VM,你可以自行下载并安装它。16.安装DirectX 9a 在Windows Server 2003上安装DirectX 9a和在其他版本的Windows上安装DirectX 9a的方法是一样的。安装之前必须先启用DirectX and Graphics Acceleration。 17.可用的杀毒软件和防火墙：Symantec Norton Antivirus Corporate 8.01Zone Alarm 3.7.159Norton Personal Firewall 2003五、如何防范ipc$入侵1、禁止空连接进行枚举(此**作并不能阻止空连接的建立)首先运行regedit，找到如下组建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为：00000001。restrictanonymous REG_DWORD 0x0 缺省0x1 匿名用户无法列举本机用户列表0x2 匿名用户无法连接本机IPC$共享说明:不建议使用2，否则可能会造成你的一些服务无法启动，如SQL Server2、禁止默认共享1）察看本地共享资源运行-cmd-输入net share2）删除共享(每次输入一个）net share ipc$ /deletenet share admin$ /deletenet share c$ /deletenet share d$ /delete（如果有e,f,……可以继续删除）3）修改注册表删除共享运行-regedit找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer（DWORD）的键值改为:00000000。 如果上面所说的主键不存在，就新建(右击-新建-双字节值）一个主健再改键值。 3、停止server服务1）暂时停止server服务net stop server /y （重新启动后server服务会重新开启）2）永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务控制面板-管理工具-服务-找到server服务（右击）-属性-常规-启动类型-已禁用4、安装防火墙(选中相关设置)，或者端口过滤(滤掉139,445等)1).解开文件和打印机共享绑定　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，去掉“Microsoft网络的文件和打印机共享”前面的勾，解开文件和打印机共享绑定。这样就会禁止所有从139和445端口来的请求，别人也就看不到本机的共享了。　　2).利用TCP/IP筛选　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项]，在列表中单击选中“TCP/IP筛选”选项。单击[属性]按钮，选择“只允许”，再单击[添加]按钮(如图2)，填入除了139和445之外要用到的端口。这样别人使用扫描器对139和445两个端口进行扫描时，将不会有任何回应。　　3).使用IPSec安全策略阻止对端口139和445的访问　　选择[我的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略，在本地机器]，在这里定义一条阻止任何IP地址从TCP139和TCP445端口访问IP地址的IPSec安全策略规则，这样别人使用扫描器扫描时，本机的139和445两个端口也不会给予任何回应。　　4).使用防火墙防范攻击　　在防火墙中也可以设置阻止其他机器使用本机共享。如在“天网个人防火墙”中，选择一条空规则，设置数据包方向为“接收”，对方IP地址选“任何地址”，协议设定为“TCP”，本地端口设置为“139到139”，对方端口设置为“0到0”，设置标志位为“SYN”，动作设置为“拦截”，最后单击[确定]按钮，并在“自定义IP规则”列表中勾选此规则即可启动拦截139端口攻击了(如图3)。5、给所有账户设置复杂密码，防止通过ipc$穷举密码O.K 优化开始一，首先为这个庞然大物减肥（KAO，这家伙比XP还要大出多很） 确定你已经安装好硬件及软件！1、删除系统备份文件吧：开始→运行→sfc.exe /purgecache 能减去几M的空间，积少成多嘛。2、删除驱动备份： %windows%\driver cache\i386目录下的driver.cab文件，通常这个文件是70.3M。3、刪除\windows\ime下不用的輸入法，8xM4、如果你不看系统的帮助的话...删除%windows%\help目录下的所以文件，36M。5、关闭系统还原，右健单击&quot;我的电脑&quot;，选择&quot;属性&quot;，找到&quot;系统还原&quot;，选择&quot;在所有驱动器上关闭系统还原&quot;。 6、如果你的系统区空间实在紧张，可以考虑把IE浏览器的临时文件夹移动到其它分区，方法：点击IE，工具》Internet 选项》Internet临时文件》设置》移动文件夹 就O.K了7、如果空间再紧张的话，启用NTFS的压缩功能，建议不使用！8、卸载不常用的组件，WIN2K3和以前的WINDOWS版本不同，安装全部由系统自己负责，用户无法选择安装需要的组件。运行&quot;添加-删除程序&quot;，删除掉游戏，壁纸等不用的附件。还有记住删除Internet Explorer 增强的安全配置，要不浏览网页时总会弹出警告！还可以用记事本修改\%windows%\inf\sysoc.inf，用查找/替换功能，在查找框中输入,hide，全部替换为空(注意,这行中的,hide不能替换的&quot;netfx=netfxocm.dll,UrtOcmProc,netfxocm.inf,hide,7&quot;)。这样，就把所有的,hide都去掉了，存盘退出，运行&quot;添加-删除程序&quot;，就会看见&quot;添加/删除 Windows 组件&quot;中多出不少选项,但和XP下不同,改完后虽然隐藏的都出来了,但只有Windows自动更新一项可以删除,其它的是不允许删除滴~~O.K瘦身结束！二、为WIN2K3提速，虽说他已经比XP快了，但谁会觉得自己钱多呢 呵呵1、修改注册表的run键，删除多余的程序 。启用注册表管理器：开始→运行→Regedit→找到&quot;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\&quot; 右键→删除 如果你没安装软件的话这么目录下的东西可全删除！（注意有的驱动是会在这里加入自己的键值的，要看好了，可先做备份，只要不带Kernel32/ system 什么的都可以删的了：）2、减少预读取，减少进度条等待时间，效果是进度条跑一圈就进入登录画面了，开始→运行→regedit启动注册表编辑器，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters， 有一个键值名为EnablePrefetcher，它的值是2（可能不一样，但没关系）,把它改为&quot;1&quot;。找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control， 将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 ) 找到 HKEY_CURRENT_USER\Control Panel\Desktop 键，将右边视窗的WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。3、让系统自动关闭停止回应的程式。 打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键， 将 AutoEndTasks 值设为 1。 ( 原设定值：0 ) 4、禁用错误报告右键点击&quot;我的电脑&quot;－属性－高级－点击&quot;错误报告&quot;按钮，在出现的窗口中把&quot;禁用错误报告&quot;选上并复选&quot;但在发生严重错误时通知我&quot;5、禁止Windows XP的压缩功能： 点击&quot;开始&quot;下的&quot;运行&quot;，在&quot;运行&quot;输入框中输入&quot;regsvr32/u zipfldr.dll&quot;，然后按回车出现zipfldr.dll中的Dll UnrgisterServer对话框，表示成功6、禁用系统服务Qos开始菜单→运行→键入 gpedit.msc ，出现&quot;组策略&quot;窗口， 展开 &quot;管理模板&quot;→&quot;网络&quot; ， 展开 &quot;QoS 数据包调度程序&quot;， 在右边窗右键单击&quot;限制可保留带宽&quot; ，在属性中的&quot;设置&quot;中有&quot;限制可保留带宽&quot; ，选择&quot;已禁用&quot;，确定即可。当上述修改完成并应用后，用户在网络连接的属性对话框内的一般属性标签栏中如果能够看到&quot;QoS Packet Scheduler（QoS 数据包调度程序）&quot;。说明修改成功，否则说明修改失败。7、启用硬件和DirectX加速硬件加速：桌面点击右键－属性 －设置－高级－疑难解答。把该页面的硬件加速滚动条拉到&quot;完全&quot;，最好点击&quot;确定&quot;保存退出。这期间可能出现一瞬的黑屏是完全正常。DirectX加速：打开&quot;开始&quot; -&gt; &quot;运行&quot;，键入&quot;dxdiag&quot;并回车打开&quot;DirectX 诊断工具&quot;，在&quot;显示&quot;页面，点击DirectDraw, Direct3D and AGP Texture 加速三个按钮启用加速。把&quot;声音的硬件加速级别&quot;滚动条拉到&quot;完全加速&quot;8、启动声音2003默认是禁止声音的，点击-&gt;控制面板-&gt;声音 开启就行了！9、禁用关机事件跟踪开始 -&gt; 运行 -&gt; gpedit.msc-&gt;计算机配置 -&gt; 管理模板 -&gt; 系统 -&gt; 显示关机事件跟踪 -&gt; 禁用。10、禁用配置服务器向导禁止每次开机时&quot;配置你的服务器&quot;向导的出现：在控制面板 -&gt; 管理员工具-&gt; 管理你的服务器运行它，然后在窗口的左下角复选&quot;登录时不要显示该页&quot; 默认的开始菜单里的第一项就是&quot;配置你的服务器&quot;11、减少开机磁盘扫描等待时间，开始→运行，键入&quot;chkntfs/t:0&quot;12、关闭自动更新：右键单击&quot;我的电脑&quot;，点击属性，点击&quot;自动更新&quot;，在&quot;通知设置&quot;一栏选择&quot;关闭自动更新。我将手动更新计算机&quot;一项。13、性能优化右键点击我的电脑,-&gt;属性-&gt;高兴-&gt;性能选项卡里的 设置-&gt;高级-&gt;然后将'处理器计划'和'内存使用'都调到程序选项上.14、给鼠标右键增加个复制到.../移动到...功能打开windows的记事本，将下面这些copy到记事本中，保存为mouse.reg，然后执行mouse.reg，这时随便找个文件，然后点击右键看看吧：）========================================================Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To]@=&quot;{C2FBB630-2971-11D1-A18C-00C04FD75D13}&quot;[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To]@=&quot;{C2FBB631-2971-11D1-A18C-00C04FD75D13}&quot;=======================================================三、关闭不用的系统服务（这些该S的服务，占去我多少宝贵的系统资源啊~~~默哀一分钟...）系统默认运行的服务我也记不清了，在这把我机器上禁止了服务列出来，大家照着改一下吧：）有些记得应该默认就是禁止或手动的服务我就不列出来啦~~ 太多了1/Alerter 管理警报 禁止2/Automatic updates windows自动更新 手动3/Background Intelligent Transfer Service 使用空闲的网络带宽传输数据 改为手动4/clipbook 与远程电脑来共享剪贴板内容，一定要关 呵呵5/Computer Browser 维护网络上计算机的更新列表 关！6/DHCP client 为计算机注册并更新 IP 地址 对我来说没用，关7/Distributed link tracking client 保持局域网连接更新等信息，我不用局域网，这东西占用４M左右内存。8/Distributed Transaction Coordinator 协调跨多个数据库、消息队列、文件系统等资源管理器的事务 和上面的差不多，关！9/DNS Client DNS？ 用不到，关了吧。10/Error Reporting Service 错误报告，关！11/Fast user switching compatibility 用户切换，关！12/Help and Support 系统的帮助中心，刚才把帮助都删了，还开着它干嘛？13/Logical Disk manager administrative service 配置磁盘 关14/MS software shadow copy provider 卷复制备份的 15/Net Logon 关！ 16/Netmeeting remote desktop sharing netmeeting，关17/Network DDE　 动态数据交换传输18/Network DDE DSDM　和上面差不多19/Network Location Awareness 关20/NT LM Security Support Provider 关21/NTLM Security support provider－telnet　关22/PerFORMance logs and alert 将系统状态写日志或发警告23/Portable media serial number 关！ 24/Print Spooler 打印机？我没有，关！25/QoS RSVP 关！26/Remote desktop help session manager 远程帮助服务，不需要27/remote Procedure Call LOCATOR 管理RPC 28/remote registry 远程管理注册表，关29/removable storage　30/routing and remote access 我干脆禁用了它31/Server 关，这样省的手动删除共享了，等需要时再开：）32/security accounts manager 我的系统只是一个客户系统，不用iis。 33/smart card 默认应该是关的34/SSDP Discovery service 我用不到这个35/system event notification 如果是服务器肯定要记录的36/system restore service 系统还原服务37/task scheduler windows 计划服务 38/Telephony 拨号服务39/telnet 远程登陆，默认应该是关着的40/terminal services 终端服务41/uninterruptible power supply UPS，我没有呀42/upload manager 关了也能传输文件的43/volume shadow copy 什么备份？关44/webclient 关啦45/Windows Installer MSI 服务 46/windows image acquisition (WIA) 数码设备，偶穷~~~47/windows management instrumentation driver extensions 关 48/windows time 时间服务，关吧，有时连不上，而且也没必要那么准吧49/wireless zero configuration 无线网络，关50/WMI perfromance adapter 关51/WinHTTP Web Proxy Auto-Discovery Service 没啥大用的，关吧52/Workstation 嘿嘿，关，需要的时候再开要是有啥漏掉了...自己看看吧，不知道的别瞎关，其实都是中文，系统要是说，关了会影响系统正常运行就不要关了：）呵呵 终于优化完了，不足之处还请各位高手指点，本文参考了Killer《我的WinXP优化之路》剩下的就是备份一下这个新优化的系统了：）如果你打算只在自己使用备份，那么可不必重新封装，直接GHOST即可。在2003安装盘上找Deploy.cab（上面说到过的，忘了？：） 中的sysprep.exe文件。运行sysprep.exe，选择&quot;重新封装&quot;，下面的标记中可以选择&quot;已提前激活&quot;，还可以选择封装完成后是关机还是重新启动。封装完成后，我们再用带有Ghost的系统盘启动，用Ghost来生成备份*.gho镜像文件，备份完成！全文完！1、激活常用服务 　　Windows 2003在缺省设置下屏蔽了许多对服务器来说用处不大的服务，除了声卡相关的“Windows Audio”服务和桌面主题“Themes”服务之外，还有：　　①图像捕获服务　　假如需要使用摄像头、数码相机、扫 描仪等影像设备，那么必须启用图像捕获服务。进入“开始→管理工具→服务”，在“服务”窗口中找到“Windows Image Acquisition”项，双击它进入设置窗体，将“启动类型”更改为“自动”，并点击“启动”按钮即可。　　②CD刻录服务　　在Windows 2003的默认设置下是无法刻录CD的，解决方法是：进入“服务”窗口，找到“IMAPI CD-Burning COM Service”项，双击它进入设置窗体，将“启动类型”更改为“自动”，并点击“启动”按钮。　　2、登录前不按“Ctrl+Alt+Del”组合键　　Windows 2003每次启动时，都需要先按下“Ctrl+Alt+Del”组合键，再键入密码才能登录，实在是很麻烦。取消的方法是：进入“开始→管理工具→本地安全策略”，在窗口左侧找到“本地策略→安全选项”，在右侧找到“交互式登录：不需要按“Ctrl+Alt+Del”选项，双击它，并设置为“已启用”即可。3、移动“我的文档” 　　进入资源管理器，右击“我的文档”，选择“属性”，在“目标文件夹”选项卡中点“移动”按钮，选择目标盘后按“确定”即可。在Windows 2003中“我的文档”已难觅芳踪，桌面、开始等处都看不到了，建议经常使用的朋友做个快捷方式放到桌面上。　　4、移动IE临时文件　　进入“开始→控制面板→Internet 选项”，在“常规”选项卡的“Internet 文件”栏里点“设置”按钮，在弹出窗体中点“移动文件夹”按钮，选择目标文件夹后，点“确定”，在弹出对话框中选择“是”，系统会自动重新登录。　　5、移动虚拟内存　　进入“开始→控制面板→系统”，在“系统属性”窗口里选择“高级”选项卡，点击“性能”栏里的“设置”按钮，选择“高级”选项卡，在“虚拟内存”栏里点“更改”按钮，选择系统分区，然后选择“无分页文件”项，点“设置”按钮后在弹出窗口中选择“是”，然后选择一个非系统分区，选择“自定义大小”，输入数据后点“设置”，再点“确定”，重启计算机即可。　　6、移动系统环境变量　　进入“开始→控制面板→系统”，选择“高级”，点击“环境变量”按钮，在“Administrator的用户变量”栏中选中Temp项，点“编辑”按钮，改变量值，如改为“D\Temp”，点“确定”；然后用同样的方法改变第二项Tmp到同一地址。接着，在“系统变量”栏中分别找到Temp和Tmp项，改动到同一地址即可。　　7、删除硬件驱动备份　　Windows 2003的硬件驱动程序备份文件driver.cab存放在系统分区的 “Windows\Driver Cache\i386\”目录下，硬件安装完成后，该文件就可以删除或转移了，此举可以释放出约70MB空间。四招加强Windows 2003安全性作者：Admin 来源：满天技术学院 加入时间：2004-4-22Windows 2003以其稳定的性能越来越受到用户的青睐，但面对层出不穷的新病毒，你仍然有必要再加强Windows 2003的安全性。1． 用户口令设置设置一个键的密码，在很大程度上可以避免口令攻击。密码设置的字符长度应当在8个以上，最好是字母、数字、特殊字符的组合，如“psp53,@pq”、“skdfksadf10@”等，可以有效地防止暴力破解。最好不要用自己的生日、手机号码、电话号码等做口令。2． 删除默认共享单击“开始→运行”，输入“gpedit.msc”后回车，打开组策略编辑器。依次展开“用户配置→Windows 设置→脚本(登录/注销)”，双击登录项，然后添加“delshare.bat”（参数不需要添加），从而删除Windows 2003默认的共享。接下来再禁用IPC连接：打开注册表编辑器，依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa ]分支，在右侧窗口中找到“restrictanonymous”子键，将其值改为“1”即可。3． 关闭自动播放功能自动播放功能不仅对光驱起作用，而且对其它驱动器也起作用，这样很容易被黑客利用来执行黑客程序。打开组策略编辑器，依次展开“计算机配置→管理模板→系统”，在右侧窗口中找到“关闭自动播放”选项并双击，在打开的对话框中选择“已启用”，然后在“关闭自动播放”后面的下拉菜单中选择“所有驱动器”，按“确定”即可生效。4． 清空远程可访问的注册表路径将远程可访问的注册表路径设置为空，这样可以有效防止黑客利用扫描器通过远程注册表读取计算机的系统信息及其它信息。打开组策略编辑器，依次展开“计算机配置→Windows 设置→安全设置→安全选项”，在右侧窗口中找到“网络 访问：可远程访问的注册表路径”，然后在打开的如图所的窗口中，将可远程访问的注册表路径和子路径内容全部删除。四招加强Windows 2003安全性（出处：www.viphot.com）]]></description><PubDate>2008-12-15 23:46:35</PubDate><category>服务器问题</category></item><item><title>IIS重定向使用图文教程</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15522</link><subject>设置：注意：转向地址是最后不需要加/，如果加了，访问原地址：http://www.jb51.net/mypic/logo/index.asp时，转向后的地址就是http://pic.jb51.net/logo//index.asp状态：用Flashget 下载，可以看到转向是301,这样搜索引时也会自动转到新的地址。以前功能在IIS5.0及IIS6.0中都可以实现。</subject><description><![CDATA[设置：注意：转向地址是最后不需要加/，如果加了，访问原地址：http://www.jb51.net/mypic/logo/index.asp时，转向后的地址就是http://pic.jb51.net/logo//index.asp状态：用Flashget 下载，可以看到转向是301,这样搜索引时也会自动转到新的地址。以前功能在IIS5.0及IIS6.0中都可以实现。]]></description><PubDate>2008-12-15 23:40:08</PubDate><category>服务器问题</category></item><item><title>linux Apache服务器系统安全设置与优化第1/3页</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15526</link><subject>Apache服务器的设置文件位于/usr/local/apache/conf/目录下，传统上使用三个配置文件httpd.conf, access.conf和srm.conf， 来配置Apache服务器的行为。httpd.conf提供了最基本的服务器配置，是对守护程序 httpd如何运行的技术描述;srm.conf是服务器的资源映射文件，告诉服务器各种文件的MIME类型，以及如何支持这些文件; access.conf用于配置服务器的访问权限，控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面的特性，因此为了正常运行服务器便需要设置好这三个文件。 　　除了这三个设置文件之外，Apache还使用mime.types文件用于标识不同文件对应的MIME类型， magic文件设置不同MIME类型文件的一些特殊标识，使得Apache 服务器从文档后缀不能判断出文件的MIME 类型时，能通过文件内容中的这些特殊标记来判断文档的MIME类型。 [iaspec@www conf]$ pwd /usr/local/apache/conf [iaspec@www conf]$ ls access.conf httpd.conf.OLD magic.default srm.conf access.conf.default httpd.conf.SAVE mime.types srm.conf.default httpd.conf magic mime.types.default 　　新版本的Apache将原来httpd.conf、srm.conf与 access.conf中的所有配置参数均放在了一个配置文件 httpd.conf中，只是为了与以前的版本兼容的原因(使用这三个设置文件的方式来源于NCSA-httpd)，才使用三个配置文件。而提供的 access.conf和srm.conf文件中没有具体的设置。 　　由于在新版本的Apache中，所有的设置都被放在了httpd.conf中，因此只需要调整这个文件中的设置。本文基于redhat 7.2 下的httpd.conf为例，解释Apache服务器的各个设置选项，当然，其配置方法可扩展到几乎所有unix系统。 　　虽然Apache提供设置的参数很多，基本上这些 参数都很明确，也可以不加改动运行Apache服务器。但如果需要调整Apache服务器的性能，以及增加对某种特性的支持，就需要了解这些设置参数的含义。 　　需要指出的是，除了操作系统的性能调整之外，Apache 服务器本身的缺省配置绝不是最优化和最高效的，而是要适应几乎所有种类操作系统、所有种类硬件下的设置，多平台的软件不可能为特定平台和特定硬件提供最优化的缺省配置。因此要使用Apache的时候，性能调整是必不可少的。 　　httpd.conf基本配置与性能优化的关系 　　httpd.conf中首先定义了一些httpd守护进程运行时需要的参数，来决定其运行方式和运行环境。 下面就httpd.conf中的配置参数的定义及其各种配置、优化方法进行逐项说明： 　　(优化没有捷径，必须首先清楚各配置的含义) ServerType standalone 　　ServerType定义服务器的启动方式，缺省值为独立方式 standalone，httpd 服务器将由其本身启动，并驻留在主机中监视连接请求。在Linux下将在启动文件 /etc/rc.d/rc.local/init.d/apache中自动启动Web服务器，这种方式是推荐设置。 　　启动Apache服务器的另一种方式是inet方式，使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时，便需要更改为这个设置，并屏蔽 /etc/rc.d/rc.local/init.d/apache文件，以及更改/etc/inetd.conf并重起 inetd，那么Apache就能从inetd中启动了。 　　两种方式的区别是独立方式是由服务器自身管理自己的启动进程，这样在启动时能立即启动服务器的多个副本，每个副本都驻留在内存中，一有连接请求不需要生成子进程就可以立即进行处理，对于客户浏览器的请求反应更快，性能较高。而 inetd方式要由inetd发现有连接请求后才去启动http服务器，由于inetd 要监听太多的端口，因此反应较慢、效率较低，但节约了没有连接请求时Web服务器占用的资源。因此inetd方式只用于偶尔被访问并且不要求访问速度的服务器上。事实上inetd方式不适合http的突发和多连接的特性，因为一个页面可能包含多个图象，而每个图象都会引起一个连接请求，即使虽然访问人数造成教少，但瞬间的连接请求并不少，这就受到inetd性能的限制，甚至会影响由inetd启动的其他服务器程序。 ServerRoot &quot;/usr/local&quot; 　　ServerRoot用于指定守护进程httpd的运行目录，httpd在启动之后将自动将进程的当前目录改变为这个目录，因此如果设置文件中指定的文件或目录是相对路径，那么真实路径就位于这个ServerRoot定义的路径之下。 　　由于httpd会经常进行并发的文件操作，就需要使用加锁的方式来保证文件操作不冲突，由于NFS文件系统在文件加锁方面能力有限，因此这个目录应该是本地磁盘文件系统，而不应该使用NFS文件系统。 # LockFile /var/lock/httpd.lock 　　LockFile参数指定了httpd守护进程的加锁文件，一般不需要设置这个参数， Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统，便需要使用这个参数指定本地文件系统中的路径，以提高读写速度。 PidFile /var/run/httpd.pid 　　PidFile指定的文件将记录httpd守护进程的进程号，由于httpd能自动复制其自身，因此系统中有多个httpd进程，但只有一个进程为最初启动的进程，它为其他进程的父进程，对这个进程发送信号将影响所有的httpd进程。 PidFILE定义的文件中就记录httpd父进程的进程号。 ScoreBoardFile /var/run/httpd.scoreboard 　　httpd使用ScoreBoardFile来维护进程的内部数据，因此通常不需要改变这个参数，除非管理员想在一台计算机上运行几个Apache服务器，这时每个Apache服务器都需要独立的设置文件htt pd.conf，并使用不同的ScoreBoardFile。 #ResourceConfig conf/srm.conf #AccessConfig conf/access.conf 　　这两个参数ResourceConfig和AccessConfig，就用于和使用 srm.conf 和 access.conf 设置文件的老版本Apache兼容。如果没有兼容的需要，可以将对应的设置文件指定为/dev/null，这将表示不存在其他设置文件，而仅使用 httpd.conf 一个文件来保存所有的设置选项。 Timeout 300 　　Timeout定义客户程序和服务器连接的超时间隔，超过这个时间间隔(秒)后服务器将断开与客户机的连接。如果服务器的负载较重，可适当把此数字调小。 KeepAlive On 　　在HTTP 1.0中，一次连接只能作传输一次HTTP请求，而KeepAlive参数用于支持HTTP的一次连接、多次传输功能，这样就可以在一次连接中传递多个HTTP请求。 MaxKeepAliveRequests 100 　　 MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面，通常达不到这个上限就完成连接了。可以适当将此数字调小，以获取最大速度。 KeepAliveTimeout 15 　　KeepAliveTimeout 测试一次连接中的多次请求传输之间的时间，如果服务器已经完成了一次请求，但一直没有接收到客户程序的下一次请求，在间隔超过了这个参数设置的值之后，服务器就断开连接。可以适当调小这个数值，以尽快释放空闲的连接。但也不可太小，不然多数客户都要重新连接，将耗费 CPU时间。 MinSpareServers 5       MaxSpareServers 10 　　在使用子进程处理HTTP请求的 Web服务器上，由于要首先生成子进程才能处理客户的请求，因此反应时间就有一点延迟。但是，Apache服务器使用了一个特殊技术来摆脱这个问题，这就是预先生成多个空余的子进程驻留在系统中，一旦有请求出现，就立即使用这些空余的子进程进行处理，这样就不存在生成子进程造成的延迟了。在运行中随着客户请求的增多，启动的子进程会随之增多，但这些服务器副本在处理完一次HTTP请求之后并不立即退出，而是停留在计算机中等待下次请求。但是空余的子进程副本不能光增加不减少，太多的空余子进程没有处理任务，也占用服务器的处理能力，因此也要限制空余副本的数量，使其保持一个合适的数量，使得既能及时回应客户请求，又能减少不必要的进程数量。 　　因此就可以使用参数MinSpareServers来设置最少的空余子进程数量，以及使用参数 MaxSpareServers 来限制最多的空闲子进程数量，多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置，如果服务器性能较高，并且也被频繁访问，就应该增大这两个参数的设置。对于高负载的专业网站，这两个值应该大致相同，并且等同于系统支持的最多服务器副本数量，也减少不必要的副本退出。 　　比如，当系统高负载时，可以这样检测：    [iaspec@www iaspec]$ ps -ef|grep apache|wc 55 .. .. [iaspec@www iaspec]$ 　　这表明，高负载时有55个运行子进程，如果此服务器为WEB专用服务器，就应该考虑将这两个数值分别设为50、60，或者40、70，具体以速度测试结果为准。 StartServers 5 　　StartServers参数就是用来设置httpd启动时启动的子进程副本数量，这个参数与上面定义的MinSpareServers和 MaxSpareServers参数相关，都是用于启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值，小于 MinSpareServers和大于MaxSpareServers都没有意义。 MaxClients 150 　　在另一方面，服务器的能力毕竟是有限的，不可能同时处理无限多的连接请求，因此参数 Maxclients就用于规定服务器支持的最多并发访问的客户数，如果这个值设置得过大，系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务，这样对每个客户的反应就会减慢，并降低了整体的效率。如果这个值设置的较小，那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时，就可以适当增加这个值的设置。对于专业网站，应该使用提高服务器效率的策略，因此这个参数不能超过硬件本身的限制，如果频繁出现拒绝访问现象，就说明需要升级服务器硬件了。当不太在意对客户浏览器的反应速度，或者认为反应速度较慢也比拒绝连接好，就也可以略微超过硬件条件来设置这个参数。 　　但具体这个数值以多少为宜呢?当对性能要求较高时，可以用下面的方法确定如何配置此参数。 　　首先，估计你的最大可能并发的连接数，或者在高负载时用ps -ef|grep apache|wc命令测得最大进程数，通常MaxClients应该是这个数值的两倍左右。如果当前网站在高负载时的访问速度可以接受，但有拒绝服务现象，则应把此参数调大，如果无拒绝服务现象，但访问速度缓慢，则应减低此数值。 　　这个参数同时限制了MinSpareServers和MaxSpareServers的设置，它们不应该大于这个参数的设置。 　　对于重负载的机器来说，仅仅这么做还是不够的。 　　Apache允许为请求开的最大进程数是256,MaxClients的限制是 256.如果用户多了，用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数，是Apache的程序决定的--它的NT版可以有1024，但Unix版只有256，你可以在include/httpd.h中 　　看到： #ifndef HARD_SERVER_LIMIT #ifdef WIN32 #define HARD_SERVER_LIMIT 1024 #else #define HARD_SERVER_LIMIT 256 #endif #endif 　　你可以把它调到1024，然后再编译你的系统。记得在httpd.conf里也要更改相应配置。 MaxRequestsPerChild 30 　　使用子进程的方式提供服务的Web 服务，常用的方式是一个子进程为一次连接服务，这样造成的问题就是每次连接都需要生成、退出子进程的系统操作，使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务，这样就不需要这些生成、退出进程的系统消耗， Apache就采用了这样的方式，一次连接结束后，子进程并不退出，而是停留在系统中等待下一次服务请求，这样就极大的提高了性能。 　　但由于在处理过程中子进程要不断的申请和释放内存，次数多了就会造成一些内存垃圾，就会影响系统的稳定性，并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后，就可以让这个子进程副本退出，再从原始的 httpd进程中重新复制一个干净的副本，这样就能提高系统的稳定性。这样，每个子进程处理服务请求次数由MaxRequestPerChild定义。缺省的设置值为30，这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置，可以设置为1000甚至更高，设置为0支持每个副本进行无限次的服务处理。 #Listen 3000 #Listen 12.34.56.78:80 #BindAddress * 　　Listen参数可以指定服务器除了监视标准的80端口之外，还监视其他端口的 HTTP请求。由于系统可以同时拥有多个IP地址，因此也可以指定服务器只听取对某个BindAddress&lt; /B&gt;;的IP地址的HTTP请求。如果没有配置这一项，则服务器会回应对所有IP的请求。 　　即使使用了BindAddress参数，使得服务器只回应对一个IP地址的请求，但是通过使用扩展的Listen参数，仍然可以让HTTP守护进程回应对其他IP地址的请求。此时List en参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用 VirtualHost参数定义对不同IP的虚拟主机，然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法，每针对一个虚拟主机就需要一个IP地址，实际上用处并不大。在HTTP 1.1中，增加了对单IP地址多域名的虚拟主机的支持，使得虚拟主机的设置具备更大的意义。</subject><description><![CDATA[Apache服务器的设置文件位于/usr/local/apache/conf/目录下，传统上使用三个配置文件httpd.conf, access.conf和srm.conf， 来配置Apache服务器的行为。httpd.conf提供了最基本的服务器配置，是对守护程序 httpd如何运行的技术描述;srm.conf是服务器的资源映射文件，告诉服务器各种文件的MIME类型，以及如何支持这些文件; access.conf用于配置服务器的访问权限，控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面的特性，因此为了正常运行服务器便需要设置好这三个文件。 　　除了这三个设置文件之外，Apache还使用mime.types文件用于标识不同文件对应的MIME类型， magic文件设置不同MIME类型文件的一些特殊标识，使得Apache 服务器从文档后缀不能判断出文件的MIME 类型时，能通过文件内容中的这些特殊标记来判断文档的MIME类型。 [iaspec@www conf]$ pwd /usr/local/apache/conf [iaspec@www conf]$ ls access.conf httpd.conf.OLD magic.default srm.conf access.conf.default httpd.conf.SAVE mime.types srm.conf.default httpd.conf magic mime.types.default 　　新版本的Apache将原来httpd.conf、srm.conf与 access.conf中的所有配置参数均放在了一个配置文件 httpd.conf中，只是为了与以前的版本兼容的原因(使用这三个设置文件的方式来源于NCSA-httpd)，才使用三个配置文件。而提供的 access.conf和srm.conf文件中没有具体的设置。 　　由于在新版本的Apache中，所有的设置都被放在了httpd.conf中，因此只需要调整这个文件中的设置。本文基于redhat 7.2 下的httpd.conf为例，解释Apache服务器的各个设置选项，当然，其配置方法可扩展到几乎所有unix系统。 　　虽然Apache提供设置的参数很多，基本上这些 参数都很明确，也可以不加改动运行Apache服务器。但如果需要调整Apache服务器的性能，以及增加对某种特性的支持，就需要了解这些设置参数的含义。 　　需要指出的是，除了操作系统的性能调整之外，Apache 服务器本身的缺省配置绝不是最优化和最高效的，而是要适应几乎所有种类操作系统、所有种类硬件下的设置，多平台的软件不可能为特定平台和特定硬件提供最优化的缺省配置。因此要使用Apache的时候，性能调整是必不可少的。 　　httpd.conf基本配置与性能优化的关系 　　httpd.conf中首先定义了一些httpd守护进程运行时需要的参数，来决定其运行方式和运行环境。 下面就httpd.conf中的配置参数的定义及其各种配置、优化方法进行逐项说明： 　　(优化没有捷径，必须首先清楚各配置的含义) ServerType standalone 　　ServerType定义服务器的启动方式，缺省值为独立方式 standalone，httpd 服务器将由其本身启动，并驻留在主机中监视连接请求。在Linux下将在启动文件 /etc/rc.d/rc.local/init.d/apache中自动启动Web服务器，这种方式是推荐设置。 　　启动Apache服务器的另一种方式是inet方式，使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时，便需要更改为这个设置，并屏蔽 /etc/rc.d/rc.local/init.d/apache文件，以及更改/etc/inetd.conf并重起 inetd，那么Apache就能从inetd中启动了。 　　两种方式的区别是独立方式是由服务器自身管理自己的启动进程，这样在启动时能立即启动服务器的多个副本，每个副本都驻留在内存中，一有连接请求不需要生成子进程就可以立即进行处理，对于客户浏览器的请求反应更快，性能较高。而 inetd方式要由inetd发现有连接请求后才去启动http服务器，由于inetd 要监听太多的端口，因此反应较慢、效率较低，但节约了没有连接请求时Web服务器占用的资源。因此inetd方式只用于偶尔被访问并且不要求访问速度的服务器上。事实上inetd方式不适合http的突发和多连接的特性，因为一个页面可能包含多个图象，而每个图象都会引起一个连接请求，即使虽然访问人数造成教少，但瞬间的连接请求并不少，这就受到inetd性能的限制，甚至会影响由inetd启动的其他服务器程序。 ServerRoot &quot;/usr/local&quot; 　　ServerRoot用于指定守护进程httpd的运行目录，httpd在启动之后将自动将进程的当前目录改变为这个目录，因此如果设置文件中指定的文件或目录是相对路径，那么真实路径就位于这个ServerRoot定义的路径之下。 　　由于httpd会经常进行并发的文件操作，就需要使用加锁的方式来保证文件操作不冲突，由于NFS文件系统在文件加锁方面能力有限，因此这个目录应该是本地磁盘文件系统，而不应该使用NFS文件系统。 # LockFile /var/lock/httpd.lock 　　LockFile参数指定了httpd守护进程的加锁文件，一般不需要设置这个参数， Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统，便需要使用这个参数指定本地文件系统中的路径，以提高读写速度。 PidFile /var/run/httpd.pid 　　PidFile指定的文件将记录httpd守护进程的进程号，由于httpd能自动复制其自身，因此系统中有多个httpd进程，但只有一个进程为最初启动的进程，它为其他进程的父进程，对这个进程发送信号将影响所有的httpd进程。 PidFILE定义的文件中就记录httpd父进程的进程号。 ScoreBoardFile /var/run/httpd.scoreboard 　　httpd使用ScoreBoardFile来维护进程的内部数据，因此通常不需要改变这个参数，除非管理员想在一台计算机上运行几个Apache服务器，这时每个Apache服务器都需要独立的设置文件htt pd.conf，并使用不同的ScoreBoardFile。 #ResourceConfig conf/srm.conf #AccessConfig conf/access.conf 　　这两个参数ResourceConfig和AccessConfig，就用于和使用 srm.conf 和 access.conf 设置文件的老版本Apache兼容。如果没有兼容的需要，可以将对应的设置文件指定为/dev/null，这将表示不存在其他设置文件，而仅使用 httpd.conf 一个文件来保存所有的设置选项。 Timeout 300 　　Timeout定义客户程序和服务器连接的超时间隔，超过这个时间间隔(秒)后服务器将断开与客户机的连接。如果服务器的负载较重，可适当把此数字调小。 KeepAlive On 　　在HTTP 1.0中，一次连接只能作传输一次HTTP请求，而KeepAlive参数用于支持HTTP的一次连接、多次传输功能，这样就可以在一次连接中传递多个HTTP请求。 MaxKeepAliveRequests 100 　　 MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面，通常达不到这个上限就完成连接了。可以适当将此数字调小，以获取最大速度。 KeepAliveTimeout 15 　　KeepAliveTimeout 测试一次连接中的多次请求传输之间的时间，如果服务器已经完成了一次请求，但一直没有接收到客户程序的下一次请求，在间隔超过了这个参数设置的值之后，服务器就断开连接。可以适当调小这个数值，以尽快释放空闲的连接。但也不可太小，不然多数客户都要重新连接，将耗费 CPU时间。 MinSpareServers 5       MaxSpareServers 10 　　在使用子进程处理HTTP请求的 Web服务器上，由于要首先生成子进程才能处理客户的请求，因此反应时间就有一点延迟。但是，Apache服务器使用了一个特殊技术来摆脱这个问题，这就是预先生成多个空余的子进程驻留在系统中，一旦有请求出现，就立即使用这些空余的子进程进行处理，这样就不存在生成子进程造成的延迟了。在运行中随着客户请求的增多，启动的子进程会随之增多，但这些服务器副本在处理完一次HTTP请求之后并不立即退出，而是停留在计算机中等待下次请求。但是空余的子进程副本不能光增加不减少，太多的空余子进程没有处理任务，也占用服务器的处理能力，因此也要限制空余副本的数量，使其保持一个合适的数量，使得既能及时回应客户请求，又能减少不必要的进程数量。 　　因此就可以使用参数MinSpareServers来设置最少的空余子进程数量，以及使用参数 MaxSpareServers 来限制最多的空闲子进程数量，多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置，如果服务器性能较高，并且也被频繁访问，就应该增大这两个参数的设置。对于高负载的专业网站，这两个值应该大致相同，并且等同于系统支持的最多服务器副本数量，也减少不必要的副本退出。 　　比如，当系统高负载时，可以这样检测：    [iaspec@www iaspec]$ ps -ef|grep apache|wc 55 .. .. [iaspec@www iaspec]$ 　　这表明，高负载时有55个运行子进程，如果此服务器为WEB专用服务器，就应该考虑将这两个数值分别设为50、60，或者40、70，具体以速度测试结果为准。 StartServers 5 　　StartServers参数就是用来设置httpd启动时启动的子进程副本数量，这个参数与上面定义的MinSpareServers和 MaxSpareServers参数相关，都是用于启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值，小于 MinSpareServers和大于MaxSpareServers都没有意义。 MaxClients 150 　　在另一方面，服务器的能力毕竟是有限的，不可能同时处理无限多的连接请求，因此参数 Maxclients就用于规定服务器支持的最多并发访问的客户数，如果这个值设置得过大，系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务，这样对每个客户的反应就会减慢，并降低了整体的效率。如果这个值设置的较小，那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时，就可以适当增加这个值的设置。对于专业网站，应该使用提高服务器效率的策略，因此这个参数不能超过硬件本身的限制，如果频繁出现拒绝访问现象，就说明需要升级服务器硬件了。当不太在意对客户浏览器的反应速度，或者认为反应速度较慢也比拒绝连接好，就也可以略微超过硬件条件来设置这个参数。 　　但具体这个数值以多少为宜呢?当对性能要求较高时，可以用下面的方法确定如何配置此参数。 　　首先，估计你的最大可能并发的连接数，或者在高负载时用ps -ef|grep apache|wc命令测得最大进程数，通常MaxClients应该是这个数值的两倍左右。如果当前网站在高负载时的访问速度可以接受，但有拒绝服务现象，则应把此参数调大，如果无拒绝服务现象，但访问速度缓慢，则应减低此数值。 　　这个参数同时限制了MinSpareServers和MaxSpareServers的设置，它们不应该大于这个参数的设置。 　　对于重负载的机器来说，仅仅这么做还是不够的。 　　Apache允许为请求开的最大进程数是256,MaxClients的限制是 256.如果用户多了，用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数，是Apache的程序决定的--它的NT版可以有1024，但Unix版只有256，你可以在include/httpd.h中 　　看到： #ifndef HARD_SERVER_LIMIT #ifdef WIN32 #define HARD_SERVER_LIMIT 1024 #else #define HARD_SERVER_LIMIT 256 #endif #endif 　　你可以把它调到1024，然后再编译你的系统。记得在httpd.conf里也要更改相应配置。 MaxRequestsPerChild 30 　　使用子进程的方式提供服务的Web 服务，常用的方式是一个子进程为一次连接服务，这样造成的问题就是每次连接都需要生成、退出子进程的系统操作，使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务，这样就不需要这些生成、退出进程的系统消耗， Apache就采用了这样的方式，一次连接结束后，子进程并不退出，而是停留在系统中等待下一次服务请求，这样就极大的提高了性能。 　　但由于在处理过程中子进程要不断的申请和释放内存，次数多了就会造成一些内存垃圾，就会影响系统的稳定性，并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后，就可以让这个子进程副本退出，再从原始的 httpd进程中重新复制一个干净的副本，这样就能提高系统的稳定性。这样，每个子进程处理服务请求次数由MaxRequestPerChild定义。缺省的设置值为30，这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置，可以设置为1000甚至更高，设置为0支持每个副本进行无限次的服务处理。 #Listen 3000 #Listen 12.34.56.78:80 #BindAddress * 　　Listen参数可以指定服务器除了监视标准的80端口之外，还监视其他端口的 HTTP请求。由于系统可以同时拥有多个IP地址，因此也可以指定服务器只听取对某个BindAddress&lt; /B&gt;;的IP地址的HTTP请求。如果没有配置这一项，则服务器会回应对所有IP的请求。 　　即使使用了BindAddress参数，使得服务器只回应对一个IP地址的请求，但是通过使用扩展的Listen参数，仍然可以让HTTP守护进程回应对其他IP地址的请求。此时List en参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用 VirtualHost参数定义对不同IP的虚拟主机，然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法，每针对一个虚拟主机就需要一个IP地址，实际上用处并不大。在HTTP 1.1中，增加了对单IP地址多域名的虚拟主机的支持，使得虚拟主机的设置具备更大的意义。]]></description><PubDate>2008-12-15 23:40:08</PubDate><category>服务器问题</category></item><item><title>linux下用cron定时执行任务的方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15538</link><subject>cron用法很简单：先来一个速成的： 第一步：写cron脚本文件。例如：取名一个 crontest.cron的文本文件，只需要写一行：              15,30,45,59 * * * * echo &quot;xgmtest..........&quot; &gt;&gt; xgmtest.txt              表示，每隔15分钟，执行打印一次命令 第二步：添加定时任务。执行命令 “crontab crontest.cron”。搞定 第三步：如不放心，可以输入 &quot;crontab -l&quot; 查看是否有定时任务 详细信息： crontab用法  　　crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说，用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。下面就来看看如何创建一个crontab文件。  　　在/var/spool/cron下的crontab文件不可以直接创建或者直接修改。crontab文件是通过crontab命令得到的。现在假设有个用户名为foxy，需要创建自己的一个crontab文件。首先可以使用任何文本编辑器建立一个新文件，然后向其中写入需要运行的命令和要定期执行的时间。  　　然后存盘退出。假设该文件为/tmp/test.cron。再后就是使用crontab命令来安装这个文件，使之成为该用户的crontab文件。键入：  　　crontab test.cron  　　这样一个crontab 文件就建立好了。可以转到/var/spool/cron目录下面查看，发现多了一个foxy文件。这个文件就是所需的crontab 文件。用more命令查看该文件的内容可以发现文件头有三行信息：  　　#DO NOT EDIT THIS FILE -edit the master and reinstall.  　　#（test.cron installed on Mon Feb 22 14:20:20 1999）  　　#（cron version --$Id:crontab.c，v 2.13 1994/01/17 03:20:37 vivie Exp $）  　　大概意思是：  　　#切勿编辑此文件——如果需要改变请编辑源文件然后重新安装。  　　#test.cron文件安装时间：14:20:20 02/22/1999  　　如果需要改变其中的命令内容时，还是需要重新编辑原来的文件，然后再使用crontab命令安装。  　　可以使用crontab命令的用户是有限制的。如果/etc/cron.allow文件存在，那么只有其中列出的用户才能使用该命令；如果该文件不存在但cron.deny文件存在，那么只有未列在该文件中的用户才能使用crontab命令；如果两个文件都不存在，那就取决于一些参数的设置，可能是只允许超级用户使用该命令，也可能是所有用户都可以使用该命令。  　　crontab命令的语法格式如下：  　　crontab [-u user] file  　　crontab [-u user]{-l -r -e}  　　第一种格式用于安装一个新的crontab 文件，安装 淳褪莊ile所指的文件，如果使用“-”符号作为文件名，那就意味着使用标准输入作为安装来源。  　　-u 如果使用该选项，也就是指定了是哪个具体用户的crontab 文件将被修改。如果不指定该选项，crontab 将默认是操作者本人的crontab ，也就是执行该crontab 命令的用户的crontab 文件将被修改。但是请注意，如果使用了su命令再使用crontab 命令很可能就会出现混乱的情况。所以如果是使用了su命令，最好使用-u选项来指定究竟是哪个用户的crontab文件。  　　-l 在标准输出上显示当前的crontab。  　　-r 删除当前的crontab文件。  　　-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时，编辑后的文件将自动安装。  　　[例7]  　　# crontab -l #列出用户目前的crontab。  　　10 6 * * * date  　　0 /2 * * date  　　0 23-7/2，8 * * * date  　　#  　　在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域，其中前五个域是指定命令被执行的时间，最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下：  　　minute hour day-of-month month-of-year day-of-week commands  　　第一项是分钟，第二项是小时，第三项是一个月的第几天，第四项是一年的第几个月，第五项是一周的星期几，第六项是要执行的命令。这些项都不能为空，必须填入。如果用户不需要指定其中的几项，那么可以使用*代替。因为*是统配符，可以代替任何字符，所以就可以认为是任何时间，也就是该项被忽略了。在表4- 1中给出了每项的合法范围。  　表4-1　指定时间的合法范围  时间 minute hour day-of-month month-of-year day-of-week   合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)   　　这样用户就可以往crontab 文件中写入无限多的行以完成无限多的命令。命令域中可以写入所有可以在命令行写入的命令和符号，其他所有时间域都支持列举，也就是域中可以写入很多的时间值，只要满足这些时间值中的任何一个都执行命令，每两个时间值中间使用逗号分隔。  　除了数字还有几个个特殊的符号就是&quot;*&quot;、&quot;/&quot;和&quot;-&quot;、&quot;,&quot;，*代表所有的取值范围内的数字，&quot;/&quot;代表每的意思,&quot;/5&quot;表示每5个单位，&quot;-&quot;代表从某个数字到某个数字,&quot;,&quot;分开几个离散的数字。  几个例子：  每天早上6点  0 6 * * * echo &quot;Good morning.&quot; &gt;&gt; /tmp/test.txt //注意单纯echo，从屏幕上看不到任何输出，因为cron把任何输出都email到root的信箱了。每两个小时  0 */2 * * * echo &quot;Have a break now.&quot; &gt;&gt; /tmp/test.txt晚上11点到早上8点之间每两个小时，早上八点  0 23-7/2，8 * * * echo &quot;Have a good dream：）&quot; &gt;&gt; /tmp/test.txt每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点  0 11 4 * 1-3 command line1月1日早上4点  0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误，或者有数据输出，数据作为邮件发给这个帐号 HOME=/        //使用者运行的路径,这里是根目录 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本 大家注意&quot;run-parts&quot;这个参数了，如果去掉这个参数的话，后面就可以写要运行的某个脚本名，而不是文件夹名了。 　  这就是表示任意天任意月，其实就是每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。  5，15，25，35，45，55 16，17，18 * * * command在每周一，三，五的下午3：00系统进入维护状态，重新启动系统。那么在crontab 文件中就应该写入如下字段：  　　00 15 * * 1，3，5 shutdown -r +5然后将该文件存盘为foxy.cron，再键入crontab foxy.cron安装该文件。  每小时的10分，40分执行用户目录下的innd/bbslin这个指令：  　　10，40 * * * * innd/bbslink每小时的1分执行用户目录下的bin/account这个指令：  　1 * * * * bin/account每天早晨三点二十分执行用户目录下如下所示的两个指令（每个指令以;分隔）：  20 3 * * * （/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st）　　  每年的一月和四月，4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令，并把结果添加在mm.txt这个文件之后（mm.txt文件位于用户自己的目录位置）。  　　12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt crontab的正确用法(简短节省大家时间)命令： 1 man cron 2 man crontab 3 man 5 crontab ==&gt; 中间有个5。命令&quot;crontab -e&quot;: -------------------------------------------------------------------------------- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin #这是盲点，没想过要设，一次次的失望。［冒号分隔］ DISPLAY=:0.0 #加上吧，有冒号有句点。 # 分 钟 日 月 周 命令 1 23 1 8 * shutdown -h +3 #1月8日23点1分关机(延时3分钟) 1,4,7 23 1 8 * # 1分，4分，7分[1月8日23点] */3 23 1 8 * # 0,3,6,9...每隔3分钟（或每过3分钟，与每3分钟有点不同） [1-10]/3 23 1 8 * # 1分，4分，7分[从1分起，逐次加3分钟，直到大于10==&gt;这是 正确解法] ＠reboot shutdown -k now #这行能把你吓坏，一开机就关机（要是把&quot;-k&quot;换成&quot;-h&quot;的话）。 &quot;@reboot&quot;表示启动时执行。 ---------------------------------END-------------------------------------------- 另一个脚本： ******************************************************************************* [0-59]/5 23 * * * shutdown -h now #每天晚上11点每隔5分钟关一次机，愿望很好，但是将不会执行，因为没设PATH变量，解决方法见下行。 [0-59]/5 23 * * * /sbin/shutdown -h now #保证关得很死，给出了路径。 0 6 1 8 * xmms /music/zhangchu/轻取.mp3 #明天早上6点钟放首歌叫我。但睡到7点钟还是没听到音乐，伤心失望。[DISPLAY=:0.0]。对本行的最后一点补充：现今99%主板都支持定时开机，没有闹钟的话可以叫电脑叫醒你，选项在BIOS电源里面［wake up by alarm]。 *********************************END******************************************* 可以自由修改，最初发布于Linuxsir网站。  我们来看一个超级用户的crontab文件：  　　#Run the ‘atrun' program every minutes 　　#This runs anything that's due to run from ‘at'.See man ‘at' or ‘atrun'. 　　0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/atrun 　　40 7 * * * updatedb 　　8,10,22,30,39,46,54,58 * * * * /bin/sync</subject><description><![CDATA[cron用法很简单：先来一个速成的： 第一步：写cron脚本文件。例如：取名一个 crontest.cron的文本文件，只需要写一行：              15,30,45,59 * * * * echo &quot;xgmtest..........&quot; &gt;&gt; xgmtest.txt              表示，每隔15分钟，执行打印一次命令 第二步：添加定时任务。执行命令 “crontab crontest.cron”。搞定 第三步：如不放心，可以输入 &quot;crontab -l&quot; 查看是否有定时任务 详细信息： crontab用法  　　crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说，用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。下面就来看看如何创建一个crontab文件。  　　在/var/spool/cron下的crontab文件不可以直接创建或者直接修改。crontab文件是通过crontab命令得到的。现在假设有个用户名为foxy，需要创建自己的一个crontab文件。首先可以使用任何文本编辑器建立一个新文件，然后向其中写入需要运行的命令和要定期执行的时间。  　　然后存盘退出。假设该文件为/tmp/test.cron。再后就是使用crontab命令来安装这个文件，使之成为该用户的crontab文件。键入：  　　crontab test.cron  　　这样一个crontab 文件就建立好了。可以转到/var/spool/cron目录下面查看，发现多了一个foxy文件。这个文件就是所需的crontab 文件。用more命令查看该文件的内容可以发现文件头有三行信息：  　　#DO NOT EDIT THIS FILE -edit the master and reinstall.  　　#（test.cron installed on Mon Feb 22 14:20:20 1999）  　　#（cron version --$Id:crontab.c，v 2.13 1994/01/17 03:20:37 vivie Exp $）  　　大概意思是：  　　#切勿编辑此文件——如果需要改变请编辑源文件然后重新安装。  　　#test.cron文件安装时间：14:20:20 02/22/1999  　　如果需要改变其中的命令内容时，还是需要重新编辑原来的文件，然后再使用crontab命令安装。  　　可以使用crontab命令的用户是有限制的。如果/etc/cron.allow文件存在，那么只有其中列出的用户才能使用该命令；如果该文件不存在但cron.deny文件存在，那么只有未列在该文件中的用户才能使用crontab命令；如果两个文件都不存在，那就取决于一些参数的设置，可能是只允许超级用户使用该命令，也可能是所有用户都可以使用该命令。  　　crontab命令的语法格式如下：  　　crontab [-u user] file  　　crontab [-u user]{-l -r -e}  　　第一种格式用于安装一个新的crontab 文件，安装 淳褪莊ile所指的文件，如果使用“-”符号作为文件名，那就意味着使用标准输入作为安装来源。  　　-u 如果使用该选项，也就是指定了是哪个具体用户的crontab 文件将被修改。如果不指定该选项，crontab 将默认是操作者本人的crontab ，也就是执行该crontab 命令的用户的crontab 文件将被修改。但是请注意，如果使用了su命令再使用crontab 命令很可能就会出现混乱的情况。所以如果是使用了su命令，最好使用-u选项来指定究竟是哪个用户的crontab文件。  　　-l 在标准输出上显示当前的crontab。  　　-r 删除当前的crontab文件。  　　-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时，编辑后的文件将自动安装。  　　[例7]  　　# crontab -l #列出用户目前的crontab。  　　10 6 * * * date  　　0 /2 * * date  　　0 23-7/2，8 * * * date  　　#  　　在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域，其中前五个域是指定命令被执行的时间，最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下：  　　minute hour day-of-month month-of-year day-of-week commands  　　第一项是分钟，第二项是小时，第三项是一个月的第几天，第四项是一年的第几个月，第五项是一周的星期几，第六项是要执行的命令。这些项都不能为空，必须填入。如果用户不需要指定其中的几项，那么可以使用*代替。因为*是统配符，可以代替任何字符，所以就可以认为是任何时间，也就是该项被忽略了。在表4- 1中给出了每项的合法范围。  　表4-1　指定时间的合法范围  时间 minute hour day-of-month month-of-year day-of-week   合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)   　　这样用户就可以往crontab 文件中写入无限多的行以完成无限多的命令。命令域中可以写入所有可以在命令行写入的命令和符号，其他所有时间域都支持列举，也就是域中可以写入很多的时间值，只要满足这些时间值中的任何一个都执行命令，每两个时间值中间使用逗号分隔。  　除了数字还有几个个特殊的符号就是&quot;*&quot;、&quot;/&quot;和&quot;-&quot;、&quot;,&quot;，*代表所有的取值范围内的数字，&quot;/&quot;代表每的意思,&quot;/5&quot;表示每5个单位，&quot;-&quot;代表从某个数字到某个数字,&quot;,&quot;分开几个离散的数字。  几个例子：  每天早上6点  0 6 * * * echo &quot;Good morning.&quot; &gt;&gt; /tmp/test.txt //注意单纯echo，从屏幕上看不到任何输出，因为cron把任何输出都email到root的信箱了。每两个小时  0 */2 * * * echo &quot;Have a break now.&quot; &gt;&gt; /tmp/test.txt晚上11点到早上8点之间每两个小时，早上八点  0 23-7/2，8 * * * echo &quot;Have a good dream：）&quot; &gt;&gt; /tmp/test.txt每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点  0 11 4 * 1-3 command line1月1日早上4点  0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误，或者有数据输出，数据作为邮件发给这个帐号 HOME=/        //使用者运行的路径,这里是根目录 # run-parts 01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本 大家注意&quot;run-parts&quot;这个参数了，如果去掉这个参数的话，后面就可以写要运行的某个脚本名，而不是文件夹名了。 　  这就是表示任意天任意月，其实就是每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。  5，15，25，35，45，55 16，17，18 * * * command在每周一，三，五的下午3：00系统进入维护状态，重新启动系统。那么在crontab 文件中就应该写入如下字段：  　　00 15 * * 1，3，5 shutdown -r +5然后将该文件存盘为foxy.cron，再键入crontab foxy.cron安装该文件。  每小时的10分，40分执行用户目录下的innd/bbslin这个指令：  　　10，40 * * * * innd/bbslink每小时的1分执行用户目录下的bin/account这个指令：  　1 * * * * bin/account每天早晨三点二十分执行用户目录下如下所示的两个指令（每个指令以;分隔）：  20 3 * * * （/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st）　　  每年的一月和四月，4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令，并把结果添加在mm.txt这个文件之后（mm.txt文件位于用户自己的目录位置）。  　　12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt crontab的正确用法(简短节省大家时间)命令： 1 man cron 2 man crontab 3 man 5 crontab ==&gt; 中间有个5。命令&quot;crontab -e&quot;: -------------------------------------------------------------------------------- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin #这是盲点，没想过要设，一次次的失望。［冒号分隔］ DISPLAY=:0.0 #加上吧，有冒号有句点。 # 分 钟 日 月 周 命令 1 23 1 8 * shutdown -h +3 #1月8日23点1分关机(延时3分钟) 1,4,7 23 1 8 * # 1分，4分，7分[1月8日23点] */3 23 1 8 * # 0,3,6,9...每隔3分钟（或每过3分钟，与每3分钟有点不同） [1-10]/3 23 1 8 * # 1分，4分，7分[从1分起，逐次加3分钟，直到大于10==&gt;这是 正确解法] ＠reboot shutdown -k now #这行能把你吓坏，一开机就关机（要是把&quot;-k&quot;换成&quot;-h&quot;的话）。 &quot;@reboot&quot;表示启动时执行。 ---------------------------------END-------------------------------------------- 另一个脚本： ******************************************************************************* [0-59]/5 23 * * * shutdown -h now #每天晚上11点每隔5分钟关一次机，愿望很好，但是将不会执行，因为没设PATH变量，解决方法见下行。 [0-59]/5 23 * * * /sbin/shutdown -h now #保证关得很死，给出了路径。 0 6 1 8 * xmms /music/zhangchu/轻取.mp3 #明天早上6点钟放首歌叫我。但睡到7点钟还是没听到音乐，伤心失望。[DISPLAY=:0.0]。对本行的最后一点补充：现今99%主板都支持定时开机，没有闹钟的话可以叫电脑叫醒你，选项在BIOS电源里面［wake up by alarm]。 *********************************END******************************************* 可以自由修改，最初发布于Linuxsir网站。  我们来看一个超级用户的crontab文件：  　　#Run the ‘atrun' program every minutes 　　#This runs anything that's due to run from ‘at'.See man ‘at' or ‘atrun'. 　　0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/atrun 　　40 7 * * * updatedb 　　8,10,22,30,39,46,54,58 * * * * /bin/sync]]></description><PubDate>2008-12-15 23:40:08</PubDate><category>服务器问题</category></item><item><title>.htaccess设置指南经典说明</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15563</link><subject>如果你的服务器目录结构是这样： /usr/corsak/www/maindir 如果Apache指令中开启了AllowOverride支持.htaccess文件，每访问一次会依次搜索： /usr/corsak/www/maindir/.htaccess /usr/corsak/www/.htaccess /usr/corsak/.htaccess 下面是一份详细的文档，不知道哪年从哪找的。 因为在一个国外的空间的根文件夹下看到这个.htaccess,搞不懂是干什么的,在落伍论坛找到一篇文章,先转过来放着,以后再慢慢研究,嘿嘿..       Apache指南: .htaccess文件   .htaccess文件提供了针对目录改变配置的方法。     * .htaccess文件     * 工作原理和使用方法     * 使用.htaccess文件的场合     * 指令的生效     * 认证举例     * 服务器端包含举例     * CGI举例     * 疑难解答   top   .htaccess文件   相关模块     相关指令     * core     * mod_auth     * mod_cgi     * mod_include     * mod_mime            * AccessFileName     * AllowOverride     * Options     * AddHandler     * SetHandler     * AuthType     * AuthName     * AuthUserFile     * AuthGroupFile     * Require   top   工作原理和使用方法   .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件， 以作用于此目录及其所有子目录。   说明：如果需要使用.htaccess以外的其他文件名，可以用AccessFileName指令来改变。 例如，需要使用.config，则可以在服务器配置文件中按以下方法配置：   AccessFileName .config   允许放在这些文件中的指令取决于AllowOverride指令， 此指令按类别决定了.htaccess文件中哪些指令才是有效的。 如果一个指令允许放在.htaccess文件中，则，在本手册的说明中，此指令会有一个覆盖段， 其中说明了为使此指令生效而必须在AllowOverride指令中设置的值。   例如，本手册对AddDefaultCharset指令的说明表明了， 此指令可以用于.htaccess文件(见 Context一行)，而Override一行是&quot;FileInfo&quot;， 那么为使.htaccess中的此指令有效，则至少要设置&quot;AllowOverride FileInfo&quot;。   例子:   Context:     server config, virtual host, directory, .htaccess   Override:     FileInfo   如果不能确定一个特定的指令是否允许用于.htaccess文件， 可以查阅手册中对指令的说明，看在Context(“上下文”)行中是否有&quot;.htaccess.&quot;。   top   使用.htaccess文件的场合   一般情况下，不应该使用.htaccess文件，除非你对主服务器配置文件没有存取权限。 有一种很常见的误解，认为用户认证只能通过.htaccess文件实现，但并不是这样， 把用户认证写在主服务器配置中是完全可行的，而且是一种很好的方法。   在内容提供者需要针对目录改变服务器的配置而对服务器系统没有root权限时， 则应该使用.htaccess文件。如果服务器管理员不愿意频繁修改配置， 则可以允许用户通过.htaccess文件自己修改配置，尤其是ISP在一个机器上 宿主多个用户站点，而又希望用户可以自己改变配置的情况下。   虽然如此，一般都应该尽可能地避免使用.htaccess文件。 任何希望放在.htaccess文件中的配置，都可以放在主服务器的&lt;Directory&gt;段中，而且更高效。   避免使用.htaccess文件有两个主要原因。   首先是性能。 如果AllowOverride允许使用.htaccess文件， 则，Apache需要在每个目录中查找.htaccess文件，因此，无论是否真正用到， 允许使用.htaccess文件都会导致性能的下降。 另外，每次请求一个页面时，都需要读取.htaccess文件。   还有，Apache必须在所有更高级的目录中查找.htaccess文件， 使所有有效的指令都起作用(参见how directives are applied.)，所以， 如果有对/www/htdocs/example中页面的请求，Apache必须查找以下文件：   /.htaccess   /www/.htaccess   /www/htdocs/.htaccess   /www/htdocs/example/.htaccess   而且，对此目录以外的每个文件访问，还有4个附加的文件系统访问，即使这些文件都不存在。 (注意，这可能仅仅发生在 / 允许使用.htaccess文件的情况下，虽然这种情况并不多。)   其次是安全。 如此，会允许用户修改服务器的配置，可能会导致未加限制的修改，请认真考虑是否给予用户这样的特权。 但是，如果给予用户较少的特权而不能满足其需要，则会带来额外的技术支持请求， 所以，必须明确地告诉用户已经给予他们的权限，说明AllowOverride设置的值， 并引导他们参阅相应的说明，以免日后许多麻烦。   注意，在/www/htdocs/example目录下.htaccess文件中放置指令，与， 在主服务器配置文件中&lt;Directory /www/htdocs/example&gt;段中放置相同指令， 是等效的。：   /www/htdocs/example中的.htaccess:   /www/htdocs/example中.htaccess文件的内容   AddType text/example .exm   httpd.conf文件中的段   &lt;Directory /www/htdocs/example&gt;   AddType text/example .exm   &lt;/Directory&gt;   但是，把这个配置放置在服务器配置文件中则更加高效，因为只需要在Apache启动时读取一次， 而不是在有文件请求时每次都读取。   将AllowOverride设置为&quot;none&quot;可以完全禁止使用.htaccess文件。   AllowOverride None   top   指令的生效   .htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录， 但是，很重要需要记住的是，其更高级的目录也可能会有.htaccess文件， 而指令是按查找顺序依次生效，所以， 一个特定目录下的.htaccess文件中的指令可能会覆盖其更高级目录中的 .htaccess文件的指令，即， 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   例如:   目录/www/htdocs/example1中的.htaccess文件有如下内容：   Options +ExecCGI   (注意: 必须设置&quot;AllowOverride Options&quot;以允许在.htaccess文件中使用 &quot;Options&quot;指令。)   在目录/www/htdocs/example1/example2中的.htaccess文件有如下内容：   Options Includes   由于第二个.htaccess文件的存在，/www/htdocs/example1/example2中 的CGI执行是不允许的，而只允许Options Includes，它完全覆盖了之前的设置。   top   认证举例   如果你为了知道如何认证，直接从这里开始看，有很重要的一点需要注意，有一种常见的误解， 认为实现密码认证必须要使用.htaccess文件，其实不是这样。 把认证指令放在主服务器配置文件的&lt;Directory&gt;段中，是一个更好的方法， 而.htaccess文件应该仅仅用于无权访问主服务器配置文件的时候。 参见上述的使用.htaccess文件的场合。   有此声明在先，如果你仍然需要使用.htaccess文件，请看以下说明。   必须设置&quot;AllowOverride AuthConfig&quot;以允许这些指令生效   .htaccess文件的内容:   AuthType Basic   AuthName &quot;Password Required&quot;   AuthUserFile /www/passwords/password.file   AuthGroupFile /www/passwords/group.file   Require Group admins   注意，必须设置AllowOverride AuthConfig以允许这些指令生效   更详细的有关身份识别和认证的说明，请参见authentication tutorial。   top   服务器端包含举例   .htaccess文件的另一个常见用途是允许一个特定目录的服务器端包含(Server Side Includes)， 可以在需要的目录中放置.htaccess文件，并如下配置：   Options +Includes   AddType text/html shtml   AddHandler server-parsed shtml   注意，必须同时设置AllowOverride Options和 AllowOverride FileInfo使这些指令生效。   更详细的有关服务器端包含的说明，请参见SSI tutorial。   top   CGI举例   最后，可以通过.htaccess文件允许在特定目录中执行CGI程序，需按如下配置：   Options +ExecCGI   AddHandler cgi-script cgi pl   另外，如下，可以使给定目录下所有文件被视为CGI程序：   Options +ExecCGI   SetHandler cgi-script   注意，必须设置AllowOverride Options使这些指令生效。   更详细的有关CGI编程和配置的说明，请参见CGI tutorial。   top   疑难解答   如果在.htaccess文件中写入了配置指令但不起作用，可能有多种原因。   最常见的原因是，AllowOverride指令没有被正确设置， 必须确保没有对此文件区域设置AllowOverride None。有一个很好的测试方法，即， 在.htaccess文件随便增加点没用的内容，如果服务器没有返回了一个错误消息， 那么几乎可以断定设置了AllowOverride None。   在访问文档时，如果收到服务器的出错消息，应该检查Apache的出错日志， 可以知道.htaccess文件中哪些指令是不允许使用的，也可能会发现需要纠正的语法错误。   .htaccess文件使用手册   - .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件，以作用于此目录及其所有子目录。作为用户，所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。   - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   - .htaccess必须以ASCII模式上传，最好将其权限设置为644。   错误文档的定位   常用的客户端请求错误返回代码：   401 Authorization Required   403 Forbidden   404 Not Found   405 Method Not Allowed   408 Request Timed Out   411 Content Length Required   412 Precondition Failed   413 Request Entity Too Long   414 Request URI Too Long   415 Unsupported Media Type   常见的服务器错误返回代码：   500 Internal Server Error   用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下，人们可以专门设立一个目录，例如errors放置这些页面。然后再.htaccess中，加入如下的指令：   ErrorDocument 404 /errors/notfound.html   ErrorDocument 500 /errors/internalerror.html   一条指令一行。上述第一条指令的意思是对于404，也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为：   ErrorDocument 错误代码 /目录名/文件名.扩展名   如果所需要提示的信息很少的话，不必专门制作页面，直接在指令中使用HTML号了，例如下面这个例子：   ErrorDocument 401 &quot;&lt;body bgcolor=#ffffff&gt;&lt;h1&gt;你没有权限访问该页面，请放弃！&lt;/h1&gt;&lt;/body&gt;&quot;   文档访问的密码保护   要利用.htaccess对某个目录下的文档设定访问用户和对应的密码，首先要做的是生成一个.htpasswd的文本文档，例如：   zheng:y4E7Ep8e7EYV   这里密码经过加密，用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下，建议放在www根目录文档之外，这样更为安全些。   有了授权用户文档，可以在.htaccess中加入如下指令了：   AuthUserFile .htpasswd的服务器目录   AuthGroupFile /dev/null （需要授权访问的目录）   AuthName EnterPassword   AuthType Basic （授权类型）   require user wsabstract （允许访问的用户，如果希望表中所有用户都允许，可以使用 require valid-user）   注，括号部分为学习时候自己添加的注释   拒绝来自某个IP的访问   如果我不想某个政府部门访问到我的站点的内容，那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。   例如：   order allow,deny   deny from 210.10.56.32   deny from 219.5.45.   allow from all   第二行拒绝某个IP，第三行拒绝某个IP段，也就是219.5.45.0~219.2.45.255   想要拒绝所有人？用deny from all好了。不止用IP，也可以用域名来设定。   保护.htaccess文档   在使用.htaccess来设置目录的密码保护时，它包含了密码文件的路径。从安全考虑，有必要把.htaccess也保护起来，不让别人看到其中的内容。虽然可以用其他方式做到这点，比如文档的权限。不过，.htaccess本身也能做到，只需加入如下的指令：   &lt;Files .htaccess&gt;   order allow,deny   deny from all   &lt;/Files&gt;   URL转向   我们可能对网站进行重新规划，将文档进行了迁移，或者更改了目录。这时候，来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下，可以通过如下指令来完成旧的URL自动转向到新的地址：   Redirect /旧目录/旧文档名 新文档的地址   或者整个目录的转向：   Redirect 旧目录 新目录   改变缺省的首页文件   一般情况下缺省的首页文件名有default、index等。不过，有些时候目录中没有缺省文件，而是某个特定的文件名，比如在pmwiki中是pmwiki.php。这种情况下，要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名：   DirectoryIndex 新的缺省文件名   也可以列出多个，顺序表明它们之间的优先级别，例如：   DirectoryIndex filename.html index.cgi index.pl default.htm   防止盗链   如果不喜欢别人在他们的网页上连接自己的图片、文档的话，也可以通过htaccess的指令来做到。   所需要的指令如下：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ - [F]   如果觉得让别人的页面开个天窗不好看，那可以用一张图片来代替：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ http://www.mydomain.com/替代图片文件名 [R,L] - .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件， 以作用于此目录及其所有子目录。作为用户，所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。   - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   - .htaccess必须以ASCII模式上传，最好将其权限设置为644。   错误文档的定位   常用的客户端请求错误返回代码：   401 Authorization Required   403 Forbidden   404 Not Found   405 Method Not Allowed   408 Request Timed Out   411 Content Length Required   412 Precondition Failed   413 Request Entity Too Long   414 Request URI Too Long   415 Unsupported Media Type   常见的服务器错误返回代码：   500 Internal Server Error   用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下，人们可以专门设立一个目录，例如errors放置这些页面。然后再.htaccess中，加入如下的指令：   ErrorDocument 404 /errors/notfound.html   ErrorDocument 500 /errors/internalerror.html   一条指令一行。上述第一条指令的意思是对于404，也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为：   ErrorDocument 错误代码 /目录名/文件名.扩展名   如果所需要提示的信息很少的话，不必专门制作页面，直接在指令中使用HTML号了，例如下面这个例子：   ErrorDocument 401 &quot;&lt;body bgcolor=#ffffff&gt;&lt;h1&gt;你没有权限访问该页面，请放弃！&lt;/h1&gt;&lt;/body&gt;&quot;   文档访问的密码保护   要利用.htaccess对某个目录下的文档设定访问用户和对应的密码，首先要做的是生成一个.htpasswd的文本文档，例如：   zheng:y4E7Ep8e7EYV   这里密码经过加密，用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下，建议放在www根目录文档之外，这样更为安全些。   有了授权用户文档，可以在.htaccess中加入如下指令了：   AuthUserFile .htpasswd的服务器目录   AuthGroupFile /dev/null （需要授权访问的目录）   AuthName EnterPassword   AuthType Basic （授权类型）   require user wsabstract （允许访问的用户，如果希望表中所有用户都允许，可以使用 require valid-user）   注，括号部分为学习时候自己添加的注释   拒绝来自某个IP的访问   如果我不想某个政府部门访问到我的站点的内容，那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。   例如：   order allow,deny   deny from 210.10.56.32   deny from 219.5.45.   allow from all   第二行拒绝某个IP，第三行拒绝某个IP段，也就是219.5.45.0~219.2.45.255   想要拒绝所有人？用deny from all好了。不止用IP，也可以用域名来设定。   保护.htaccess文档   在使用.htaccess来设置目录的密码保护时，它包含了密码文件的路径。从安全考虑，有必要把.htaccess也保护起来，不让别人看到其中的内容。虽然可以用其他方式做到这点，比如文档的权限。不过，.htaccess本身也能做到，只需加入如下的指令：   &lt;Files .htaccess&gt;   order allow,deny   deny from all   &lt;/Files&gt;   URL转向   我们可能对网站进行重新规划，将文档进行了迁移，或者更改了目录。这时候，来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下，可以通过如下指令来完成旧的URL自动转向到新的地址：   Redirect /旧目录/旧文档名 新文档的地址   或者整个目录的转向：   Redirect 旧目录 新目录   改变缺省的首页文件   一般情况下缺省的首页文件名有default、index等。不过，有些时候目录中没有缺省文件，而是某个特定的文件名，比如在pmwiki中是pmwiki.php。这种情况下，要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名：   DirectoryIndex 新的缺省文件名   也可以列出多个，顺序表明它们之间的优先级别，例如：   DirectoryIndex filename.html index.cgi index.pl default.htm   防止盗链   如果不喜欢别人在他们的网页上连接自己的图片、文档的话，也可以通过htaccess的指令来做到。   所需要的指令如下：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ - [F]   如果觉得让别人的页面开个天窗不好看，那可以用一张图片来代替：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]   一. 自定义404,401,等错误   1.  首先建立一个名为: .htaccess   写入以下内容   ErrorDocument 401 /err401.html   ErrorDocument 402 /err402.html   ErrorDocument 403 /err403.html   ErrorDocument 404 /err404.html   其中,401,402,403,404代表错误类型,   后面的err401.html代表其相对应的页面,   2.  分别建立名字为:   err401.html,err402.html.........   的文件,当出现对应的错误的时候,   就会指向对面的页面   3.  传到根目录下,   也就是 public_html 目录下   一切就OK了  二. 去掉广告  建个文件名 .htaccess 的文件, 文件内容如下:   LayoutIgnoreURI *.php   LayoutIgnoreURI *.cgi   LayoutIgnoreURI *.htm   LayoutIgnoreURI *.html   将 .htaccess 上传至空间的 Public_html 目录下,即可去掉广告!   注意 *.* 这里..想去那种扩展名的文件,就写上那种文件的扩展名!   这个是最简单的方法，只要在根目录加这个文件，那么整个网站都不会有广告!</subject><description><![CDATA[如果你的服务器目录结构是这样： /usr/corsak/www/maindir 如果Apache指令中开启了AllowOverride支持.htaccess文件，每访问一次会依次搜索： /usr/corsak/www/maindir/.htaccess /usr/corsak/www/.htaccess /usr/corsak/.htaccess 下面是一份详细的文档，不知道哪年从哪找的。 因为在一个国外的空间的根文件夹下看到这个.htaccess,搞不懂是干什么的,在落伍论坛找到一篇文章,先转过来放着,以后再慢慢研究,嘿嘿..       Apache指南: .htaccess文件   .htaccess文件提供了针对目录改变配置的方法。     * .htaccess文件     * 工作原理和使用方法     * 使用.htaccess文件的场合     * 指令的生效     * 认证举例     * 服务器端包含举例     * CGI举例     * 疑难解答   top   .htaccess文件   相关模块     相关指令     * core     * mod_auth     * mod_cgi     * mod_include     * mod_mime            * AccessFileName     * AllowOverride     * Options     * AddHandler     * SetHandler     * AuthType     * AuthName     * AuthUserFile     * AuthGroupFile     * Require   top   工作原理和使用方法   .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件， 以作用于此目录及其所有子目录。   说明：如果需要使用.htaccess以外的其他文件名，可以用AccessFileName指令来改变。 例如，需要使用.config，则可以在服务器配置文件中按以下方法配置：   AccessFileName .config   允许放在这些文件中的指令取决于AllowOverride指令， 此指令按类别决定了.htaccess文件中哪些指令才是有效的。 如果一个指令允许放在.htaccess文件中，则，在本手册的说明中，此指令会有一个覆盖段， 其中说明了为使此指令生效而必须在AllowOverride指令中设置的值。   例如，本手册对AddDefaultCharset指令的说明表明了， 此指令可以用于.htaccess文件(见 Context一行)，而Override一行是&quot;FileInfo&quot;， 那么为使.htaccess中的此指令有效，则至少要设置&quot;AllowOverride FileInfo&quot;。   例子:   Context:     server config, virtual host, directory, .htaccess   Override:     FileInfo   如果不能确定一个特定的指令是否允许用于.htaccess文件， 可以查阅手册中对指令的说明，看在Context(“上下文”)行中是否有&quot;.htaccess.&quot;。   top   使用.htaccess文件的场合   一般情况下，不应该使用.htaccess文件，除非你对主服务器配置文件没有存取权限。 有一种很常见的误解，认为用户认证只能通过.htaccess文件实现，但并不是这样， 把用户认证写在主服务器配置中是完全可行的，而且是一种很好的方法。   在内容提供者需要针对目录改变服务器的配置而对服务器系统没有root权限时， 则应该使用.htaccess文件。如果服务器管理员不愿意频繁修改配置， 则可以允许用户通过.htaccess文件自己修改配置，尤其是ISP在一个机器上 宿主多个用户站点，而又希望用户可以自己改变配置的情况下。   虽然如此，一般都应该尽可能地避免使用.htaccess文件。 任何希望放在.htaccess文件中的配置，都可以放在主服务器的&lt;Directory&gt;段中，而且更高效。   避免使用.htaccess文件有两个主要原因。   首先是性能。 如果AllowOverride允许使用.htaccess文件， 则，Apache需要在每个目录中查找.htaccess文件，因此，无论是否真正用到， 允许使用.htaccess文件都会导致性能的下降。 另外，每次请求一个页面时，都需要读取.htaccess文件。   还有，Apache必须在所有更高级的目录中查找.htaccess文件， 使所有有效的指令都起作用(参见how directives are applied.)，所以， 如果有对/www/htdocs/example中页面的请求，Apache必须查找以下文件：   /.htaccess   /www/.htaccess   /www/htdocs/.htaccess   /www/htdocs/example/.htaccess   而且，对此目录以外的每个文件访问，还有4个附加的文件系统访问，即使这些文件都不存在。 (注意，这可能仅仅发生在 / 允许使用.htaccess文件的情况下，虽然这种情况并不多。)   其次是安全。 如此，会允许用户修改服务器的配置，可能会导致未加限制的修改，请认真考虑是否给予用户这样的特权。 但是，如果给予用户较少的特权而不能满足其需要，则会带来额外的技术支持请求， 所以，必须明确地告诉用户已经给予他们的权限，说明AllowOverride设置的值， 并引导他们参阅相应的说明，以免日后许多麻烦。   注意，在/www/htdocs/example目录下.htaccess文件中放置指令，与， 在主服务器配置文件中&lt;Directory /www/htdocs/example&gt;段中放置相同指令， 是等效的。：   /www/htdocs/example中的.htaccess:   /www/htdocs/example中.htaccess文件的内容   AddType text/example .exm   httpd.conf文件中的段   &lt;Directory /www/htdocs/example&gt;   AddType text/example .exm   &lt;/Directory&gt;   但是，把这个配置放置在服务器配置文件中则更加高效，因为只需要在Apache启动时读取一次， 而不是在有文件请求时每次都读取。   将AllowOverride设置为&quot;none&quot;可以完全禁止使用.htaccess文件。   AllowOverride None   top   指令的生效   .htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录， 但是，很重要需要记住的是，其更高级的目录也可能会有.htaccess文件， 而指令是按查找顺序依次生效，所以， 一个特定目录下的.htaccess文件中的指令可能会覆盖其更高级目录中的 .htaccess文件的指令，即， 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   例如:   目录/www/htdocs/example1中的.htaccess文件有如下内容：   Options +ExecCGI   (注意: 必须设置&quot;AllowOverride Options&quot;以允许在.htaccess文件中使用 &quot;Options&quot;指令。)   在目录/www/htdocs/example1/example2中的.htaccess文件有如下内容：   Options Includes   由于第二个.htaccess文件的存在，/www/htdocs/example1/example2中 的CGI执行是不允许的，而只允许Options Includes，它完全覆盖了之前的设置。   top   认证举例   如果你为了知道如何认证，直接从这里开始看，有很重要的一点需要注意，有一种常见的误解， 认为实现密码认证必须要使用.htaccess文件，其实不是这样。 把认证指令放在主服务器配置文件的&lt;Directory&gt;段中，是一个更好的方法， 而.htaccess文件应该仅仅用于无权访问主服务器配置文件的时候。 参见上述的使用.htaccess文件的场合。   有此声明在先，如果你仍然需要使用.htaccess文件，请看以下说明。   必须设置&quot;AllowOverride AuthConfig&quot;以允许这些指令生效   .htaccess文件的内容:   AuthType Basic   AuthName &quot;Password Required&quot;   AuthUserFile /www/passwords/password.file   AuthGroupFile /www/passwords/group.file   Require Group admins   注意，必须设置AllowOverride AuthConfig以允许这些指令生效   更详细的有关身份识别和认证的说明，请参见authentication tutorial。   top   服务器端包含举例   .htaccess文件的另一个常见用途是允许一个特定目录的服务器端包含(Server Side Includes)， 可以在需要的目录中放置.htaccess文件，并如下配置：   Options +Includes   AddType text/html shtml   AddHandler server-parsed shtml   注意，必须同时设置AllowOverride Options和 AllowOverride FileInfo使这些指令生效。   更详细的有关服务器端包含的说明，请参见SSI tutorial。   top   CGI举例   最后，可以通过.htaccess文件允许在特定目录中执行CGI程序，需按如下配置：   Options +ExecCGI   AddHandler cgi-script cgi pl   另外，如下，可以使给定目录下所有文件被视为CGI程序：   Options +ExecCGI   SetHandler cgi-script   注意，必须设置AllowOverride Options使这些指令生效。   更详细的有关CGI编程和配置的说明，请参见CGI tutorial。   top   疑难解答   如果在.htaccess文件中写入了配置指令但不起作用，可能有多种原因。   最常见的原因是，AllowOverride指令没有被正确设置， 必须确保没有对此文件区域设置AllowOverride None。有一个很好的测试方法，即， 在.htaccess文件随便增加点没用的内容，如果服务器没有返回了一个错误消息， 那么几乎可以断定设置了AllowOverride None。   在访问文档时，如果收到服务器的出错消息，应该检查Apache的出错日志， 可以知道.htaccess文件中哪些指令是不允许使用的，也可能会发现需要纠正的语法错误。   .htaccess文件使用手册   - .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件，以作用于此目录及其所有子目录。作为用户，所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。   - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   - .htaccess必须以ASCII模式上传，最好将其权限设置为644。   错误文档的定位   常用的客户端请求错误返回代码：   401 Authorization Required   403 Forbidden   404 Not Found   405 Method Not Allowed   408 Request Timed Out   411 Content Length Required   412 Precondition Failed   413 Request Entity Too Long   414 Request URI Too Long   415 Unsupported Media Type   常见的服务器错误返回代码：   500 Internal Server Error   用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下，人们可以专门设立一个目录，例如errors放置这些页面。然后再.htaccess中，加入如下的指令：   ErrorDocument 404 /errors/notfound.html   ErrorDocument 500 /errors/internalerror.html   一条指令一行。上述第一条指令的意思是对于404，也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为：   ErrorDocument 错误代码 /目录名/文件名.扩展名   如果所需要提示的信息很少的话，不必专门制作页面，直接在指令中使用HTML号了，例如下面这个例子：   ErrorDocument 401 &quot;&lt;body bgcolor=#ffffff&gt;&lt;h1&gt;你没有权限访问该页面，请放弃！&lt;/h1&gt;&lt;/body&gt;&quot;   文档访问的密码保护   要利用.htaccess对某个目录下的文档设定访问用户和对应的密码，首先要做的是生成一个.htpasswd的文本文档，例如：   zheng:y4E7Ep8e7EYV   这里密码经过加密，用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下，建议放在www根目录文档之外，这样更为安全些。   有了授权用户文档，可以在.htaccess中加入如下指令了：   AuthUserFile .htpasswd的服务器目录   AuthGroupFile /dev/null （需要授权访问的目录）   AuthName EnterPassword   AuthType Basic （授权类型）   require user wsabstract （允许访问的用户，如果希望表中所有用户都允许，可以使用 require valid-user）   注，括号部分为学习时候自己添加的注释   拒绝来自某个IP的访问   如果我不想某个政府部门访问到我的站点的内容，那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。   例如：   order allow,deny   deny from 210.10.56.32   deny from 219.5.45.   allow from all   第二行拒绝某个IP，第三行拒绝某个IP段，也就是219.5.45.0~219.2.45.255   想要拒绝所有人？用deny from all好了。不止用IP，也可以用域名来设定。   保护.htaccess文档   在使用.htaccess来设置目录的密码保护时，它包含了密码文件的路径。从安全考虑，有必要把.htaccess也保护起来，不让别人看到其中的内容。虽然可以用其他方式做到这点，比如文档的权限。不过，.htaccess本身也能做到，只需加入如下的指令：   &lt;Files .htaccess&gt;   order allow,deny   deny from all   &lt;/Files&gt;   URL转向   我们可能对网站进行重新规划，将文档进行了迁移，或者更改了目录。这时候，来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下，可以通过如下指令来完成旧的URL自动转向到新的地址：   Redirect /旧目录/旧文档名 新文档的地址   或者整个目录的转向：   Redirect 旧目录 新目录   改变缺省的首页文件   一般情况下缺省的首页文件名有default、index等。不过，有些时候目录中没有缺省文件，而是某个特定的文件名，比如在pmwiki中是pmwiki.php。这种情况下，要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名：   DirectoryIndex 新的缺省文件名   也可以列出多个，顺序表明它们之间的优先级别，例如：   DirectoryIndex filename.html index.cgi index.pl default.htm   防止盗链   如果不喜欢别人在他们的网页上连接自己的图片、文档的话，也可以通过htaccess的指令来做到。   所需要的指令如下：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ - [F]   如果觉得让别人的页面开个天窗不好看，那可以用一张图片来代替：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ http://www.mydomain.com/替代图片文件名 [R,L] - .htaccess文件(或者&quot;分布式配置文件&quot;提供了针对目录改变配置的方法， 即，在一个特定的文档目录中放置一个包含一个或多个指令的文件， 以作用于此目录及其所有子目录。作为用户，所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。   - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。   - .htaccess必须以ASCII模式上传，最好将其权限设置为644。   错误文档的定位   常用的客户端请求错误返回代码：   401 Authorization Required   403 Forbidden   404 Not Found   405 Method Not Allowed   408 Request Timed Out   411 Content Length Required   412 Precondition Failed   413 Request Entity Too Long   414 Request URI Too Long   415 Unsupported Media Type   常见的服务器错误返回代码：   500 Internal Server Error   用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下，人们可以专门设立一个目录，例如errors放置这些页面。然后再.htaccess中，加入如下的指令：   ErrorDocument 404 /errors/notfound.html   ErrorDocument 500 /errors/internalerror.html   一条指令一行。上述第一条指令的意思是对于404，也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为：   ErrorDocument 错误代码 /目录名/文件名.扩展名   如果所需要提示的信息很少的话，不必专门制作页面，直接在指令中使用HTML号了，例如下面这个例子：   ErrorDocument 401 &quot;&lt;body bgcolor=#ffffff&gt;&lt;h1&gt;你没有权限访问该页面，请放弃！&lt;/h1&gt;&lt;/body&gt;&quot;   文档访问的密码保护   要利用.htaccess对某个目录下的文档设定访问用户和对应的密码，首先要做的是生成一个.htpasswd的文本文档，例如：   zheng:y4E7Ep8e7EYV   这里密码经过加密，用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下，建议放在www根目录文档之外，这样更为安全些。   有了授权用户文档，可以在.htaccess中加入如下指令了：   AuthUserFile .htpasswd的服务器目录   AuthGroupFile /dev/null （需要授权访问的目录）   AuthName EnterPassword   AuthType Basic （授权类型）   require user wsabstract （允许访问的用户，如果希望表中所有用户都允许，可以使用 require valid-user）   注，括号部分为学习时候自己添加的注释   拒绝来自某个IP的访问   如果我不想某个政府部门访问到我的站点的内容，那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。   例如：   order allow,deny   deny from 210.10.56.32   deny from 219.5.45.   allow from all   第二行拒绝某个IP，第三行拒绝某个IP段，也就是219.5.45.0~219.2.45.255   想要拒绝所有人？用deny from all好了。不止用IP，也可以用域名来设定。   保护.htaccess文档   在使用.htaccess来设置目录的密码保护时，它包含了密码文件的路径。从安全考虑，有必要把.htaccess也保护起来，不让别人看到其中的内容。虽然可以用其他方式做到这点，比如文档的权限。不过，.htaccess本身也能做到，只需加入如下的指令：   &lt;Files .htaccess&gt;   order allow,deny   deny from all   &lt;/Files&gt;   URL转向   我们可能对网站进行重新规划，将文档进行了迁移，或者更改了目录。这时候，来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下，可以通过如下指令来完成旧的URL自动转向到新的地址：   Redirect /旧目录/旧文档名 新文档的地址   或者整个目录的转向：   Redirect 旧目录 新目录   改变缺省的首页文件   一般情况下缺省的首页文件名有default、index等。不过，有些时候目录中没有缺省文件，而是某个特定的文件名，比如在pmwiki中是pmwiki.php。这种情况下，要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名：   DirectoryIndex 新的缺省文件名   也可以列出多个，顺序表明它们之间的优先级别，例如：   DirectoryIndex filename.html index.cgi index.pl default.htm   防止盗链   如果不喜欢别人在他们的网页上连接自己的图片、文档的话，也可以通过htaccess的指令来做到。   所需要的指令如下：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ - [F]   如果觉得让别人的页面开个天窗不好看，那可以用一张图片来代替：   RewriteEngine on   RewriteCond % !^$   RewriteCond % !^http://(www/.)?mydomain.com/.*$ [NC]   RewriteRule \.(gif|jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]   一. 自定义404,401,等错误   1.  首先建立一个名为: .htaccess   写入以下内容   ErrorDocument 401 /err401.html   ErrorDocument 402 /err402.html   ErrorDocument 403 /err403.html   ErrorDocument 404 /err404.html   其中,401,402,403,404代表错误类型,   后面的err401.html代表其相对应的页面,   2.  分别建立名字为:   err401.html,err402.html.........   的文件,当出现对应的错误的时候,   就会指向对面的页面   3.  传到根目录下,   也就是 public_html 目录下   一切就OK了  二. 去掉广告  建个文件名 .htaccess 的文件, 文件内容如下:   LayoutIgnoreURI *.php   LayoutIgnoreURI *.cgi   LayoutIgnoreURI *.htm   LayoutIgnoreURI *.html   将 .htaccess 上传至空间的 Public_html 目录下,即可去掉广告!   注意 *.* 这里..想去那种扩展名的文件,就写上那种文件的扩展名!   这个是最简单的方法，只要在根目录加这个文件，那么整个网站都不会有广告!]]></description><PubDate>2008-12-15 23:40:08</PubDate><category>服务器问题</category></item><item><title>ReWrite学习笔记小结</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15566</link><subject>比如，下面，我要实现这样的URL：  http://xxx.com/0725  http://xxx.com/0726  http://xxx.com/0727  …  上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思，就是显示07月25日的历史上发生了什么事情，类似这样。这样看起来就很美观、整齐了。要不然，可能的地址就是：  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  …  现在我就是要实现把 index.php?today= 隐藏掉。以下是代码：  1..htaccess 文件  &lt;IfModule mod_rewrite.c&gt;    RewriteEngine On    RewriteBase /    RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond   %{REQUEST_FILENAME} !-d    RewriteRule ^([0-9]+)$   /index.php?today=$1    &lt;/IfModule&gt;  粗体字这里我说明一下，其它的按这个格式吧，具体我现在也不理解。  [0-9]的意思是，参数只能是0~9这些数字，如果你要包含任何字符，就改为： RewriteRule ^(.+)$ /index.php?today=$1    这里[0-9]改为了. ，这个.就代表任意字符。当然复杂的还很复杂，我们暂时不管。  2.index.php文件  [复制此代码]CODE:&lt;?php       //rewrite 测试       $uid =$_REQUEST['today'];       ?&gt;       &lt;HTML&gt;       &lt;HEAD&gt;       &lt;TITLE&gt;rewrite 测试&lt;/TITLE&gt;       &lt;/HEAD&gt;       &lt;BODY BGCOLOR=&quot;#FFFFFF&quot; TEXT=&quot;#000000&quot; LINK=&quot;#0000FF&quot; VLINK=&quot;#800080&quot;&gt;       今天是&lt;?php echo $today;?&gt;，看看历史上的今天都发生了什么事情？&lt;br&gt;       ……       &lt;/BODY&gt;       &lt;/HTML&gt;    这里参数就会传递给index.php文件里的$today，在这个程序内，你就可以根据参数，进行处理，如查询数据库啦、做运算啦等，然后再显示相应的数据出来，就可以了。实现方法2 [复制此代码]CODE:&lt;?php      //url示例：soft.php/1,100,8630.html      //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html  也就是执行脚本名后面的部分      if(@$path_info =$_SERVER[&quot;PATH_INFO&quot;]){          if(preg_match(&quot;/\/(\d+),(\d+),(\d+)\.html/si&quot;,$path_info,$arr_path)){              $gid     =intval($arr_path[1]); //取得值 1              $sid     =intval($arr_path[2]);  //取得值100              $softid  =intval($arr_path[3]);  //取得值8630              //相当于soft.php?gid=1&amp;sid=100&amp;softid=8630          }else die(&quot;Path:Error!&quot;);      }else die(&quot;Path:Nothing!&quot;);      echo($gid);      echo(&quot;&lt;br&gt;&quot;);      echo($sid);      echo(&quot;&lt;br&gt;&quot;);      echo($softid);      ?&gt;</subject><description><![CDATA[比如，下面，我要实现这样的URL：  http://xxx.com/0725  http://xxx.com/0726  http://xxx.com/0727  …  上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思，就是显示07月25日的历史上发生了什么事情，类似这样。这样看起来就很美观、整齐了。要不然，可能的地址就是：  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  http://xxx.com/index.php?t...  …  现在我就是要实现把 index.php?today= 隐藏掉。以下是代码：  1..htaccess 文件  &lt;IfModule mod_rewrite.c&gt;    RewriteEngine On    RewriteBase /    RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond   %{REQUEST_FILENAME} !-d    RewriteRule ^([0-9]+)$   /index.php?today=$1    &lt;/IfModule&gt;  粗体字这里我说明一下，其它的按这个格式吧，具体我现在也不理解。  [0-9]的意思是，参数只能是0~9这些数字，如果你要包含任何字符，就改为： RewriteRule ^(.+)$ /index.php?today=$1    这里[0-9]改为了. ，这个.就代表任意字符。当然复杂的还很复杂，我们暂时不管。  2.index.php文件  [复制此代码]CODE:&lt;?php       //rewrite 测试       $uid =$_REQUEST['today'];       ?&gt;       &lt;HTML&gt;       &lt;HEAD&gt;       &lt;TITLE&gt;rewrite 测试&lt;/TITLE&gt;       &lt;/HEAD&gt;       &lt;BODY BGCOLOR=&quot;#FFFFFF&quot; TEXT=&quot;#000000&quot; LINK=&quot;#0000FF&quot; VLINK=&quot;#800080&quot;&gt;       今天是&lt;?php echo $today;?&gt;，看看历史上的今天都发生了什么事情？&lt;br&gt;       ……       &lt;/BODY&gt;       &lt;/HTML&gt;    这里参数就会传递给index.php文件里的$today，在这个程序内，你就可以根据参数，进行处理，如查询数据库啦、做运算啦等，然后再显示相应的数据出来，就可以了。实现方法2 [复制此代码]CODE:&lt;?php      //url示例：soft.php/1,100,8630.html      //利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html  也就是执行脚本名后面的部分      if(@$path_info =$_SERVER[&quot;PATH_INFO&quot;]){          if(preg_match(&quot;/\/(\d+),(\d+),(\d+)\.html/si&quot;,$path_info,$arr_path)){              $gid     =intval($arr_path[1]); //取得值 1              $sid     =intval($arr_path[2]);  //取得值100              $softid  =intval($arr_path[3]);  //取得值8630              //相当于soft.php?gid=1&amp;sid=100&amp;softid=8630          }else die(&quot;Path:Error!&quot;);      }else die(&quot;Path:Nothing!&quot;);      echo($gid);      echo(&quot;&lt;br&gt;&quot;);      echo($sid);      echo(&quot;&lt;br&gt;&quot;);      echo($softid);      ?&gt;]]></description><PubDate>2008-12-15 23:41:04</PubDate><category>服务器问题</category></item><item><title>在RedHat下安装apache jserv 1.1.2方法</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15571</link><subject>一、需要的软件： jdk_1.2.2从下载 apache_1.3.12从下载 apache jserv-1.1.1从java.apache.org下载 jsdk2.0(只能是2.0)从下载 二、安装过程 请先安装好jdk，具体可参考jdk安装，注意设置好CLASSPATH和PATH 拷贝apache,apache jserv源码包到/tmp下 #tar xvzf apache_1.3.12.tar.gz #tar xvzf ApacheJServ-1.1.2.tar.gz 1、静态编译，即编译进apache #cd apache_1.3.12 #./configure --prefix=/usr/local/apache 配置apache jserv编译参数 #cd ../ApacheJServ-1.1.2 #./configure --prefix=/usr/local/jserv --with-apache-src=../apache_1.3.12 --with-jdk-home=/usr/local/jdk --with-java-platform=2 --with-JSDK=/usr/local/JSDK/lib/jsdk.jar #make #make install 编译apache和apache jserv #cd ../apache_1.3.12 #./configure --prefix=/usr/local/apache --activate-module=src/modules/jserv/libjserv.a #make #make install 运行#/www/bin/httpd -l检查一下mod_jserv是否编译进apache了 2、动态编译(DSO模式） #cd apache_1.3.12 #./configure --prefix=/usr/local/apache --enable-shared=max #make #make install 配置apache jserv编译参数 #cd ../ApacheJServ-1.1.2 #./configure --prefix=/usr/local/jserv --with-apxs=/usr/local/apache/bin/apxs --with-jdk-home=/usr/local/jdk --with-java-platform=2 --with-JSDK=/usr/local/JSDK/lib/jsdk.jar #make #make install 如果你想使用mod_ssl请加入--with-EAPI选项 三、更改配置文件 在/www/conf/httpd.conf中加入 Include /usr/local/jserv/etc/jserv.conf 如果你用DSO模式安装的话，请把jserv.conf中 LoadModule jserv_module /usr/local/jserv/libexec/mod_jserv.so前面的注释去掉 启动apache 用浏览器测试 看见了Yes,It@#s working!了吗？你成功了！！ 你可以更改jserv.conf中的 SetHandler jserv-status order deny,allow deny from all 加入你的信任主机allow from xxxx 这样在信任主机上通过(注意后面这个&quot;/&quot;不能少）可以看到你的apache jserv的配置信息。 接着在/usr/local/jserv/servlets下放入你自己的servlet class实验一下效果吧，测试结果表明在redhat6.2下没有中文显示问题，一切ok! 其他关于servlet zone的设置、load balance等等请参考apache jserv文档和java.apache.org网站</subject><description><![CDATA[一、需要的软件： jdk_1.2.2从下载 apache_1.3.12从下载 apache jserv-1.1.1从java.apache.org下载 jsdk2.0(只能是2.0)从下载 二、安装过程 请先安装好jdk，具体可参考jdk安装，注意设置好CLASSPATH和PATH 拷贝apache,apache jserv源码包到/tmp下 #tar xvzf apache_1.3.12.tar.gz #tar xvzf ApacheJServ-1.1.2.tar.gz 1、静态编译，即编译进apache #cd apache_1.3.12 #./configure --prefix=/usr/local/apache 配置apache jserv编译参数 #cd ../ApacheJServ-1.1.2 #./configure --prefix=/usr/local/jserv --with-apache-src=../apache_1.3.12 --with-jdk-home=/usr/local/jdk --with-java-platform=2 --with-JSDK=/usr/local/JSDK/lib/jsdk.jar #make #make install 编译apache和apache jserv #cd ../apache_1.3.12 #./configure --prefix=/usr/local/apache --activate-module=src/modules/jserv/libjserv.a #make #make install 运行#/www/bin/httpd -l检查一下mod_jserv是否编译进apache了 2、动态编译(DSO模式） #cd apache_1.3.12 #./configure --prefix=/usr/local/apache --enable-shared=max #make #make install 配置apache jserv编译参数 #cd ../ApacheJServ-1.1.2 #./configure --prefix=/usr/local/jserv --with-apxs=/usr/local/apache/bin/apxs --with-jdk-home=/usr/local/jdk --with-java-platform=2 --with-JSDK=/usr/local/JSDK/lib/jsdk.jar #make #make install 如果你想使用mod_ssl请加入--with-EAPI选项 三、更改配置文件 在/www/conf/httpd.conf中加入 Include /usr/local/jserv/etc/jserv.conf 如果你用DSO模式安装的话，请把jserv.conf中 LoadModule jserv_module /usr/local/jserv/libexec/mod_jserv.so前面的注释去掉 启动apache 用浏览器测试 看见了Yes,It@#s working!了吗？你成功了！！ 你可以更改jserv.conf中的 SetHandler jserv-status order deny,allow deny from all 加入你的信任主机allow from xxxx 这样在信任主机上通过(注意后面这个&quot;/&quot;不能少）可以看到你的apache jserv的配置信息。 接着在/usr/local/jserv/servlets下放入你自己的servlet class实验一下效果吧，测试结果表明在redhat6.2下没有中文显示问题，一切ok! 其他关于servlet zone的设置、load balance等等请参考apache jserv文档和java.apache.org网站]]></description><PubDate>2008-12-15 23:41:04</PubDate><category>服务器问题</category></item><item><title>Apache1.3.22主要改进及修正</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15573</link><subject>Apache 1.3.20 - 1.3.22主要改进： 安全弱点： 1。在Apache1.3.20的win32平台上发现了一个漏洞。如果客户端发送一个非常长的URI可能导致用目录列表来代替缺省主页。403 Forbidden将被返回。CAN-2001-0729 2。在split-logfile支持程序中发现了一个漏洞。用特别的Host:头标发送的请求可能会允许系统中任一个以.log扩展名结尾的文件被写入。PR#7848 CAN-2001-0730 3。发现一个在Multiviews用于目录索引协商时的漏洞。在一些配置中,如果一个URI请求带着M=D的QUERY_STRING，那么可能返回一个目录列表而不是预期中的索引页。CAN-2001-0731 新的特性： 1.3.22主要的新特性(相比1.3.20): 1。用户手册更新了，同很多小的修正一样这次更新包括了法语和日语的译文,一个在Cygwin上使用Apache的指南，和一个使用日志文件的全面指南。 2。用户手册可以被移出htdocs（DocumentRoot）-可在安装时的configure时调用--manualdir=选项来指定。允许在线文档从常规内容中分离。 3。支持的图标允许以PNG格式发布。 4。对Apache评测程序做了重大的检查。ab被代替了，(第一个报告在四月），新的Apache评测包括修正，附加统计，CSV和gnuplot输出以及SSL支持。 5。mod_usertrack模块中加入了新的指令，首先，CookieDomain,可被用于自定义Domain属性，加入CookieDomain指令的补丁最初提交已超过两年了。mod_usertrack使用很旧的Netscape cookie语法，新的CookieStyle指令允许使用RFC2109或RFC2965来替代它。PR#5023, PR#5920, PR#6140. 6。如果在配置文件中发现了行末注释(#)，服务器将显示一个警告。不是所有的指令都能在相同行处理注释。 7。一个新指令，AcceptMutex,允许使用的互斥类型在运行时的配置接受串行序列化，当前编译时只在1.3中设置，即然不同的互斥类型在不同平台上有不同的性能特征，这条指令将使管理员们调整他们的Apache更容易，当前可能的方法列表是：uslock, pthread, sysvsem, fcntl, flock, os2sem, tpfcore, none.不是所有的平台都支持所有的方法。 8。mod_auth被增强了，将允许对一个文档的存取控制基于文件属主验证。Require file-owner将只允许验证的用户名同文档属主匹配时才可以存取，Require file-group以类似的方式工作来检查组的匹配。 相对特定平台的新特性： 1。一个新指令，AcceptFilter，增加到在运行时来控制BSD的接受过滤。这使得在不同的BSD机器之间移动二进制包更容易而不需重编译。支持接受过滤首先加在1.3.14版本中,这个功能可以推迟一个子进程处理一个新的连接的需求直到一个HTTP请求到达，因此可以增加一个给定数目的子进程可以处理的连接数。 2。在Win32平台上mod_unique_id, mod_mime_magic, 和mod_vhost_alias模块可用了。 3。在Win32平台上允许server运行在Cygwin下的代码中有一定数目的修正和更新，对Cygwin的支持首先加在1.3.20版本中。 4。在Windows NT或2000下，服务显示的名称可以由用户修改（用服务控制面板applet). 5。在Win32下增加了一个新选项-W；来起动一个依靠性服务。 6。在TPF操作系统中将从最近的改进中得到利益。包括增强的系统派生和执行，更新了允许非堵塞的文件描述符和shutdown进程的更新。 修正的bugs: 下面的bug是在1.3.20中找到并已在1.3.22中修正的： 1。在某些情况下一个子进程可能会因为mod_include模块中的一个bug而销毁，如果服务器用ErrorDocument来代替404 (request not found)错误来指到一个服务器端解析的HTML文件，而它包含了这样的片段，那么一个包含%2f的请求将导致一个段错误。这个段错误是无害的也不会导致安全问题，但是它可能是被最近的IIS蠕虫触发的。 2。Multiviews功能被修正了以防止mod_negotiation模块提供的multiview变量中包含未知的文件扩展名。PR#8130 3。Apache将在已安装版本中绑定Expat库，这修正了在装载Expat的多个拷贝时引起的冲突。（特别是使用mod_perl和XML::Parsers::Expat时） 4。UnsetEnv指令现在可以工作在配置文件的主体中。PR#8254 5。当做为反向代理时，被其它模块（如mod_usertrack或mod_securid）设置的头标可以通过后端服务器。PR#6055 6。服务器端的响应头标现在可以通过代理被记录。 PR#7461 7。mod_proxy模块现在注意了指定请求的HTTP头标将不被缓存。PR#5668 8。当一个客户端通过mod_proxy发送的一个请求意外中止，mod_proxy模块将不会关闭它的连接。PR#8090 9。CacheForceCompletion指令被修正了。PR#7383 , PR#8067 , PR#6585 10。mod_mime_magic模块中的内存泻漏被修正了。 11。Satisfy All选项已加到缺省容器中来停掉.htaccess文件。如果没有这条指令，这些文件仍然可以被得到如果他们在Satisfy Any指令的作用域中。 下面是相对于特定平台的Bug修正： 1。在NetWare中加入了很多修正，包括：允许在htpasswd中htdigest使用长文件名，限制相对恶意的模块，更好的处理非常规shutdowns,处理在SSI中的受限堆栈空间和正确识别类似proxy:http://的特别文件名。 2。在Solaris上可能发生shutdown挂起，当使用了大量管道TransferLogs和至少一个管道ErrorLog。 3。在EBCDIC平台上代理模块停止SSL代理工作时的一个bug. 4.在Win32上，mod_unique_id模块因为线程而不保证一个唯一ID的bug. 5.Win32上的Makefiles现在和Microsoft Visual C++编译器（版本5,6,7)做到100%兼容了。</subject><description><![CDATA[Apache 1.3.20 - 1.3.22主要改进： 安全弱点： 1。在Apache1.3.20的win32平台上发现了一个漏洞。如果客户端发送一个非常长的URI可能导致用目录列表来代替缺省主页。403 Forbidden将被返回。CAN-2001-0729 2。在split-logfile支持程序中发现了一个漏洞。用特别的Host:头标发送的请求可能会允许系统中任一个以.log扩展名结尾的文件被写入。PR#7848 CAN-2001-0730 3。发现一个在Multiviews用于目录索引协商时的漏洞。在一些配置中,如果一个URI请求带着M=D的QUERY_STRING，那么可能返回一个目录列表而不是预期中的索引页。CAN-2001-0731 新的特性： 1.3.22主要的新特性(相比1.3.20): 1。用户手册更新了，同很多小的修正一样这次更新包括了法语和日语的译文,一个在Cygwin上使用Apache的指南，和一个使用日志文件的全面指南。 2。用户手册可以被移出htdocs（DocumentRoot）-可在安装时的configure时调用--manualdir=选项来指定。允许在线文档从常规内容中分离。 3。支持的图标允许以PNG格式发布。 4。对Apache评测程序做了重大的检查。ab被代替了，(第一个报告在四月），新的Apache评测包括修正，附加统计，CSV和gnuplot输出以及SSL支持。 5。mod_usertrack模块中加入了新的指令，首先，CookieDomain,可被用于自定义Domain属性，加入CookieDomain指令的补丁最初提交已超过两年了。mod_usertrack使用很旧的Netscape cookie语法，新的CookieStyle指令允许使用RFC2109或RFC2965来替代它。PR#5023, PR#5920, PR#6140. 6。如果在配置文件中发现了行末注释(#)，服务器将显示一个警告。不是所有的指令都能在相同行处理注释。 7。一个新指令，AcceptMutex,允许使用的互斥类型在运行时的配置接受串行序列化，当前编译时只在1.3中设置，即然不同的互斥类型在不同平台上有不同的性能特征，这条指令将使管理员们调整他们的Apache更容易，当前可能的方法列表是：uslock, pthread, sysvsem, fcntl, flock, os2sem, tpfcore, none.不是所有的平台都支持所有的方法。 8。mod_auth被增强了，将允许对一个文档的存取控制基于文件属主验证。Require file-owner将只允许验证的用户名同文档属主匹配时才可以存取，Require file-group以类似的方式工作来检查组的匹配。 相对特定平台的新特性： 1。一个新指令，AcceptFilter，增加到在运行时来控制BSD的接受过滤。这使得在不同的BSD机器之间移动二进制包更容易而不需重编译。支持接受过滤首先加在1.3.14版本中,这个功能可以推迟一个子进程处理一个新的连接的需求直到一个HTTP请求到达，因此可以增加一个给定数目的子进程可以处理的连接数。 2。在Win32平台上mod_unique_id, mod_mime_magic, 和mod_vhost_alias模块可用了。 3。在Win32平台上允许server运行在Cygwin下的代码中有一定数目的修正和更新，对Cygwin的支持首先加在1.3.20版本中。 4。在Windows NT或2000下，服务显示的名称可以由用户修改（用服务控制面板applet). 5。在Win32下增加了一个新选项-W；来起动一个依靠性服务。 6。在TPF操作系统中将从最近的改进中得到利益。包括增强的系统派生和执行，更新了允许非堵塞的文件描述符和shutdown进程的更新。 修正的bugs: 下面的bug是在1.3.20中找到并已在1.3.22中修正的： 1。在某些情况下一个子进程可能会因为mod_include模块中的一个bug而销毁，如果服务器用ErrorDocument来代替404 (request not found)错误来指到一个服务器端解析的HTML文件，而它包含了这样的片段，那么一个包含%2f的请求将导致一个段错误。这个段错误是无害的也不会导致安全问题，但是它可能是被最近的IIS蠕虫触发的。 2。Multiviews功能被修正了以防止mod_negotiation模块提供的multiview变量中包含未知的文件扩展名。PR#8130 3。Apache将在已安装版本中绑定Expat库，这修正了在装载Expat的多个拷贝时引起的冲突。（特别是使用mod_perl和XML::Parsers::Expat时） 4。UnsetEnv指令现在可以工作在配置文件的主体中。PR#8254 5。当做为反向代理时，被其它模块（如mod_usertrack或mod_securid）设置的头标可以通过后端服务器。PR#6055 6。服务器端的响应头标现在可以通过代理被记录。 PR#7461 7。mod_proxy模块现在注意了指定请求的HTTP头标将不被缓存。PR#5668 8。当一个客户端通过mod_proxy发送的一个请求意外中止，mod_proxy模块将不会关闭它的连接。PR#8090 9。CacheForceCompletion指令被修正了。PR#7383 , PR#8067 , PR#6585 10。mod_mime_magic模块中的内存泻漏被修正了。 11。Satisfy All选项已加到缺省容器中来停掉.htaccess文件。如果没有这条指令，这些文件仍然可以被得到如果他们在Satisfy Any指令的作用域中。 下面是相对于特定平台的Bug修正： 1。在NetWare中加入了很多修正，包括：允许在htpasswd中htdigest使用长文件名，限制相对恶意的模块，更好的处理非常规shutdowns,处理在SSI中的受限堆栈空间和正确识别类似proxy:http://的特别文件名。 2。在Solaris上可能发生shutdown挂起，当使用了大量管道TransferLogs和至少一个管道ErrorLog。 3。在EBCDIC平台上代理模块停止SSL代理工作时的一个bug. 4.在Win32上，mod_unique_id模块因为线程而不保证一个唯一ID的bug. 5.Win32上的Makefiles现在和Microsoft Visual C++编译器（版本5,6,7)做到100%兼容了。]]></description><PubDate>2008-12-15 23:41:04</PubDate><category>服务器问题</category></item><item><title>Linux Apache Web 服务器(续三)</title><link>http://www.bcbbs.net/News/Content.aspx?ID=15576</link><subject>。 在这种情况下，在WWW上保证可以使用的唯一认证机制是由HTTP本身提供 的。在标准的Apache服务器实现了这样的认证，它能控制哪些主机可能访问特定的站点或特点的站点的一部分。 这种认证可以分为两种，一种是基于主机的的认证，另一种是基于用户名/口令的认证。由于互联网上的决大多数用户的IP地址是动态获得的，所以基于主机的认证方式并不总适用。所以在大多数情况下，传统的基于用户名/口令的认证方式更为现实。下面我们就对这两种认证的实现做一简要的介绍。 8.1 基于主机的认证方式 在种认证模式顾名思义，访问是用主机名或主机IP地址来控制的。支持这种认证方式的是Apache的mod_access模块，这个模块缺省状态下是被安装了的。该模块用以下几种Apache命令来提供访问控制功能。 allow命令 语法：allow from host1 host2 host3 ... 这个命令定义了允许访问站点或目录的主机清单。主机清单可以用以下几 种形式表示： ALL：代表所有主机； 主机的全域名，如：www.mot.com； 主机的部分域名，如：.mot.com； 完整的IP地址，如：202.98.2.32； 部分IP地址，如：202.98 网络地址/网络掩码对，如：202.98.0.0/255.255.0.0 网络地址/nn(CIDR定义)，如：202.98.0.1/16 deny命令 语法：deny from host1 host2 host3 ... 这个命令定义了禁止访问站点或目录的主机清单，其他与allow命令相似。 order命令 语法：order deny,allow | allow,deny 这个命令定义评价allow和deny命令的先后顺序。 例如： &lt;Directory /home/httpd/html&gt; order deny,allow deny from www.mot.com allow all &lt;/Directory&gt; 这组命令设置了禁止www.mot.com访问/home/httpd/html目录下的文件。 请大家注意，顺序是先deny后allow，如果是：order allow,deny 那么，先允许所有的主机访问，然后再禁止，这样是无效的，所有主机仍然能够访问。 8.2 基于用户名/口令的认证方式 这种认证方式其实相当简单，当WWW浏览器请求经此认证模式保护的URL 时，将会出现一个对话框，要求用户键入用户名和口令。用户输入后，传给WWW服务器，WWW服务器验证它的正确性，如果正确，返回页面，否则返回401错误。要说明的一点是，这种认证模式是基本的，并不能用于安全性要求极高的场合。 Apache中有许多模块可以支持这种认证方式，下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样，mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户，它能工作得很好。如果你需要对大量的用户，如数以千计的用户做认证时，这种方法的性能将急剧下降到不可忍受，所以当这种情况下，就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。 实例一：需要用户名和口令的访问控制 下面我们就一起来看一下如何建立需要用户名/口令才能进行访问的目录。 基本情况： www.xxx.com 的站点有设置为： DocumentRoot /home/httpd/html AccessFileName .htaccess AllowOverride All 需求：限制/home/httpd/html/backup/目录的访问，只允许用户“super”以口令“fill-06”访问此目录。 实现步骤： 使用htpasswd建立用户文件 htpasswd –c /home/httpd/secr/.htpasswd super 此程序会询问用户“super”的口令，你输入“fill-06”，两次生效。 建立.htaccess文件 用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess，写入 以下几行： AuthName My Friend Only (注：这个名字是任取的) AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd require user super 设置文件权限，确保Apache用户有读的权限 这样就完成了设置工作，你可以试一试效果了。 实例二：允许一组用户访问一个目录 假设，现在www.xxx.com想让myfriend组中的mf1与mf2两个用户分别能 使用口令“mf001-1”“mf002-2”访问/home/httpd/html/backup/目录。 实现步骤： 使用htpasswd建立用户文件 htpasswd –c /home/httpd/secr/.htpasswd mf1 htpasswd –c /home/httpd/secr/.htpasswd mf2 建立组文件 用vi/home/httpd/secr/目录下建立一个文件.htgroup，写入： myfriend:mf1 mf2 建立.htaccess文件 用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess，写入 以下几行： AuthName My Friend Only AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend 配置工作到此结束，试一试吧！ 实例三：混合使用基于主机与基于用户名/口令的认证方式 如果你除了只允许让mf1与mf2两个用户访问外，还想禁止除www.mot.com 外的主机访问这个目录的话，就将/home/httpd/html/backup/.htaccess修改成为： AuthName My Friend Only AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend order deny,allow deny from all allow from www.mot.com 九、解读Apache日志 当你一步步地看到这里的时候，相信你的WWW站点已经建好，并且已经在 Internet上展现出来了。这时你可能就会关心谁造访过你的站点，或者想知道你的Apache服务器现在的运行状态与性能如何。下面我们一起通过解读Apache的日志来实现这个伟大的愿望。 9.1 盯着Apache服务器 Apache允许通过WWW监视服务器的配置信息与运行状态。 1．观看配置信息 如果你的Apache象缺省配置一样加入了mod_info模块的话，你就可以通过访问http://localhost/server-info查看服务器信息。 2.使用状态页 如果你的Apache象缺省配置一样加入了mod_status模块的话，你就可以 通过访问http://localhost/apache-status查看服务器的运行状态信息，其中包括： &#168; 服务器系统的当前时间； &#168; 服务器最近一次重启时间； &#168; 服务器启动后的运行时间； &#168; 到目前为止服务的访问总数； &#168; 到目前为止传输的字节总数； &#168; 服务请求的子进程数； &#168; 空闲子进程数； &#168; 每个进程状态、子进程服务的请求数以及该子进程传输的字节总数； &#168; 每秒平均请求数、每秒传输的字节数、每次请求平均传输字节数； &#168; 目前每个子进程CPU占用及Apache的总的CPU占用率； &#168; 当前主机及处理的请求。 9.2 什么是日志文件 日志文件是Apache工作的记录，Apache包括了mod_log_config模块，它 用来记录日志。在缺省情况下，它用通用日志格式CLF规范来写。 CLF日志文件内对每个请求均有一个单独行，形如： host ident anthuser date request status bytes 其含义如下： &#168; host客户端主机的全称域名或IP地址； &#168; ident存放客户端报告的识别信息； &#168; authuser如果是基于用户名认证的话，值为用户名； &#168; date请求的日期与时间； &#168; request客户端的请求行； &#168; status返回到客户端的三们数字的HTTP状态码； &#168; bytes除去HTTP头标外，返回给客户端的字节数。 9.3 分析日志文件 有了日志文件后，我们可以利用UNIX的一些工具和一此专门的日志分析工具对日志文件进行分析。 实例一：列出访问过本网站的主机名或IP： 对于这个需求，我们可以通过一个Unix的一个脚本语句来完成： cat /var/log/httpd/access_log | awk ‘{print $1}' 用上面的方法虽然可以得到访问过本网站的主机名或IP，但是由于有些是多次访问的，我们希望在上面得到的结果的基础上做一些优化，使得列出的表中，每个主机只出现一次。我们可以使用： cat /var/log/httpd/access_log | awk ‘{print $1}' | wc –l 3.当然，我们可以根据需要选择第三方提供日志分析工具甚至自己开发一些日志分析工具来满足我们的需求。常见的第三方日志分析工具有：WebTrends、Wusage、wwwstat、http-analyze、pwebstats、WebStat Explorer、AccessWatch。 9.4 一些提示 日志一方面是我们分析网站的第一手资料，一方面却是吞噬大量磁盘空间的罪魁祸首。所以别忘了定期转储或删除一些老的日志文件。 十、Apache与代理服务器 代理服务器是位于客户和客户要访问的服务器之间的系统。当客户机使用URL请求访问远程资源时，代理服务器接受该请求并取得该资源以满足客户机的请求。在通常情况下，代理服务器是客户机的服务器，同时也是远程服务器的客户。 代理服务器可以在自己的缓冲区中存储被请求的内容，当这些信息再次被请求的时候，代理服务器就无需再从远程服务器上取了，这样代理服务器就减轻了网络的瓶颈问题。 Apache可以配置成为代理服务器。 10.1 前向代理服务器和逆向代理服务器 1．前向代理服务器 前向代理服务器通常位于用户主机和要访问的远程网络之间。它从远程服务器取得所要求的资源，然后返回给用户，同时存在磁盘上，以供下次使用。 在这种情况下，客户端的主机知道它们正在使用代理服务器，因为每个主机都必须配置为使用代理服务器。 例如，必须告诉WWW浏览器使用代理服务器，它才能使用代理服务器。所有的远程请求都通过代理服务器传输。 这类代理服务器也称为缓冲代理服务器。逆向服务器也可以缓冲数据，但它的作用愉好与前向服务器相反。 前向代理服务器的结构图如下所示： 图4 前向代理服务器 2．逆向代理服务器 逆向代理服务器位于互联网资源前面，逆向服务器从原始服务器找到被请求的资源，并反它返回给用户主机。 与前向代理服务器不同的是，逆向代理服务器的用户并不知道它们连接的是代理服务器而不是资源服务器本身。其结构如下图所示： 图5 逆向代理服务器 10.2 配置代理服务器 为了允许Apache作为代理服务器，需要将ProxyRequests设为On，然后根据你希望代理服务器做什么而增加什么附加配置。无论你希望做什么，你所选的代理配置都应该放入一个特殊的&lt;Directory&gt;容器中。 &lt;Directory proxy:*&gt; … &lt;/Directory&gt; 实例一：将私有IP网连到互联网 假设私有网上只有一台计算机被分配了互联网上合法的IP地址，这台计算 机运行Apache代理服务器，ProxyRequest设置为On，并且不需要附加其他配置，所有请求均可由这台代理服务器代理服务。 实例二：让Apache允当远程WWW站点的缓冲 第一步：将ProxyRequest设置为On 第二步：创建配置如下： &lt;Directory proxy:*&gt; CacheRoot /www/cache CacheSize 1024 CacheMaxExpire 24 &lt;/Directory&gt; 这里的意思是设置Cache目录为/www/cache；大小为1024KB，即1MB；缓冲中的内容在24小时后失效。 实例三：建立镜像站点（其实这也就是所谓的逆向代理服务器） 第一步：将ProxyRequest设置为On 第二步：创建配置如下： &lt;Directory proxy:*&gt; ProxyPass / www.mot.com / CacheRoot /www/cache CacheDefaultExpire 24 &lt;/Directory&gt; 10.3 一些提示 代理服务器，我们将会在后面的章节中详细介绍，这里只是针对Apache的功能介绍的。用Apache作代理服务器的性能并不高，效果并不好。不建议使用。</subject><description><![CDATA[。 在这种情况下，在WWW上保证可以使用的唯一认证机制是由HTTP本身提供 的。在标准的Apache服务器实现了这样的认证，它能控制哪些主机可能访问特定的站点或特点的站点的一部分。 这种认证可以分为两种，一种是基于主机的的认证，另一种是基于用户名/口令的认证。由于互联网上的决大多数用户的IP地址是动态获得的，所以基于主机的认证方式并不总适用。所以在大多数情况下，传统的基于用户名/口令的认证方式更为现实。下面我们就对这两种认证的实现做一简要的介绍。 8.1 基于主机的认证方式 在种认证模式顾名思义，访问是用主机名或主机IP地址来控制的。支持这种认证方式的是Apache的mod_access模块，这个模块缺省状态下是被安装了的。该模块用以下几种Apache命令来提供访问控制功能。 allow命令 语法：allow from host1 host2 host3 ... 这个命令定义了允许访问站点或目录的主机清单。主机清单可以用以下几 种形式表示： ALL：代表所有主机； 主机的全域名，如：www.mot.com； 主机的部分域名，如：.mot.com； 完整的IP地址，如：202.98.2.32； 部分IP地址，如：202.98 网络地址/网络掩码对，如：202.98.0.0/255.255.0.0 网络地址/nn(CIDR定义)，如：202.98.0.1/16 deny命令 语法：deny from host1 host2 host3 ... 这个命令定义了禁止访问站点或目录的主机清单，其他与allow命令相似。 order命令 语法：order deny,allow | allow,deny 这个命令定义评价allow和deny命令的先后顺序。 例如： &lt;Directory /home/httpd/html&gt; order deny,allow deny from www.mot.com allow all &lt;/Directory&gt; 这组命令设置了禁止www.mot.com访问/home/httpd/html目录下的文件。 请大家注意，顺序是先deny后allow，如果是：order allow,deny 那么，先允许所有的主机访问，然后再禁止，这样是无效的，所有主机仍然能够访问。 8.2 基于用户名/口令的认证方式 这种认证方式其实相当简单，当WWW浏览器请求经此认证模式保护的URL 时，将会出现一个对话框，要求用户键入用户名和口令。用户输入后，传给WWW服务器，WWW服务器验证它的正确性，如果正确，返回页面，否则返回401错误。要说明的一点是，这种认证模式是基本的，并不能用于安全性要求极高的场合。 Apache中有许多模块可以支持这种认证方式，下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样，mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户，它能工作得很好。如果你需要对大量的用户，如数以千计的用户做认证时，这种方法的性能将急剧下降到不可忍受，所以当这种情况下，就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。 实例一：需要用户名和口令的访问控制 下面我们就一起来看一下如何建立需要用户名/口令才能进行访问的目录。 基本情况： www.xxx.com 的站点有设置为： DocumentRoot /home/httpd/html AccessFileName .htaccess AllowOverride All 需求：限制/home/httpd/html/backup/目录的访问，只允许用户“super”以口令“fill-06”访问此目录。 实现步骤： 使用htpasswd建立用户文件 htpasswd –c /home/httpd/secr/.htpasswd super 此程序会询问用户“super”的口令，你输入“fill-06”，两次生效。 建立.htaccess文件 用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess，写入 以下几行： AuthName My Friend Only (注：这个名字是任取的) AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd require user super 设置文件权限，确保Apache用户有读的权限 这样就完成了设置工作，你可以试一试效果了。 实例二：允许一组用户访问一个目录 假设，现在www.xxx.com想让myfriend组中的mf1与mf2两个用户分别能 使用口令“mf001-1”“mf002-2”访问/home/httpd/html/backup/目录。 实现步骤： 使用htpasswd建立用户文件 htpasswd –c /home/httpd/secr/.htpasswd mf1 htpasswd –c /home/httpd/secr/.htpasswd mf2 建立组文件 用vi/home/httpd/secr/目录下建立一个文件.htgroup，写入： myfriend:mf1 mf2 建立.htaccess文件 用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess，写入 以下几行： AuthName My Friend Only AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend 配置工作到此结束，试一试吧！ 实例三：混合使用基于主机与基于用户名/口令的认证方式 如果你除了只允许让mf1与mf2两个用户访问外，还想禁止除www.mot.com 外的主机访问这个目录的话，就将/home/httpd/html/backup/.htaccess修改成为： AuthName My Friend Only AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend order deny,allow deny from all allow from www.mot.com 九、解读Apache日志 当你一步步地看到这里的时候，相信你的WWW站点已经建好，并且已经在 Internet上展现出来了。这时你可能就会关心谁造访过你的站点，或者想知道你的Apache服务器现在的运行状态与性能如何。下面我们一起通过解读Apache的日志来实现这个伟大的愿望。 9.1 盯着Apache服务器 Apache允许通过WWW监视服务器的配置信息与运行状态。 1．观看配置信息 如果你的Apache象缺省配置一样加入了mod_info模块的话，你就可以通过访问http://localhost/server-info查看服务器信息。 2.使用状态页 如果你的Apache象缺省配置一样加入了mod_status模块的话，你就可以 通过访问http://localhost/apache-status查看服务器的运行状态信息，其中包括： &#168; 服务器系统的当前时间； &#168; 服务器最近一次重启时间； &#168; 服务器启动后的运行时间； &#168; 到目前为止服务的访问总数； &#168; 到目前为止传输的字节总数； &#168; 服务请求的子进程数； &#168; 空闲子进程数； &#168; 每个进程状态、子进程服务的请求数以及该子进程传输的字节总数； &#168; 每秒平均请求数、每秒传输的字节数、每次请求平均传输字节数； &#168; 目前每个子进程CPU占用及Apache的总的CPU占用率； &#168; 当前主机及处理的请求。 9.2 什么是日志文件 日志文件是Apache工作的记录，Apache包括了mod_log_config模块，它 用来记录日志。在缺省情况下，它用通用日志格式CLF规范来写。 CLF日志文件内对每个请求均有一个单独行，形如： host ident anthuser date request status bytes 其含义如下： &#168; host客户端主机的全称域名或IP地址； &#168; ident存放客户端报告的识别信息； &#168; authuser如果是基于用户名认证的话，值为用户名； &#168; date请求的日期与时间； &#168; request客户端的请求行； &#168; status返回到客户端的三们数字的HTTP状态码； &#168; bytes除去HTTP头标外，返回给客户端的字节数。 9.3 分析日志文件 有了日志文件后，我们可以利用UNIX的一些工具和一此专门的日志分析工具对日志文件进行分析。 实例一：列出访问过本网站的主机名或IP： 对于这个需求，我们可以通过一个Unix的一个脚本语句来完成： cat /var/log/httpd/access_log | awk ‘{print $1}' 用上面的方法虽然可以得到访问过本网站的主机名或IP，但是由于有些是多次访问的，我们希望在上面得到的结果的基础上做一些优化，使得列出的表中，每个主机只出现一次。我们可以使用： cat /var/log/httpd/access_log | awk ‘{print $1}' | wc –l 3.当然，我们可以根据需要选择第三方提供日志分析工具甚至自己开发一些日志分析工具来满足我们的需求。常见的第三方日志分析工具有：WebTrends、Wusage、wwwstat、http-analyze、pwebstats、WebStat Explorer、AccessWatch。 9.4 一些提示 日志一方面是我们分析网站的第一手资料，一方面却是吞噬大量磁盘空间的罪魁祸首。所以别忘了定期转储或删除一些老的日志文件。 十、Apache与代理服务器 代理服务器是位于客户和客户要访问的服务器之间的系统。当客户机使用URL请求访问远程资源时，代理服务器接受该请求并取得该资源以满足客户机的请求。在通常情况下，代理服务器是客户机的服务器，同时也是远程服务器的客户。 代理服务器可以在自己的缓冲区中存储被请求的内容，当这些信息再次被请求的时候，代理服务器就无需再从远程服务器上取了，这样代理服务器就减轻了网络的瓶颈问题。 Apache可以配置成为代理服务器。 10.1 前向代理服务器和逆向代理服务器 1．前向代理服务器 前向代理服务器通常位于用户主机和要访问的远程网络之间。它从远程服务器取得所要求的资源，然后返回给用户，同时存在磁盘上，以供下次使用。 在这种情况下，客户端的主机知道它们正在使用代理服务器，因为每个主机都必须配置为使用代理服务器。 例如，必须告诉WWW浏览器使用代理服务器，它才能使用代理服务器。所有的远程请求都通过代理服务器传输。 这类代理服务器也称为缓冲代理服务器。逆向服务器也可以缓冲数据，但它的作用愉好与前向服务器相反。 前向代理服务器的结构图如下所示： 图4 前向代理服务器 2．逆向代理服务器 逆向代理服务器位于互联网资源前面，逆向服务器从原始服务器找到被请求的资源，并反它返回给用户主机。 与前向代理服务器不同的是，逆向代理服务器的用户并不知道它们连接的是代理服务器而不是资源服务器本身。其结构如下图所示： 图5 逆向代理服务器 10.2 配置代理服务器 为了允许Apache作为代理服务器，需要将Prox