1. 配置系統管理(admin web application) 大多數商業化的j2ee服務器都提供一個功能強大的管理界面,且大都采用易于理解的web應用界面。tomcat按照自己的方式,同樣提供一個成熟的管理工具,并且絲毫不遜于那些商業化的競爭對手。tomcat的admin web application最初在4.1版本時出現,當時的功能包括管理context、data source、user和group等。當然也可以管理像初始化參數,user、group、role的多種數據庫管理等。在后續的版本中,這些功能將得到很大的擴展,但現有的功能已經非常實用了。
admin web application被定義在自動部署文件:catalina_base/webapps/admin.xml 。 (譯者注:catalina_base即tomcat安裝目錄下的server目錄)
你必須編輯這個文件,以確定context中的docbase參數是絕對路徑。也就是說,catalina_base/webapps/admin.xml 的路徑是絕對路徑。作為另外一種選擇,你也可以刪除這個自動部署文件,而在server.xml文件中建立一個admin web application的context,效果是一樣的。你不能管理admin web application這個應用,換而言之,除了刪除catalina_base/webapps/admin.xml ,你可能什么都做不了。
當你完成這些步驟后,請重新啟動tomcat,訪問http://localhost:8080/admin,你將看到一個登錄界面。admin web application采用基于容器管理的安全機制,并采用了jakarta struts框架。一旦你作為“admin”角色的用戶登錄管理界面,你將能夠使用這個管理界面配置tomcat。
2.配置應用管理(manager web application) manager web application讓你通過一個比admin web application更為簡單的用戶界面,執行一些簡單的web應用任務。
然后重新啟動tomcat,訪問http://localhost/manager/list,將看到一個很樸素的文本型管理界面,或者訪問http://localhost/manager/html/list,將看到一個hmtl的管理界面。不管是哪種方式都說明你的manager web application現在已經啟動了。
基于名字的虛擬主機可以被建立在任何web服務器上,建立的方法就是通過在域名服務器(dns)上建立ip地址的別名,并且告訴web服務器把去往不同域名的請求分發到相應的網頁目錄。因為這篇文章主要是講tomcat,我們不準備介紹在各種操作系統上設置dns的方法,如果你在這方面需要幫助,請參考《dns and bind》一書,作者是paul albitz and cricket liu (o'reilly)。為了示范方便,我將使用一個靜態的主機文件,因為這是測試別名最簡單的方法。 在tomcat中使用虛擬主機,你需要設置dns或主機數據。為了測試,為本地ip設置一個ip別名就足夠了,接下來,你需要在server.xml中添加幾行內容,如下:
<!-- this host is the first "virtual host": www.example.com --> <host name="www.example.com" appbase="/home/example/webapp"> <context path="" docbase="."/> </host>
<!-- define the members-only area, by defining a "security constraint" on this application, and mapping it to the subdirectory (url) that we want to restrict. --> <security-constraint> <web-resource-collection> <web-resource-name> entire application </web-resource-name> <url-pattern>/members/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>member</role-name> </auth-constraint> </security-constraint> <!-- define the login configuration for this application --> <login-config> <auth-method>basic</auth-method> <realm-name>my club members-only area</realm-name> </login-config>
7.配置用戶定制目錄(customized user directores) 一些站點允許個別用戶在服務器上發布網頁。例如,一所大學的學院可能想給每一位學生一個公共區域,或者是一個isp希望給一些web空間給他的客戶,但這又不是虛擬主機。在這種情況下,一個典型的方法就是在用戶名前面加一個特殊字符(~),作為每位用戶的網站,比如:
10.限制特定主機訪問(restricting access to specific hosts) 有時,你可能想限制對tomcat web應用的訪問,比如,你希望只有你指定的主機或ip地址可以訪問你的應用。這樣一來,就只有那些指定的的客戶端可以訪問服務的內容了。為了實現這種效果,tomcat提供了兩個參數供你配置:remotehostvalve 和remoteaddrvalve。
通過配置這兩個參數,可以讓你過濾來自請求的主機或ip地址,并允許或拒絕哪些主機/ip。與之類似的,在apache的httpd文件里有對每個目錄的允許/拒絕指定。 例如你可以把admin web application設置成只允許本地訪問,設置如下:
作者簡介: jason brittain是collabnet公司的一名資深軟件工程師,主要負責軟件底層架構的開發。他已經為apache jakarta項目做了很多貢獻,多年以來,他一直是一名積極的開源軟件開發者。
ian f. darwin已經在計算機行業工作了30年:從1980年開始使用unix,從1995年開始使用java,從1998年開始使用openbsd。他是兩本oreilly圖書的作者:checking c programs with lint 和 java cookbook,還與jason brittain合著了tomcat: the definitive guide。