app教程网 学习教程 apache权限管理(apache目录权限设置)

apache权限管理(apache目录权限设置)

众所周知,Apache在windows下第一次作为服务安装时,会以用户“System”(本地系统帐号)的身份运行。如果web服务器的所有资源都在本地系统上,问题就不会那么大。

但是会有很大的安全权限影响本地机器,所以一定不要打开系统账号的网络权限!

因此,您需要创建一个新帐户来启动apache,而不是这个帐户,并设置相应的权限:

1.在计算机管理中的本地用户和组中创建一个账号,比如apache,设置密码为apacheuser,加入guests组(如果有问题可以给用户权限);

2.打开开始-管理工具-本地安全策略,在用户权限分配中选择“作为服务登录”,添加apache用户;

3.在计算机管理中选择服务,找到apache2.2,先停止服务,右键单击-property,选择Login,将单选框从本地系统帐户切换到此帐户,然后找到并选择apache,输入密码apacheuser。

然后点击确定(此时apache无法正常启动,一般肯定会报错:Apache2.2服务因1 (0x1)服务错误而停止。);

4.授予apache安装目录(例如:D:/apache2.2)和web目录(例如:d:/wwwroot)对apache帐户的读写权限。

去掉每个磁盘根目录除administror和system之外的所有权限,给apache安装目录所在磁盘根目录下的apache帐号可读列目录的权限(我开始觉得没必要,

但后来发现这才是以上错误的关键。)

5.启动apache,一切OK。

6.6.php.ini中指定的PHP临时上传目录和会话保存目录,并赋予apache对该目录的完全控制权。

例如:upload _ Tmp _ dir=' D:/wwwroot/Tmp/upload Tmp/'会话。save _ path=' D:/wwwroot/Tmp/session Tmp/'

7.授予D:/php目录读取和运行的权限;

8.授予zend读取和运行安装目录的权限;

9.限制对目录的读取权限,修改apache安装目录下conf文件夹下的httpd.conf。

加上:PHP _ admin _ value open _ basedir ' D:/wwwroot ' PHP _ admin _ value safe _ mode On

httpd.conf配置(假如将服务器端编程语言(专业超文本预处理器的缩写)读写权限限制在E:\smis目录下)Apache2.0配置示例:虚拟主机*:80服务器名称www。ABC。comdocumentroot ' E:/smis '选项follow sym links不包括exec索引目录index index.html index.htm default.htm index.php默认值。PHP allow override none order Deny,allow from all PHP _ admin _ value open _ basedir ' E:/smis/;e:/APM servv 5。2 .0/PHP/upload temp/;e:/APM servv 5。2 .0/PHP/session data/' PHP _ admin _ value safe _ mode On/virtualhostapache 2.2配置示例:虚拟主机*:80服务器名称www。ABC。comdocumentroot ' E:/smis '/虚拟主机目录' E:/smis '选项跟在符号链接后面包括没有执行索引目录索引index.html index.htm default.htm index.php默认。PHP允许覆盖无命令拒绝,允许从all PHP _ admin _ value open _ basedir ' E:/smis/;e:/APM servv 5。2 .0/PHP/upload temp/;e:/APM servv 5。2 ./Directory上的0/PHP/session data/' PHP _ admin _ value safe _ mode

本文来自网络,不代表本站立场,转载请注明出处:https: