apache在win2003下的安全設置(配合文件夾權限目錄,很好很安全)
2024-08-27 18:28:01
供稿:網友
于是要創建一個新的帳戶來替代這個帳號啟動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。