JBoss必须修改文件解释

<!-- Root decorator: all decisions about how a page is to be decorated via the inline decoration begins here. --><!-- Switch based upon the context. However, for now, just delegate to a decorator identified directly by the context. --> <script></script>
一,需修改的jboss conf文件列表
文件
修改描述
$JBOSS_SERVER_HOME/deploy/oracle-ds.xml oracle数据源配置见内容五
$JBOSS_SERVER_HOME/conf/login-config.xml 修改认证配置,包含jmx-console登录验证,web-console登录验证,数据库连接验证 等等
$JBOSS_SERVER_HOME/conf/jboss-service.xml jboss的核心服务配置(MBean服务),包括日志、安全性、JNDI等,我们主要修改了服务组件的端口配置,如:NamingService(Port,RmiPort),WebService(port),PooledInvoker(ServerBindPort)
$JBOSS_SERVER_HOME/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 修改该文件解决log4j与jboss的冲突 详细描述见下文 解决log4j与jboss的冲突
$JBOSS_SERVER_HOME/conf/props/jmx-console-users.properties 定义了JMX console jbooss的登录用户名、密码
$JBOSS_SERVER_HOME/deploy/jmx-console.war/WEB-INF/jboss-web.xml JMX Console jboss 安全配置 详细描述见下文Jboss 安全配置
$JBOSS_SERVER_HOME/deploy/jmx-console.war/WEB-INF/web.xml JMX Console jboss 安全配置 详细描述见下文Jboss 安全配置
$JBOSS_SERVER_HOME/deploy/jbossweb-tomcat55.sar/conf/web.xml 为了不在http header暴露jboss(X-Powered-By)相关版本信息,在该文件中 注释了CommonHeadersFilter
$JBOSS_SERVER_HOME/deploy/jbossweb-tomcat55.sar/server.xml 在该文件中可以修改JBoss HTTP连接端口和JBoss AJP所监听的端口

二,JBoss的安全配置

由于jboss默认情况下已经配置了以下服务:

JMX Console jboss
Web Console

为了安全起见,需要对用户进行授权访问。默认情况下, 无需授权可以访问。

1,JMX Console jboss 安全配置

    A)找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,根据说明,去掉注释。如下:

<jboss-web>
   <security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>

  B)找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/web.xml,找到security-constraint节点,根据说明,取消注释。 如下:

 <security-constraint>
        <web-resource-collection>
            <web-resource-name>HtmlAdaptor</web-resource-name>
            <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>JBossAdmin</role-name>
        </auth-constraint>
</security-constraint>

C)在A步骤中的jmx-console安全域和B步骤中的运行角色JBossAdmin都是在login-config.xml中配置,在%JBOSS_HOME%/server/default/conf/login-config.xml中可以找到以下配置:

<application-policy name = "jmx-console">
       <authentication>
          <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
             flag = "required">
           <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
           <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
          </login-module>
       </authentication>
 </application-policy>

    文件%JBOSS_SERVER_HOME%/conf/props/jmx-console-users.properties定义了用户名、密码;%JBOSS_SERVER_HOME%/conf/props/jmx-  console-roles.properties定义了用户所属角色。

2,WEB-CONSOLE的安全配置

A) 找到%JBOSS_SERVER_HOME%/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,根据说明,去掉注释。如下:

<jboss-web>
   <security-domain>java:/jaas/web-console</security-domain>
   <depends>jboss.admin:service=PluginManager</depends>
</jboss-web>

B) 与jboss-web.xml同级目录下还有一个文件web.xml,找到其中的<security-constraint></security-constraint>节点,根据说明,取消注释。

<security-constraint>
        <web-resource-collection>
            <web-resource-name>HtmlAdaptor</web-resource-name>
            <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>JBossAdmin</role-name>
        </auth-constraint>
 </security-constraint>

C)在A步骤中的web-console安全域和B步骤中的运行角色JBossAdmin都是在login-config.xml中配置,在%JBOSS_HOME%/server/default/conf/login-config.xml中可以找到以下配置:

<application-policy name = "web-console">
       <authentication>
          <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
             flag = "required">
             <module-option name="usersProperties">web-console-users.properties</module-option>
             <module-option name="rolesProperties">web-console-roles.properties</module-option>
          </login-module>
       </authentication>
  </application-policy>

在%JBOSS_SERVER_HOME%/deploy/ management/console-mgr.sar/web-console.war/目录的classes文件夹下找到web-console- users.properties和web-console-roles.properties两个文件分别定义用户密码以及角色.

三,解决log4j与jboss的冲突

在使用JBoss时,经常碰到一些冲突,如自己配置的log4j文件无效,系统抛出 org.jboss.logging.util.OnlyOnceErrorHandlerobject is not assignable to a org.apache.log4j.spi.ErrorHandler variable异常等.
解决jboss和log4j冲突的配置如下:
A)找到%jboss_server_home%/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml文件,修改如下:

<attribute name="Java2ClassLoadingCompliance">false</attribute>
<attribute name="UseJBossWebLoader">true</attribute>

在webapp(你的web应用)里log4j的配置文件采用xml形式,并命名为log4j.xml,同时在webapp的lib里需要包含log4j相关的jar包,通过这样的配置后,webapp的log4j和jboss的log4j将相互隔离互不影响。
注:关于JBoss启动和ClassLoader模型的关系 可以参见:http://blog.csdn.net/youfly/archive/2009/02/12/3884081.aspx

四,端口配置

1,JBoss 将Tomcat 作为其默认Web容器,在$JBOSS_SERVER_HOME/deploy/jbossweb-tomcat55.sar/server.xml找到该文件,内容如下:
设置HTTP连接端口:

<Connector port="${yourapp_jboss_port}" address="${jboss.bind.address}" maxThreads="250" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" URIEncoding="GBK" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/>

JBoss AJP所监听的端口配置:

<Connector port="${ajp_port}" address="${jboss.bind.address}" backlog="256" maxThreads="250" emptySessionPath="true" enableLookups="false" connectionTimeout="600000" disableUploadTimeout="true" protocol="AJP/1.3" URIEncoding="GBK"/>

五,数据源配置

1,$JBOSS_SERVER_HOME/deploy/oracle-ds.xml

oracle JNDI数据源配置

数据库登录用户名 需要在login-config.xml进行配置

注:数据源配置文件的后缀为-ds.xml,如果 是HSQL数据库 对应的就是$JBOSS_SERVER_HOME/deploy/hsqldb-ds.xml,等

为将oracle JDBC驱动供JBoss使用,用户需要将oracle驱动拷贝到default服务器配置中的lib目录。

六,附录

 附带一个目录结构表

目录 描述
bin 启动和关闭 JBoss 的脚本( run.bat 为 windows 系统下的启动脚本, shutdown.bat 为 windows 系统下的关闭脚本)。
client 客户端与 JBoss 通信所需的 Java 库( JARs )。
docs
配置的样本文件(数据库配置等)。
docs/dtd
在 JBoss 中使用的各种 XML 文件的 DTD
lib 一些 JAR , JBoss 启动时加载,且被所有 JBoss 配置共享。(不要把你的库放在这里)
server 各种 JBoss 配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。 JBoss 包含 3 个默认的配置: minimial , default 和 all ,在你安装时可以进行选择。
server/all JBoss 的完全配置,启动所有服务,包括集群和 IIOP 。
server/default JBoss 的默认配置。在没有在 JBoss 命令行中指定配置名称时使用。 
server/default/conf JBoss 的配置文件。
server/default/data JBoss 的数据库文件。比如,嵌入的数据库,或者 JBossMQ
server/default /deploy JBoss 的部署目录。放到这里的任何文件或目录会被 JBoss 自动部署。 EJB 、 WAR 、 EAR ,甚至服务。
server/default /lib 一些 JAR , JBoss 在启动特定配置时加载他们。 (default 和 minimial 配置也包含这个和下面两个目录。 ) 
server/default/log
JBoss 的日志文件。
server/default/tmp
JBoss 的临时文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值