apache在win2003下的安全设置(配合文件夹权限目录,很好很安全)
程序员文章站
2022-11-18 16:49:37
于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuse...
于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限:
1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限);
2.打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用 户;
3.计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找 选择apache,输入密码apacheuser,然后点确定(这个时候apache还不能正常启动,一般情况肯定会报错:apache2.2 服务因 1 (0x1) 服务性错误而停止。);
4.赋予apache安装目录(比如:d:/apache2.2)以及web目录(比 如d:/wwwroot)apache帐号的可读写权限,去除 各磁盘根目录除administror与system以外的所有权限,赋予apache安装 目录所在的磁盘根目录apache帐户的可读取列目录权限(我 开始觉得没必要,但后来发现:这是导致上面出错的关键。)
5.启动apache,一切ok了。
6.php.ini中指定的php临时上传目录和session保存目录,并给予目录apache完 全控制权限,例如:
upload_tmp_dir = "d:/wwwroot/tmp/uploadtmp/"
session.save_path = "d:/wwwroot/tmp/sessiontmp/"
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配置(假如将php读写权限限制在e:\smis目录下)
apache2.0配置示例:
<virtualhost *:80>
servername www.abc.com
documentroot "e:/smis"
options followsymlinks includesnoexec indexes
directoryindex index.html index.htm default.htm index.php default.php
allowoverride none
order deny,allow
allow from all
php_admin_value open_basedir "e:/smis/;e:/apmserv5.2.0/php/uploadtemp/;e:/apmserv5.2.0/php/sessiondata/"
php_admin_value safe_mode on
</virtualhost>
apache2.2配置示例:
<virtualhost *:80>
servername www.abc.com
documentroot "e:/smis"
</virtualhost>
<directory "e:/smis">
options followsymlinks includesnoexec indexes
directoryindex index.html index.htm default.htm index.php default.php
allowoverride none
order deny,allow
allow from all
php_admin_value open_basedir "e:/smis/;e:/apmserv5.2.0/php/uploadtemp/;e:/apmserv5.2.0/php/sessiondata/"
php_admin_value safe_mode on
</directory>
win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置
本文介绍的在试在win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置,即wapm。
但不同于打包的wapm软件,此软件部推荐在正式的服务器上面部署。下面开始:
1 安装pache、php、mysql
安装到自己认为合适的目录,三个软件的下载以及安装我不再叙述了,应该看到这篇文章的人对这部分内容都会认为是多余的!
2 虚拟主机设置
打开..\apache\conf\http.conf
在# virtual hosts处去掉加载虚拟主机的注释符号
include conf/extra/httpd-vhosts.conf
在conf/extra/httpd-vhosts.conf配置虚拟主机配置文件内容:
以我的招聘网站jobigg.com为例:
# 1 jobigg.com
<virtualhost *:80>
serveradmin alavin.cui@gmail.com
documentroot "d:/jobigg.com"
servername jobigg.com
serveralias www.jobigg.com
errorlog "logs/jobigg.com-error.log"
customlog "logs/jobigg.com-access.log" common
</virtualhost>
我的服务器为双ip,所以在httpd-vhosts.conf和http.conf中有点不同的配置
#listen 11.11.11.11:80
listen 80
就是未指定ip地址,才能正常使用双ip。
3 降低apache的运行权限
3.1 创建一个新的帐户
在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为jobigg.com,加入user组;
3.2 打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用户
3.3 计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找选择 apache,输入密码jobigg.com,然后点确定(这个时候apache应该不能正常启动,一般情况肯定会报错:apache2.2 服务因 1 (0x1) 服务性错误而停止。)
3.4 赋予apache安装目录(比如:e:/apache2.2)以及web目录(比如d: /jobigg.com)apache帐号的可读写权限,去除各磁盘根目录除administror与system以外的所有权限,赋予apache安装 目录所在的磁盘根目录apache帐户的可读取列目录权限
3.5 重新启动apache
1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限);
2.打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用 户;
3.计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找 选择apache,输入密码apacheuser,然后点确定(这个时候apache还不能正常启动,一般情况肯定会报错:apache2.2 服务因 1 (0x1) 服务性错误而停止。);
4.赋予apache安装目录(比如:d:/apache2.2)以及web目录(比 如d:/wwwroot)apache帐号的可读写权限,去除 各磁盘根目录除administror与system以外的所有权限,赋予apache安装 目录所在的磁盘根目录apache帐户的可读取列目录权限(我 开始觉得没必要,但后来发现:这是导致上面出错的关键。)
5.启动apache,一切ok了。
6.php.ini中指定的php临时上传目录和session保存目录,并给予目录apache完 全控制权限,例如:
upload_tmp_dir = "d:/wwwroot/tmp/uploadtmp/"
session.save_path = "d:/wwwroot/tmp/sessiontmp/"
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配置(假如将php读写权限限制在e:\smis目录下)
apache2.0配置示例:
复制代码 代码如下:
<virtualhost *:80>
servername www.abc.com
documentroot "e:/smis"
options followsymlinks includesnoexec indexes
directoryindex index.html index.htm default.htm index.php default.php
allowoverride none
order deny,allow
allow from all
php_admin_value open_basedir "e:/smis/;e:/apmserv5.2.0/php/uploadtemp/;e:/apmserv5.2.0/php/sessiondata/"
php_admin_value safe_mode on
</virtualhost>
apache2.2配置示例:
复制代码 代码如下:
<virtualhost *:80>
servername www.abc.com
documentroot "e:/smis"
</virtualhost>
<directory "e:/smis">
options followsymlinks includesnoexec indexes
directoryindex index.html index.htm default.htm index.php default.php
allowoverride none
order deny,allow
allow from all
php_admin_value open_basedir "e:/smis/;e:/apmserv5.2.0/php/uploadtemp/;e:/apmserv5.2.0/php/sessiondata/"
php_admin_value safe_mode on
</directory>
win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置
本文介绍的在试在win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置,即wapm。
但不同于打包的wapm软件,此软件部推荐在正式的服务器上面部署。下面开始:
1 安装pache、php、mysql
安装到自己认为合适的目录,三个软件的下载以及安装我不再叙述了,应该看到这篇文章的人对这部分内容都会认为是多余的!
2 虚拟主机设置
打开..\apache\conf\http.conf
在# virtual hosts处去掉加载虚拟主机的注释符号
include conf/extra/httpd-vhosts.conf
在conf/extra/httpd-vhosts.conf配置虚拟主机配置文件内容:
以我的招聘网站jobigg.com为例:
# 1 jobigg.com
复制代码 代码如下:
<virtualhost *:80>
serveradmin alavin.cui@gmail.com
documentroot "d:/jobigg.com"
servername jobigg.com
serveralias www.jobigg.com
errorlog "logs/jobigg.com-error.log"
customlog "logs/jobigg.com-access.log" common
</virtualhost>
我的服务器为双ip,所以在httpd-vhosts.conf和http.conf中有点不同的配置
#listen 11.11.11.11:80
listen 80
就是未指定ip地址,才能正常使用双ip。
3 降低apache的运行权限
3.1 创建一个新的帐户
在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为jobigg.com,加入user组;
3.2 打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用户
3.3 计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找选择 apache,输入密码jobigg.com,然后点确定(这个时候apache应该不能正常启动,一般情况肯定会报错:apache2.2 服务因 1 (0x1) 服务性错误而停止。)
3.4 赋予apache安装目录(比如:e:/apache2.2)以及web目录(比如d: /jobigg.com)apache帐号的可读写权限,去除各磁盘根目录除administror与system以外的所有权限,赋予apache安装 目录所在的磁盘根目录apache帐户的可读取列目录权限
3.5 重新启动apache