1、配置系统管理(Admin Web Application)
(1)概述
大多数商业化的J2EE服务器都提供一个功能强大的管理界面(如Weblogic的管理控制台),且大都采用易于理解的Web应用界面。Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。
Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context、data source、user和group等。当然也可以管理像初始化参数,user、group、role的多种数据库管理等。在后续的版本中,这些功能将得到很大的扩展,但现有的功能已经非常实用了。
(2)系统管理Web应用程序
Tomcat中的Admin Web Application被定义在自动部署文件:C:\jakarta-tomcat-5.0.19\server\webapps\admin\ admin.xml 中(请见下图所示)。
(3)编辑admin.xml文件
通过编辑admin.xml文件,以确定Context中的docBase参数设置为Admin Web Application所在的目录路径(应该是绝对路径)。作为另外一种选择,你也可以删除这个自动部署文件,而在C:\jakarta-tomcat-5.0.19\conf\server.xml文件中建立一个Admin Web Application的context,效果是一样的。
你不能管理Admin Web Application这个应用,换而言之,除了删除CATALINA_BASE/webapps/admin.xml ,你可能什么都做不了。
注意:如果将其中的被注释掉的<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127.0.0.1"/>打开,将能够限制访问Admin Web Application的程序主机为本机(服务器主机);当然也可以设置为其它的主机IP地址(如设置为 Web管理员所的工作主机)。
(4)在C:\jakarta-tomcat-5.0.19\conf\ tomcat-users.xml 文件中添加系统管理员的角色和系统管理员
Tomcat中提供UserDatabaseRealm(默认),这样我们可以根据管理的需要添加不同的用户角色和与该角色相配置的用户名称和密码
l 添加用户角色
<role name="admin"/>
l 添加与该角色相配置的用户名称和密码
<user name="admin" password="12345678" roles="admin"/>
当你完成这些步骤后,请重新启动Tomcat,访问http://localhost:8080/admin,你将看到一个登录界面。Admin Web Application程序采用基于容器管理的安全机制,并采用了Jakarta Struts框架。下面是在原来的tomcat-users.xml 文件中再添加了两个角色admin和manager,同时也添加了与该两个角色相配置的用户admin和manager。
- <?xml version='1.0' encoding='utf-8'?>
- <tomcat-users>
- <role rolename="role1"/>
- <role rolename="tomcat"/>
- <role rolename="admin"/>
- <role rolename="manager"/>
- <user username="admin" password="12345678" roles="admin"/>
- <user name="manager" password="12345678" roles="manager"/>
- <user username="role1" password="tomcat" roles="role1"/>
- <user username="tomcat" password="tomcat" roles="tomcat"/>
- <user username="both" password="tomcat" roles="tomcat,role1"/>
- </tomcat-users>
(5)登录Admin Web Application程序
输入http://localhost:8080/admin/进入系统管理员的登录页,然后在页中
输入用户名称:admin
密码: 12345678
将进入系统管理的界面,在该系统管理的程序中将可以配置各种资源如Data Sources、Mail Sessions、Environment Entries,并且也可以管理Users 和Groups 以及Roles等功能。
2、配置应用管理(Manager Web Application)
(1)概述
Tomcat中所提供的Manager Web Application让你通过一个比Admin Web Application更为简单的用户界面,执行一些与Web应用任务相关的一些管理功能。
(2)Manager Web Application程序
Manager Web Application被被定义在一个自动部署文件中C:\jakarta-tomcat-5.0.19\server\webapps\manager\manager.xml 。
(3)编辑manager.xml文件
通过编辑这个文件,以确保其中的context中的docBase属性参数是C:\jakarta-tomcat-5.0.19\server\webapps\manager的绝对路径。
(4)在C:\jakarta-tomcat-5.0.19\conf\ tomcat-users.xml 文件中添加Web管理员的角色和Web管理员
l 添加用户角色
<role name=" manager "/>
l 添加与该角色相配置的用户名称和密码
<user name="manager" password="12345678" roles="manager"/>
(5)登录Web管理员的页面
l 文本型管理界面
然后重新启动Tomcat,输入http://localhost:8080/manager/,将进入看到一个很朴素的文本型管理界面
如果输入http://localhost:8080/manager/list,将进入一个登录管理界面,然后
输入用户名称:manager(前面在tomcat-users.xml中设置的)
密码:12345678
将显示出
l HTML 型管理界面
输入http://localhost:8080/manager/html/list,将出现如下的页面,然后再
输入用户名称:manager
密码:12345678
将出现Web方式的管理页面
Manager application可以让用户在没有系统管理特权的基础上,部署安装新的Web应用,以用于测试。同时也可以对所部署的Web应用程序的工作状态进行控制(Start 或者 Stop),以免重新启动服务器(这在对web.xml等配置的内容发生改变的情况下,特别有效)。当有用户尝试访问这个被停止的应用时,将看到一个503的错误——“503 - This application is not currently available”。
3、配置各种用户角色、用户组和用户
(1)添加用户角色:在 admin的界面中点击左面的Roles节点,然后在右面的下拉列表框中选择Create New Role项目。
然后输入角色的名称和描述
最后点击“保存”,将存储在C:\jakarta-tomcat-5.0.19\conf\tomcat-users.xml文件中并且在管理界面中显示出。
(2)添加用户组:在 admin的界面中点击左面的Groups节点,然后在右面的下拉列表框中选择Create New Group项目。
然后输入组的名称和描述,并且设置该组的角色。所应该注意的是,给组分配角色,则意味着该组中的各个成员(用户)将具有该角色所分配的各种权限。
最后点击“Save”以保存它(仍然放在C:\jakarta-tomcat-5.0.19\conf\tomcat-users.xml文件中)
(3)添加属于某一用户组内的用户
在 admin的界面中点击左面的Users节点,然后在右面的下拉列表框中选择Create New User项目。
然后该用户的名称同时包括全名称、密谋,并且设置该用户所属的用户组;同时也可以为该用户再设置其它的角色以使该用户除了具有用户组的通用的权利以外,还具有其他方面的权利。
下面对“teacherZhang”这个用户进行设置,同时他也是系统管理员,因此将下面的admin的角色也选中。
最后点击保存(仍然放在C:\jakarta-tomcat-5.0.19\conf\tomcat-users.xml文件中)
4、添加其它的系统资源
(1)DataSource
在 admin的界面中点击左面的DataSourcs节点,然后在右面的下拉列表框中选择Create New DataSource项目。
在各个输入的项目中根据数据库的特性进行输入。最后点击“Save”以保存。
(2)添加环境变量
在 admin的界面中点击左面的Environment Entries节点,然后在右面的下拉列表框中选择Create New Env Entry项目。
在各个输入的项目中根据数据库的特性进行输入。最后点击“Save”以保存。
5、对Web应用程序进行管理
(1)输入http://localhost:8080/manager/html/list,将出现登录页并且进行登录,然后再进入Tomcat Web Application Manager
(2)查看在Web服务中所发布的各个Web应用
(3)启动或者终止、移除某一Web应用:
点击该 Web应用右面的Stop链接,也可以点击Start再次启动它。Undeploy(移除)一个Web应用,只是指从Tomcat的运行拷贝中删除了该应用,如果你重新启动Tomcat,被删除的应用将再次出现(也就是说,移除并不是指从硬盘上删除)。
(4)部署某一Web应用
有三种方式可以在Tomcat系统中部署Web应用。
l 直接拷贝你的WAR文件或者你的Web应用文件夹(包括该Web应用的所有内容)到C:\jakarta-tomcat-5.0.19\webapps目录下。
该文件必须以“.war”作为扩展名。一旦Tomcat监听到这个文件,它将(缺省的)解开该文件包作为一个子目录,并以WAR文件的文件名作为子目录的名字。接下来,Tomcat将在内存中建立一个context,就好象你在server.xml文件里建立一样。当然,其他必需的内容,将从server.xml中的DefaultContext获得。
l 部署web应用的另一种方式是写一个Context XML片断文件,然后把该文件拷贝到C:\jakarta-tomcat-5.0.19\webapps目录下。
一个Context片断并非一个完整的XML文件,而只是一个Context元素,以及对该应用的相应描述。这种片断文件就像是从server.xml中切取出来的context元素一样,所以这种片断被命名为“context片断”。这个web应用本身可以存储在硬盘上的任何地方。
举个例子,如果我们想部署一个名叫JspExamples的Web应用,该应用使用realm作为访问控制方式,我们可以使用下面这个片断:
- <!-- Context fragment for deploying JspExamples -->
- <Context path="/JspExamples" docBase="JspExamples" debug="0" reloadable="true">
- <RealmclassNameRealmclassName="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
- </Context>
把该片断命名为“JspExamples.xml”,然后拷贝到C:\jakarta-tomcat-5.0.19\webapps目录下。这种Context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的Web应用时不需要重启动Tomcat。