[转]Jboss 4 使用及安全配置

一、JBoss的安装 与配置

1、到http://www.jboss.org/ 下载jboss服务器 JBoss-4.2.3

2、 配置JBOSS_HOME, JDK环境变量

3、Windows用户 运行 JBoss 目录下的 bin/run.bat , Linux 用户运行 ./run.sh  

   如果控制台窗口中没有出现异常,  并出现类似:

18:21:08,281 INFO [Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 15s:891ms

则表示安装成功。 

        如果安装失败,很可能是JBoss所用的端口(8080,1099,1098,8083等)被占用。一般情况下为8080端口被占用(例如,Oracle占用了8080端口),此时需要修改JBoss的端口。方法为打开$JBOSS_HOME/server/JBoss/deploy/jboss-web.deploye/server.xml文件,在此文件中搜索8080,将其改成你想要的端口即可(例如9090).

4、访问 http://localhost:8080/, 进入JBoss的欢迎界面,点击JBoss Management下的JMX Console可进入JBoss的部署管理界面

二、JBoss 的目录结构说明

    bin:  启动和关闭 JBoss 的脚本 

    client: 客户端与 JBoss 通信所需的 Java 库 。

    docs: 配置的样本文件(数据库配置等)。

    docs/dtd: 在 JBoss 中使用的各种 XML 文件的 DTD 。

    lib: 一些 JAR , JBoss 启动时加载,且被所有 JBoss 配置共享。 

    server: 各种 JBoss 配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。 JBoss 包含 3 个默认的配置: minimal , default 和 all。 启动jboss的时候可以通过参数-c 指定, 比如你想使用all配置, 则启动jboss的时候使用命令 run.sh -c all

    server/minimal             jboss的精简配置. 

    server/all:                   JBoss 的完全配置,启动所有服务,包括集群和 IIOP 。

    server/default:             JBoss 的默认配置。 jboss启动时使用的默认配置

    server/default/conf:      JBoss 的配置文件。

    server/default/data:      JBoss 的数据库文件。比如,嵌入的数据库,或者 JBossMQ

    server/default/deploy:    JBoss 的热部署目录。放到这里的任何文件或目录会被 JBoss 自动部署。 

    server/default/lib:          一些 JAR , JBoss 在启动特定配置时加载他们。 (default 和 minimial 配置也包含这个和下面两个目录。 ) 

    server/default/log:        JBoss 的日志文件。

    server/default/tmp:        JBoss 的临时文件。

三、jmx-console登录的用户名和密码设置 

        默认情况访问 http://localhost:8080/jmx-console 就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。步骤如下:

1、 打开$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉<security-domain>java:/jaas/jmx-console</security-domain>的注释。

2、打开$JBOSS_HOME/server/default/deploy/jmx-console.war/WEB-INF/web.xml文件,查找到<security-constraint/>节点,去掉它的注释。

PS: 在第一步中的安全域(security-domain)和第二步中的运行角色(role-name)都是在$JBOSS_HOME/server/default/conf/login-config.xml中的jmx-console的application-policy中配置

3、 修改$JBOSS_HOME/server/default/conf/props/jmx-console-users.properties 的内容如,格式为 

用户名=密码

4、 修改$JBOSS_HOME/server/default/conf/props/jmx-console-roles.properties 的内容如, 格式为

用户名=角色1[, 角色2, ... , 角色n]

该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。

四、web-console 登录的用户名和密码设置

        默认情况下,用户访问JBoss的web-console时,不需要输入用户名和密码,为了安全起见,我们通过修改配置来为其加上用户名和密码。配置web-console的用户名和密码和配置jmx-console的步骤类似, 简述如下: 

1. 打开$JBOSS_HOME/server/deploy/default/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,

  去掉<security-domain>java:/jaas/web-console</security-domain>的注释。

2. 打开$JBOSS_HOME/server/deploy/default/management/console-mgr.sar/web-console.war/WEB-INF/web.xml文件,去掉<security-constraint>部分的注释.

PS: 在第一步中的安全域(security-domain)和第二步中的运行角色(role-name)都是在$JBOSS_HOME/server/default/conf/login-config.xml中的web-console的application-policy中配置

3、 修改$JBOSS_HOME/server/default/conf/web-console-users.properties 的内容如,格式为 

用户名=密码

4、 修改$JBOSS_HOME/server/default/conf/web-console-roles.properties 的内容如, 格式为

用户名=角色1[, 角色2, ... , 角色n]

 

五、解决用IP不能访问 

 在启动时用run.bat -b ip就可以了(windows)

 在启动时用run.sh -b ip就可以了(linux)

你可能感兴趣的:(java,jboss)