apache版本2.2
自帶mod_deflate.so和mod_headers.so
如果沒有這兩個模塊,那么你就需要手工編譯并load這兩個模塊。
我是在虛擬主機下加入一下配置即可
<Location "/">
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
記住,以上配置,需要放到<Directory></Directory>之后,apache官方網站這么說的:)
posted @
2009-08-26 09:17 雪地孤鴻 閱讀(191) |
評論 (0) |
編輯 收藏
今天發現linux服務器的/目錄磁盤使用率為100%,操作如下
主要通過du -sh查找占用磁盤較多的目錄
1.清除/var/log下的日志文件
2.清除/var/spool/mail下占用磁盤較多的郵件目錄(我的服務上主要是root用戶的郵件比較多導致的)
posted @
2009-07-02 17:25 雪地孤鴻 閱讀(4367) |
評論 (0) |
編輯 收藏
但是scim中文輸入不了, 上網找解決方案,最后成功的方法:
sudo apt-get install scim-qtimm 安裝scim的qt模塊
- sudo gedit /usr/bin/opera 在文件中加入export QT_IM_MODULE="scim"
啟動opera,問題解決。
環境:
ubuntu9.0.4
opera9.6
測試成功
posted @
2009-05-08 08:59 雪地孤鴻 閱讀(276) |
評論 (0) |
編輯 收藏
鳴謝:http://www.phpma.com/linux/20070908/392.html
Apache日志分析工具--AWStats6.9安裝使用
1、事先安裝好Apache
2、安裝awstats的命令(將awstats安裝在/opt/awstats目錄)
mkdir -p /var/lib/awstats
cd /opt
wget http://www.awstats.cn/files/awstats-6.6.tar.gz
tar zxvf awstats-6.6.tar.gz
mv awstats-6.6 awstats
cd awstats/tools/
perl awstats_configure.pl
3、Perl腳本awstats_configure.pl安裝過程(以下內容引用AWStats英文使用說明)
(1)
-----> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/opt/awstats
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] ?
這時選擇y回車。
(2)
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
第一次使用請輸入Apache的httpd.conf路徑,例如/opt/sina/apache/conf/httpd.conf
以后如果再使用perl awstats_configure.pl生成配置文件,則可以輸入none跳過。
(3)
-----> Check and complete web server config file '/opt/sina/apache/conf/httpd.conf'
Warning: You Apache config file contains directives to write 'common' log files
This means that some features can't work (os, browsers and keywords detection).
Do you want me to setup Apache to write 'combined' log files [y/N] ?
選擇y,將日志記錄方式由CustomLog /yourlogpath/yourlogfile common改為更詳細的CustomLog /yourlogpath/yourlogfile combined
(4)
-----> Update model config file '/opt/awstats/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?
創建一個新的配置文件,選擇y
(5)
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
>
輸入站點名稱,例如sina
(6)
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>
輸入AWStats配置文件存放路徑,一般直接回車則使用默認路徑/etc/awstats
(7)
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/opt/awstats/wwwroot/cgi-bin/awstats.pl -update -config=sina
Or if you have several config files and prefer having only one command:
/opt/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...
按回車鍵繼續
(8)
A SIMPLE config file has been created: /opt/awstats/etc/awstats.sina.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'sina' with command:
> perl awstats.pl -update -config=sina
You can also read your statistics for 'sina' with URL:
> http://localhost/awstats/
Press ENTER to finish...
按回車鍵結束
4、修改awstats.sina.conf配置
vi /etc/awstats/awstats.sina.conf
按?,在之后輸入要搜索的內容LogFile="
然后按Ins鍵,找到LogFile="/var/log/httpd/access_log"
改為要分析的Apache日志路徑與文件名。
(1)多日志合并分析(例:新浪播客其中兩臺服務器2月6日的日志30.0206.vblog.log與31.0206.vblog.log)
LogFile="/opt/awstats/tools/logresolvemerge.pl /var/apachelogs/30.0206.vblog.log /var/apachelogs/31.0206.vblog.log|"
或
LogFile="/opt/awstats/tools/logresolvemerge.pl /var/apachelogs/*.0206.vblog.log|"
(2)分析使用gzip壓縮過的日志文件
LogFile="gzip -d </var/log/apache/access.log.gz|"
5、更新分析報告
perl /opt/awstats/wwwroot/cgi-bin/awstats.pl -config=sina -update
在實踐過程中,確實有該問題,只要刪除掉歷史日志記錄即可
如果出現以下錯誤提示,很大可能是Apache的Log文件中存在以前CustomLog /yourlogpath/yourlogfile common生成的日志,刪除掉這些行的日志即可:
This means each line in your web server log file need to have "combined log format" like this:
111.22.33.44 - - [10/Jan/2001:02:14:14 +0200] "GET / HTTP/1.1" 200 1234 "http://www.fromserver.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
6、查看分析報告
http://localhost/awstats/awstats.pl?config=sina
這里的sina對應/etc/awstats/awstats.sina.conf中的sina
7.awstats自動生成日志分析報告
需要root用戶權限,或者可以操作crontab -e命令的用戶權限:
(1)鍵入:crontab -e
(2)輸入以下系統定時任務:
0 5 * * * /opt/awstats/wwwroot/cgi-bin/awstats.pl -config=www.google.com -update
每天凌晨5點執行日志分析報告,opt/awstats/wwwroot/cgi-bin/awstats.pl為awstats安裝目錄下的perl命令,www.goolge.com為你安裝awstats時指定的網站域名。關于crontab命令的用法,可以google一下。
8.awstats基礎安全設置
(1)linux系統中必須存在用戶,如果不存在可以按以下方式操作
groupadd awsuser #增加awstats用戶組
useradd -g awsuser awstats #增加awstats用戶,并歸屬awsuser用戶組
(2)在apache安裝目錄下新建文件夾
mkdir passwd
(3)運行如下代碼產生用戶名為awstats用戶及其密碼
opt/apache/bin/htpasswd -c /opt/apache/passwd/passwords awstats
鍵入密碼和驗證密碼即可
(4)配置httpd.conf
<Directory "/opt/awstats-6.9/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache2/password/passwords
Require user awsspring
</Directory>
附:
(2)測試環境:在DELL PowerEdge 1950/2950 服務器+red hat as 4.6/5.0 as Linux操作系統+Apache 2.2.11下測試通過。
posted @
2009-04-08 16:54 雪地孤鴻 閱讀(1145) |
評論 (0) |
編輯 收藏
1 . WDG HTML Validator 一個很好的工具,能找出網站語法錯誤的地方,并標注出來,也可選擇對網站上單獨的每一頁進行單頁分析。(
強烈推薦 )
2 . W3C Markup Validation Service 對 HTML 和 XHTML 都能進行代碼測試,自稱是互聯網絡上第一個(也是使用者最多的)的 HTML 驗證工具。
3 . W3C CSS Validation Service 用于驗證 css 源代碼,能夠標注出不好的 css 代碼設計。例如:“Same colors for color and background-color in two contexts”。
4 . RUWF XML Syntax Checker 用于查找 XML 文件的錯誤。
5 . W3C Feed Validation Service 用于查找 Atom 和 RSS feed 中的錯誤語法。( 這個我經常用到 )
6 . W3C Link Checker 用于搜尋查明你網站內的所有鏈接里是否有斷鏈。( 強烈推薦 )
7 . Juicy Studio Link Analyser 測試網站內的鏈接的 URL 是否存在死鏈,與 W3C Link Checker 很類似。
網站的使用性
我們常常看到網站設計者把重點放在怎網站的吸引力上,而完全不考慮會不會影響來訪者的使用,一個瀏覽難度很大的網頁是注定要失敗,要讓你的來訪者方便的得到他要的信息(從而成為重復訪客),你的網站應當遵循 WCAG section 508 易用性規則。
8 . Watchfire WebXACT 所有嚴謹的設計師和開發者都必須使用的工具,它會生成一個非常詳盡的報告書,包括:網站質量,易用性和隱私等。( 強烈推薦 )
9 . ATRC Web Accessibility Checker 測試網站的 WCAG 2.0 Level2 兼容性,它會生成一份報告,提出一系列建議,如:如何提升頁頭,鏈接,數據,圖表和文字的訪問速度。
10 . WAVE 3.0 Web Accessibility Tool 高度可定制的工具,它采用了圖形化模型展示網站兼容性問題( WCAG 1.0 and section 508 )。( 強烈推薦 )
11 . TAW Web Accessibility Test 測試網頁是否存在沖突( WCAG 1.0 兼容性 ),通過圖形模式生成一份依據 wcag 優先模式為基礎的網站修改建議。
12 . HiSoftware CynthiaSays portal 采用了非常嚴格的規則來測試網頁( 根據 section 508 和 WCAG 1.0 規則 ),生成的報告也極為詳細( 詳細到很難看懂 )。
13 . HERA Accessibility testing with Style 使用一種極為復雜但容易理解方式指出網頁的 wcag1.0 兼容性問題。
14 . Juicy Studio CSS Analyser 進行了色彩對比測試,以確保你的網站的色調會符合 WCAG 1.0 的要求。
15 . Juiciy Studio Readability Test 分析你網站上的文字是否有語法錯誤或拼寫錯誤等問題,容易讓人理解不( 根據 the Flesch Reading Ease 和 Flesch-Kincaid grade level algorithms 規則 )。( 適合英文網站使用 )
網站的速度
打開你的網站的速度快慢,是來訪者會不會再次訪問網站的關鍵因素,在一般情況下,一個網絡不是很快的來訪者是不愿意訪問一個充滿著圖片、flash 動畫、多媒體文件的網站。為了使你的網站覆蓋人群的范圍最大化,你必須優化你的網站,使它的打開速度盡可能的快。
16 . Web Page Analyzer from Website Optimization 一個很好的工具,它在分析完一個網頁后,會為減少加載時間提出優化建議,著重優化物體的數目,圖片和網站的總體大小。( 強烈推薦 )
17 . WebSitePulse Test Tools 有一系列的工具來確定網站的加載速度和主機信息。
18 . Internet Supervision Url Check 從世界各地不同的服務器來測試你的網站的加載時間,用于確定是不是各地的來訪者都能順利快速的打開你得網站。
瀏覽器模擬工具
這是一個普遍的問題,因為現在有著很多的操作系統和瀏覽器,你得網站必須得兼容它們,但這絕不是一件容易的事。通過下列工具,你可以了解你得網站在各種瀏覽器上的顯示效果。
19 . Browsershots能給出你的網站在不同瀏覽器下顯示效果的截圖,包括:Firefox 和 Internet Explorer ( Windows)、Firefox 和 Safari ( Mac OS X )、Iceweasal 和 Konqueror ( Linux ),但是結果要在1 - 3 小時后才能出來。
20 . IE NetRenderer 實時生成你的網站在 Internet Explorer 5.5 、6.0 和 7.0 下的截圖。
21 . MobiReady Report 分析使用手機訪問網頁的兼容性問題,會生成一份詳細的報告,并提供了在兩種不同類型的手機瀏覽器上你得網站可能顯示的樣子。
搜索引擎優化 (SEO)
一個網站,如果對搜索引擎有著比較好的友好度,一定會比較有競爭力。
22 . UrlTrends 會顯示網站的訪客是如何通過搜索引擎來到你的網站,還有各個流量是多少。這些數據是包括 Google, Yahoo, MSN, Alexa, AlltheWeb, AltaVista 和其他一些網站。( 強烈推薦 )
23 . iWEBTOOL Backlink Checker 一個很好的工具,它能找出有什么站點鏈接到你的站點,那些站點是什么類型的站點。
24 . iWEBTOOL Multi-Rank Checker 顯示你網站的 Alexa 和 Google PageRank 數值。
25 . Microsoft adCenter Labs: Advertising and Keyword Research Tools 一個極好的工具,用于分析和預測你網站的來訪者和市場。( 強烈推薦 )
26 . Domain Tools Whois lookup 一個 WHOIS 網絡工具。
27 . SEO-Browser 可以讓你看到在搜索引擎眼里一樣的網站( 去掉所有的”美麗”配件 )。
28 . SEO Workers SEO Analysis Tool 非常有用的工具,分析了網站上的各種分類特征,包括 meta 標簽、關鍵字密度及加載時間。( 強烈推薦 )
29 . Seekport Seekbot 可以分析網站的數據和內容,以得出搜索引擎會如何有效的解釋分析的網站。
30 . SEO Chat SEO Tools 用以分析網站 Google adsense 盈利潛力,關鍵字密度,Meta tag 等等……
31 . Marketleap Search Engine Marketing Tools 用來分析網頁,讓你知道你的網站檢索、設定的關鍵字好不好。
原文:avivadirectory.com
譯者:peterzsk
譯文原地址:http://zsk.akaka.com.cn/2007/06/31-free-tests-online/
采用CC創作共用協議,轉載可保留以上信息并<署名、非商業和保持一致>。
posted @
2009-02-18 15:57 雪地孤鴻 閱讀(262) |
評論 (0) |
編輯 收藏
opencrx的大名,我就不介紹了,請參考www.opencrx.com(官方網站)或www.opencrx.com.cn(中文網站),我使用的是opencrx2.1,關于opencrx的安裝過程,無論是windows還是linux的安裝過程也不需要多說了,官方網站有很好的安裝說明文檔,圖文并茂,很是生動,幾乎太會不會安裝的了:),但是在啟動的過程中,出現了一點小插曲,讓我折騰了將近2個小時。下面就詳細說明一下:
一、在windows下安裝完成openmdxTomcatLwc-2.1.0和opencrx2.1.0之后,桌面上會出現五個快捷方式,雙擊那個都不會正常的啟動opencrx-server 的?關鍵是hsql會出現錯誤,他們需要組合使用才是有效的:),先啟動Start Services for Tomcat+LWC 2.1.0 (8080)(雙擊該圖標即可)啟動openmdx service服務;然后在雙擊openCRX Server HSQLDB Console (9001)圖標,啟動hsql內存數據庫,接著雙擊Start Tomcat+LWC 2.1.0 (8080)圖標,啟動opencrx-server服務,到此為止,如果沒有看到任何異常,那就恭喜你了,服務完全啟動成功了?。。。∵€有兩個圖標,一個是Login Tomcat+LWC 2.1.0 (8080),這個就是訪問opencrx-server的登錄頁面的快捷方式而已,你在ie中輸入地址也是可以的,另外一個就Stop Tomcat+LWC 2.1.0 (8080),停止所有的web服務(openmdx-service和opencrx-server),最后的hsql服務需要手工停止。
啟動時需要組合拳,但是停止確實一鍵搞定,太讓人郁悶了:(
二、在Linux下,安裝過程可能并不向官方文檔描述的那樣,我們大部分所使用的linux應該是不太會支持圖形界面的,但是官方的安裝文檔給出的是有圖形界面的,和window下極其相似,不過也沒有關系,只要是使用過linux(入門級即可)的應該都可以根據提示完成安裝。不過在官方文檔的最后,在啟動opencrx-server的描述中,給出了一句極具誤導性的話“
Start Tomcat to start the openCRX Server”,也有可能是偶的e文不好的原因,反正我是理解為啟動tomcat即可了。后經驗證,其實是需要通過"/installdir/opencrx2.1/bin/control.sh START"命令來啟動才可以。注意control.sh的參數“START”.linux下面的啟動過程比windows下稍微有好一點:)
好了,今天基本就這樣了,后面在慢慢研究opencrx吧,希望有興趣的朋友一起:)
posted @
2008-07-26 17:00 雪地孤鴻 閱讀(4325) |
評論 (2) |
編輯 收藏
關于JForum論壇的基本情況就不在此介紹了,官方網址:www.jforum.net.jforum論壇系統的安裝也很簡單,按照官方文檔,或者google一下,基本都可以搞定,在此就不在介紹了。大概描述一下我使用jforum的情況:
1.應用服務器:weblogic8.1
2.數據庫:oracle10g
3.已有一個電子商務網站,需要和jforum進行簡單的集成,提供sso(單點登錄的功能)。
4.說明:已有的電子商務網站域名:http://www.123.com jforum域名:www.123.com/forum,電子商務網站和jfroum在統一臺服務器和同一應用服務器下,如果分開可能會存在session或cookie訪問的問題。
5.JForum版本:2.1.8
下面簡要的介紹一下使用cookie進行jforum和電子商務網站的sso集成的過程:
(1)實現net.jforum.sso接口
public class CookieUserSSO implements SSO {
static final Logger logger = Logger.getLogger(CookieUserSSO.class.getName());
public String authenticateUser(RequestContext request) {
// login cookie set by my web LOGIN application
Cookie cookieNameUser = ControllerUtils.getCookie(SystemGlobals
.getValue(ConfigKeys.COOKIE_NAME_USER));
String username = null;
if (cookieNameUser != null) {
username = cookieNameUser.getValue();
}
logger.info("cookie username="+username);
System.out.println("cookie username="+username);
return username; // return username for jforum
// jforum will use this name to regist database or set in HttpSession
}
public boolean isSessionValid(UserSession userSession,
RequestContext request) {
Cookie cookieNameUser = ControllerUtils.getCookie(SystemGlobals
.getValue(ConfigKeys.COOKIE_NAME_USER)); // user cookie
String remoteUser = null;
if (cookieNameUser != null) {
remoteUser = cookieNameUser.getValue(); // jforum username
}
if (remoteUser == null
&& userSession.getUserId() != SystemGlobals
.getIntValue(ConfigKeys.ANONYMOUS_USER_ID)) {
// user has since logged out
return false;
} else if (remoteUser != null
&& userSession.getUserId() == SystemGlobals
.getIntValue(ConfigKeys.ANONYMOUS_USER_ID)) {
// anonymous user has logged in
return false;
} else if (remoteUser != null
&& !remoteUser.equals(userSession.getUsername())) {
// not the same user (cookie and session)
return false;
}
return true; // myapp user and forum user the same. valid user.
}
}
(2)修改SystemGlobals.properties中的配置:
修改SystemGlobals.properties文件中的一下屬性的內容:
authentication.type = sso
sso.implementation = net.jforum.sso.CookieUserSSO
sso.redirect = http://www.123.com/login.jsp //可根據實際的登錄頁面地址進行修改
cookie.name.user = 123UserInfo //電子商務網站中保存的cookie名稱,可根據實際情況修改
(3)修改web應用中的登錄和注銷部分的邏輯:
登錄部分加入以下代碼:
...
Cookie cookie = new Cookie("springTourUserInfo", sname);
cookie.setMaxAge(-1);
cookie.setPath("/");//cookie只在同一應用服務器有效
response.addCookie(cookie);
...
注銷部分加入以下代碼:
......
Cookie cookie = new Cookie("springTourUserInfo", "");
cookie.setMaxAge(0); // delete the cookie.
cookie.setPath("/");
response.addCookie(cookie);
......
(4)在電子商務網站增加論壇的鏈接:
<a href="/forum">論壇</a>
基本配置完整,測試通過,如有問題,歡迎交流!
感謝網友提供的資料:
http://www.lifevv.com/java/doc/20080305224358885.html?page=0
http://www.99inf.net/SoftwareDev/Java/54230.htm(作者:王保政)
posted @
2008-06-26 16:54 雪地孤鴻 閱讀(4035) |
評論 (3) |
編輯 收藏
假設有webapp1, webapp2, cas server,webapp1, webapp2均受cas server保護
首先,我在這里簡單解釋一下:
第1種不能logout的情況:
1)登錄了WebApp1,redirect到caserver
casserver認證后,再redirect到webapp1,ok!
2)http方式 lougout casserver1,即http://yale_casserver:8080/cas/lougout
顯示logout成功
3)訪問webapp2,還能訪問!
這是非常正常的一種情況,因為你不通過https來注銷,casserver怎么"殺"掉
它通過https發給你的TGC Cookie?
第2種不能logout的情況:
1)登錄了WebApp1,redirect到caserver
casserver認證后,再redirect到webapp1,ok!
2)https方式 lougout casserver1,即https://yale_casserver:8443/cas/lougout
顯示logout成功
3)訪問webapp1,還能訪問!訪問webapp2,不能訪問,重定向到casserver要求登錄!
這也是非常正常的一種情況,因為你已經能夠訪問,你繼續可以繼續訪問,
CASLogout不能阻止你訪問webapp1,它只能阻止你訪問webapp2,因為你已經
被允許訪問webapp1,而webapp2則還沒有,如果你在(1)的時候,順帶也訪問
webapp2,那么你的注銷將毫無作用了,CAS無法阻止你訪問這兩個webapp,
因為你有Service Ticket。
如果你對此費解,那時因為你已為Logout就是退出系統,那我只能表示遺憾,
因為CAS Logout的作用不是這樣,它的作用是阻止你繼續通過TGC(它簡單地
清楚了IE的TGC Cookie)來獲取ST,阻止你獲取通向其他web應用的Ticket。
所以,用完webapp1的時候,注銷,然后再關閉掉IE就徹底Logout了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1503551
posted @
2008-03-28 16:16 雪地孤鴻 閱讀(882) |
評論 (0) |
編輯 收藏
今天花了一個下午的時間,終于完成的cas配置的一次完整的運行。cas前世今生我就不介紹了,有興趣的朋友谷歌或是百度一下就可以有很詳細的了解了,重點記錄一下今天的配置過程和遇到的問題及解決方法。
環境:瀏覽器(ie6.0,windows xp)
cas server 在一臺Linux服務器,cas client在另外一臺linux服務器
應用服務器為tomcat5.5.26
初步的配置實用過程參考了http://m.tkk7.com/yida/archive/2007/04/03/55466.html的描述,各位亦可以訪問阿木的blog。整理如下:
1.請下載到cas的官方網站下載cas-server(我用的是3.2)和cas-client(2.0.11),tomcat5.5.26
cas的官方網站:http://www.ja-sig.org/products/cas/
2.安裝cas-server,我們假定安裝cas-server的服務器為server1
(1)請在server1服務器上安裝好jdk1.5或以上版本的jdk,tomcat5.5.26,并配置環境變量JAVA_HOME
(2)將cas-server-3.2-release.zip解壓,將moudels目錄下cas-server-webapp-3.2.war拷貝到tomcat的webapps目錄下,修 改名稱為cas.war.
(3)生成server1的安全證書:
keytool -genkey -alias my-alias-name -keyalg RSA -keystore keystore-file
(4)在server1配置https
在$CATALINA_HOME/conf/server.xml里修改為一下配置
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/path/keystore-file" keystorePass="your-password"
/>
(5)導出server1的證書,用來給所有需要用到的客戶端導入
keytool -export -file myserver.cert -alias my-alias-name -keystore keystore-file
(6)將導出的證書上傳的client1服務器上。
(7)啟動server1上的tomcat,檢驗cas配置是否成功,訪問http://ip:8443/cas/login,如果能看到cas的登錄頁面則表示配 置成功。
3.配置 cas-client,我們以tomcat下自帶的servlet-example為例子進行說明
(1)請在client1服務器上安裝好jdk1.5或以上版本的jdk,tomcat5.5.26,并配置環境變量JAVA_HOME
(2)將cas-client-2.0.11.zip解壓,把java/lib/casclient.jar拷貝到client1服務器上的
webapps/servlets-examples/WEB-INF/lib目錄下(如果沒有就建一個)
(3)在要使用CAS的客戶端client1里設置(以servlets-examples這個APP為例),我們使用ServletFilter(CAS client里提供 的)來實現SSO的檢查,修改servlets-examples/WEB-INF/web.xml,添加以下內容:
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://your.cas.server.name(eg:server1):port/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://your.cas.server.name(eg:server1):port/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>your.client.server.name(eg:client1):port</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
(4)在客戶端的JVM里導入信任的SERVER的證書(根據情況有可能需要管理員權限)
keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file myserver.cert -alias my-alias-name
此時需要輸入密碼,默認密碼為changeit
通過以上配置,基本完成cas-server和cas-client的配置,但是還有以下問題需要注意和解決
由于cas的證書需要域名才能正確的進行認證信息的交互,不支持ip,如果server和client在同一臺機器上,可以使用localhost,如果像我們上面描述的三臺服務器這樣的環境,使用localhost或者ip是不能正常運行的。如果使用ip,運行時會拋出 HTTPS hostname wrong 的錯誤,解決的方法如下:
假設server1的ip為:192.168.10.1,client1的ip為192.168.10.2,開發機器(xp)的ip為:192.168.10.3
在server1和client1上設置本機的域名映射:
vi /etc/hosts 添加以下行
192.168.10.1 cas.server
在開發機器(xp)下,在C:\WINDOWS\system32\drivers\etc目錄下,編輯hosts文件,添加以下行
192.168.10.1 cas.server
重新生成cas-sever的服務器端的證書,在開始問“你的名字”或“DName”的時候,必須填寫你服務器所在域名(cas.server)
然后重新到處服務器器端的證書,并將其導入到client1服務器的jvm
最后修改修改servlets-examples/WEB-INF/web.xml中關于cas過濾器的配置:請將your.cas.server.name(eg:server1)修改為cas.server即可。重新啟動server1和client1的服務器上的tomcat就可正常運行。
ttp://client1:8080/servlets-examples/servlet/HelloWorldExample
系統會自動跳轉到一個驗證頁面,隨便輸入一個相同的賬號,密碼,嚴正通過之后就會訪問
到真正的HelloWorldExample這個servlet了
posted @
2008-03-25 18:05 雪地孤鴻 閱讀(4731) |
評論 (0) |
編輯 收藏
使用jbossTools創建seam website項目的注意事項,由于seam2.0本身標榜的口號是“企業級的java應用程序框框架”,關鍵的賣點是“JSF和ejb3.0的深度集成”,所以使用jbossTools工具生成項目結構是,也就天然的對ejb3.0的支持較好,但是如果不使用實體bean之類的東東,就需要對生成的項目的進行適當的修改才可以正常的運行。我想這是jbossTools或是seam框架本身需要改進的地方,jbossTools向導不能根據客戶的需求很好的定制生成項目框架,表現的很不友好,對于初學者來說,很容易產生混淆。經過將近兩天的測試,現總結如下(以seam2.0的example中hibernate2為例):
1.重建為jboss4.2下的seam2.0+hibernate項目:
需要注意的是:1.通過jbosstools工具生成的項目下面仍然會有“
persistence.xml”這個文件存在,如果發布到jboss應用服務器下,仍然會導致jboss在啟動時通過該文件進行相關的數據庫連接。2.通過jbossTools生成的項目框架,都會默認的生成<項目名稱>-ds.xml文件,如果需要使用該文件,需要單獨發布,如果不需要,則要修改hibernate-cfg.xml文件的配置信息。
2.重建為tomcat6.0下的seam2.0+hibernate項目:
1.通過jbossTools無法之間在tomcat5.×下建立下項目框架,由于jsf1.2,seam1.2或seam2.0均需要serlet2.5,如果需要在tomcat5.×下創建項目,則只能進行手工配置。
2.在tomcat創建seam website項目,通過jbossTools無法創建完整的項目,相關的第三方包,需要從seam2.0的發布包中手動copy到當前下項目的classpath下(/WEB-INF/lib),主要的第三方包包括:
commons-*.jar,jsf-api.jar,jsf-impl.jar,jstl.jar,dom4j.jar,hibernate.jar,hibernate-commons-annotations.jar,hibernate-annotations.jar,hibernate-entitymanager.jar,hibernate-validator.jar,javassist.jar,persistence-api.jar,cglib.jar,jta.jar,antlr.jar
3.數據源也需要手動配置,如果配置為tomcat的jndi,請參考tomcat的相關文檔。
4.注意修改src/action和src/module源文件編譯的輸出路徑到/WEB-INF/classes目錄下,否則項目發布后可能會找到相關類路徑的錯誤。
5.其他有jbossTools生成的無關文件可以刪除。
在jboss4.2和tomcat6.0下通過jbossTools創建seam website項目框架需要注意的,暫時總結如上。本blog將持續更新有關seam2.0的學習心得。
歡迎交流!
posted @
2008-03-17 14:16 雪地孤鴻 閱讀(1740) |
評論 (3) |
編輯 收藏