我安裝的軟件是xampp-win32-1.8.2-0-VC9-installer
需要配置的文件有
httpd.conf
httpd-default.conf
httpd-info.conf
httpd-xampp.conf
xampp安裝后,以下文件夾內的內容需要配置修改
xamp\apache\bin
xamp\apache\conf
xamp\apache\conf\extra
xamp\apache\modules
---以下是我自己遇到的問題
---windows server 2008的系統
1.安裝后啟動不了,總提示libsasl.dll缺失
解決方法:將xampp/php/libsasl.dll文件復制到xampp\apache\bin文件下
2.apache中設置端口 (xampp\apache\conf\httpd.conf)
默認是80端口,可以修改,如下,
#Listen 12.34.56.78:80
#Listen 80
Listen 8081
這樣設置后,本地啟動網址為http://localhost:8081/
如果需要多個端口可以再添加
例如:
Listen 8082
NameVirtualHost *:8082
<VirtualHost *:8082>
ServerName localhost:8082
DocumentRoot "D:/xampp/htdocs/projectname"
</VirtualHost>
其中servername和documentroot要根據實際情況改變
如IP為10.1.12.3 則 ServerName 10.1.12.3:8082
DocumentRoot 則是你程序的位置
3.網站啟動后可能會存在slow http post、slowloris的安全性問題(xampp\apache\conf\httpd.conf)
解決slow http post的方法
解決方法:LoadModule reqtimeout_module modules/mod_reqtimeout.so前的'#'去掉 並添加如下內容
//其實以下內容在xampp\apache\conf\extra\httpd-default.conf文件中已設置,保證httpd.conf文件中保證Include "conf/extra/httpd-default.conf"此句話存在且未被注釋即可
<IfModule reqtimeout_module>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>
以下的內容也可能是需要配置的,但是我未驗證
<IfModule mod_qos.c>
# handle connections from up to 100000 different IPs
QS_ClientEntries 100000
# allow only 50 connections per IP
QS_SrvMaxConnPerIP 50
# limit maximum number of active TCP connections limited to 256
MaxClients 256
# disables keep-alive when 180 (70%) TCP connections are occupied
QS_SrvMaxConnClose 180
# minimum request/response speed (deny slow clients blocking the server, keeping connections open without requesting anything
QS_SrvMinDataRate 150 1200
</IfModule>
解決slowloris的方法:
下載適合你電腦的mod_antiloris.so,我的是x86_2.4_vc10,將mod_antiloris.so放到xampp\apache\modules位置下
LoadModule antiloris_module modules/mod_antiloris.so
<IfModule antiloris_module>
IPReadLimit 50
</IfModule>
4.網站啟動后,網站會泄露apache,php的版本信息問題(xampp\apache\conf\extra\httpd-default.conf)
解決方法,將此文件中的ServerTokens,ServerSignature值修改
#ServerTokens Full
ServerTokens Prod
#ServerSignature On
ServerSignature Off
5.網站啟動后,網站會泄露apache狀態信息即server-status、server-info(xampp\apache\conf\extra\httpd-info.conf)
解決方法:將SetHandler server-status和SetHandler server-info注釋掉
<Location /server-status>
#SetHandler server-status
</Location>
<Location /server-info>
#SetHandler server-info
</Location>
6.關於New XAMPP security concept問題,(xampp中關於登錄的一些問題)(xampp\apache\conf\extra\httpd-xampp.conf)
個人理解:讓xampp的登錄頁面只能本地訪問,其他位置都不可以訪問xampp、mysql等的登錄頁面
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
#Allow from ::1 127.0.0.0/8 \
# fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
# fe80::/10 169.254.0.0/16
Allow from 127.0.0.1
ErrorDocument 403 /error#/XAMPP_FORBIDDEN.html.var
</LocationMatch>
7.配置完后,需要重啟apache才能生效
8.xampp安裝好后,apache不是系統的服務
xampp\apache\apache_installservice.bat
右擊此文件以管理員身份運行,apache服務就是出現服務內了,如果沒出現,重啟電腦應該可以出現
xampp\apache\apache_uninstallservice.bat
右擊此文件以管理員身份運行,apache服務可以從電腦服務中卸載掉
9.php簡寫模式打開
php中有些代碼用簡寫即<? ?>編輯的所以php.ini中
short_open_tag = On
10.error_log="D:\tools\xampp\php\logs\php_error_log"
將php.ini文件中此句話注釋掉,防止產生大量的日志文件
11.extension=php_ldap.dll
php.ini文件中此句話,表示使用域賬號,如果程序不適用域賬號,此句話需注釋
12.http://boxbaby123.blog.163.com/blog/static/23542244201412610412746/
此鏈接中還有一些優化設置