JBoss的配置
一 配置变量
首先,要安装JDK,配置JAVA_HOME环境变量
其次,将下载的JBoss解压,即完成安装。(解压目录最好不要有空格,否则运行容易出现异常)
然后,配置JBOSS_HOME环境变量,值为JBoss的解压路径
最后,可以运行%JBOSS_HOME%\bin\目录中的run.bat运行JBoss;地址栏输入http://localhost:8080/会进入JBoss的欢迎界面
二 目录结构说明
目录 描述
bin 包含启动和关闭JBoss等脚本文件。
docs 配置的样本文件(包括数据库配置等)。
docs/dtd 在JBoss中使用的各种XML文件的DTD文档。
lib 一些JAR,JBoss启动时加载,且被所有JBoss配置共享。
client客户端与JBoss通信所需的Java库(JARs)。
server各种JBoss配置。每个配置必须放在不同的子目录。子目录名字表示配置名字。JBoss包含3个默认的配置:minimial,default,all。在安装时可以进行选择。
server/default/confJBoss的配置文件。
server/default/dataJBoss的数据库文件。比如,嵌入的数据库或者JBossMQ。
server/default/deploy JBoss的热部署目录。放到这里的任何文件或目录会被JBoss自动部署。包括EJB,WAR,EAR甚至服务。
server/default/lib一些JAR,JBoss在启动特定配置时加载它们。
server/default/logJBoss的日志文件。
server/default/tmpJBoss的临时文件。
三 JBoss的配置
1 web服务端口号的修改
这点在前文中有所提及,即修改JBoss安装目录"server"default"deploy"jboss-web.deployer下的server.xml文件,内容如下:
- < Connector port="8080" address="${jboss.bind.address}" maxThreads="250"
- maxHttpHeaderSize="8192" emptySessionPath="true" protocol="HTTP/1.1"
- enableLookups="false" redirectPort="8443" acceptCount="100"
- connectionTimeout="20000" disableUploadTimeout="true" />
将上面的8080端口修改为你想要的端口即可。重新启动JBoss后访问:http://localhost/:新设置的端口,可看到JBoss的欢迎界面。
2 JBoss的安全设置
(1)jmx-console登陆的用户名和密码设置
在%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>
在同目录下web.xml,查找< security-constraint/>节点,修改为:
- < security-constraint>
- < web-resource-collection>
- < web-resource-name>HtmlAdaptor< /web-resource-name>
- < description>An example security config that only allows user 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>
在jmx-console安全域和运行角色JBossAdmin都是在login-config.xml中配置,在%JBOSS_HOME%/server/default/conf下找到它,查找application-policy name = "jmx-console",修改为
- < 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>
在此处可以看出,登录的角色、用户等的信息分别在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中设置,分别打开这两个文件。
其中jmx-console-users.properties文件的内容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
该文件定义的格式为:用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,读者可将其改成所需的用户名和密码。
jmx-console-roles.properties的内容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin, HttpInvoker
该文件定义的格式为:用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。
配置完成后读者可以通过访问: http://localhost:8088/jmx-console/ ,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。
(2)web-console登陆的用户名和密码设置
找到%JBOSS_HOME%/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF下的jboss-web.xml文件,去掉< security-domain>java:/jaas/web-console< /security-domain>的注释。
在同目录下的web.xml文件中去掉< security-constraint>部分的注释。
在%JBOSS_HOME%/server/default/conf下的login-config.xml文件中查找application-policy name = "web-console"
在文件中可以看到,设置登录web-console的用户名和角色等信息分别在login-config.xml文件所在目录下的web-console-users.properties和web-console- roles.properties文件中,但因为该目录下无这两个文件,我们在JBoss安装目录"server"default"conf"props目录下建立这两个文件,文件内容可参考在“jmx-console登录的用户名和密码设置”中的两个相应的配置文件的内容。
web-console-users.properties文件的内容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
web-console-roles.properties文件的内容如下:
admin=JBossAdmin,HttpInvoker
因为此时这两个文件不与login-config.xml同目录,所以login-config.xml文件需进行少许修改
- < module-option name="usersProperties">props/web-console-users.properties
- < /module-option>
- < module-option name="rolesProperties">props/web-console-roles.properties
- < /module-option>
JBoss的配置这样就完成了