JBoss的配置
一 配置變量
首先,要安裝JDK,配置JAVA_HOME環(huán)境變量
其次,將下載的JBoss解壓,即完成安裝。(解壓目錄最好不要有空格,否則運(yùn)行容易出現(xiàn)異常)
然后,配置JBOSS_HOME環(huán)境變量,值為JBoss的解壓路徑
最后,可以運(yùn)行%JBOSS_HOME%\bin\目錄中的run.bat運(yùn)行JBoss;地址欄輸入http://localhost:8080/會(huì)進(jìn)入JBoss的歡迎界面
二 目錄結(jié)構(gòu)說明
目錄 描述
bin 包含啟動(dòng)和關(guān)閉JBoss等腳本文件。
docs 配置的樣本文件(包括數(shù)據(jù)庫配置等)。
docs/dtd 在JBoss中使用的各種XML文件的DTD文檔。
lib 一些JAR,JBoss啟動(dòng)時(shí)加載,且被所有JBoss配置共享。
client客戶端與JBoss通信所需的Java庫(JARs)。
server各種JBoss配置。每個(gè)配置必須放在不同的子目錄。子目錄名字表示配置名字。JBoss包含3個(gè)默認(rèn)的配置:minimial,default,all。在安裝時(shí)可以進(jìn)行選擇。
server/default/confJBoss的配置文件。
server/default/dataJBoss的數(shù)據(jù)庫文件。比如,嵌入的數(shù)據(jù)庫或者JBossMQ。
server/default/deploy JBoss的熱部署目錄。放到這里的任何文件或目錄會(huì)被JBoss自動(dòng)部署。包括EJB,WAR,EAR甚至服務(wù)。
server/default/lib一些JAR,JBoss在啟動(dòng)特定配置時(shí)加載它們。
server/default/logJBoss的日志文件。
server/default/tmpJBoss的臨時(shí)文件。
三 JBoss的配置
1 web服務(wù)端口號(hào)的修改
這點(diǎn)在前文中有所提及,即修改JBoss安裝目錄"server"default"deploy"jboss-web.deployer下的server.xml文件,內(nèi)容如下:
- < 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端口修改為你想要的端口即可。重新啟動(dòng)JBoss后訪問:http://localhost/:新設(shè)置的端口,可看到JBoss的歡迎界面。
2 JBoss的安全設(shè)置
(1)jmx-console登陸的用戶名和密碼設(shè)置
在%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/>節(jié)點(diǎn),修改為:
- < 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安全域和運(yùn)行角色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文件中設(shè)置,分別打開這兩個(gè)文件。
其中jmx-console-users.properties文件的內(nèi)容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
該文件定義的格式為:用戶名=密碼,在該文件中,默認(rèn)定義了一個(gè)用戶名為admin,密碼也為admin的用戶,讀者可將其改成所需的用戶名和密碼。
jmx-console-roles.properties的內(nèi)容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin, HttpInvoker
該文件定義的格式為:用戶名=角色,多個(gè)角色以“,”隔開,該文件默認(rèn)為admin用戶定義了JBossAdmin和HttpInvoker這兩個(gè)角色。
配置完成后讀者可以通過訪問: http://localhost:8088/jmx-console/ ,輸入jmx-console-roles.properties文件中定義的用戶名和密碼,訪問jmx-console的頁面。
(2)web-console登陸的用戶名和密碼設(shè)置
找到%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"
在文件中可以看到,設(shè)置登錄web-console的用戶名和角色等信息分別在login-config.xml文件所在目錄下的web-console-users.properties和web-console- roles.properties文件中,但因?yàn)樵撃夸浵聼o這兩個(gè)文件,我們?cè)贘Boss安裝目錄"server"default"conf"props目錄下建立這兩個(gè)文件,文件內(nèi)容可參考在“jmx-console登錄的用戶名和密碼設(shè)置”中的兩個(gè)相應(yīng)的配置文件的內(nèi)容。
web-console-users.properties文件的內(nèi)容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
web-console-roles.properties文件的內(nèi)容如下:
admin=JBossAdmin,HttpInvoker
因?yàn)榇藭r(shí)這兩個(gè)文件不與login-config.xml同目錄,所以login-config.xml文件需進(jìn)行少許修改
- < module-option name="usersProperties">props/web-console-users.properties
- < /module-option>
- < module-option name="rolesProperties">props/web-console-roles.properties
- < /module-option>
JBoss的配置這樣就完成了。
【編輯推薦】