声明:本文在windows XP测试环境中安装openCRX,并非正式的安装文档,如有疑问请参考正式文档。
1.首先去http://www.opencrx.org/documents.htm下载openCRX1.4相应的文档:
1.1第一个文档是数据库安装文档:我们用MySQL,所以下载openCRX Installation Guide for MySQL v4.1;
1.2第二个文档是针对特定应用服务器的安装文档:我们用JBoss,所以下载openCRX Installation Guide for JBoss 3.2.x;
1.3第三个文档是openCRX的初始设置和快速定制指南:openCRX Installation and Quick Start Guide;
1.4第四个文档是基本界面定制指南:openCRX Basic UI Customization;
1.5第五个文档是本地化指南:openCRX Language Localization Guide;
1.6第六个文档是安全指南:openCRX Security Guide。
2.数据库安装:
2.1打开1.1步下载的openCRX_Installation_MySQL-4.pdf;
2.2去http://sourceforge.net/project/showfiles.php?group_id=95219下载openCRX for MySQL;
2.3去http://dev.mysql.com/downloads/mysql/4.1.html下载MySQL Database Server;
2.4去http://dev.mysql.com/downloads/connector/j/3.1.html下载MySQL Connector/J,文档提示要注意安装且仅仅安装一个正确的JDBC驱动;
2.5安装MySQL;
2.6创建数据库crx-crx;
2.7创建数据库用户crx-crx,然后赋予此用户对crx-crx库的相应权限(图省事,我给了他全部权限:-));
2.8解压缩2.2步下载的openCRX,在解压后的opencrx-1.4.0source-archivecore目录中找到opencrx-core.mysql-4-sql.zip文件,再解压,里面有一些SQL脚本;
2.9执行dbcreate-tables.sql脚本建表,然后执行dbcreate-indexes.sql建索引(在MySQL上好像不能建视图,所以
dbcreate-views.sql脚本不能运行,不过以后装openCRX没发现问题);
2.10至此数据库安装结束。
3.openCRX安装:
3.1打开1.2步下载的openCRX_Installation_JBoss-3.pdf;
3.2去http://www.jboss.org/downloads/index下载JBoxx3.2.6;
3.3去http://sourceforge.net/project/showfiles.php?group_id=75132下载openMDX,这是一个模型驱动框架(MDA);
3.4去http://sourceforge.net/project/showfiles.php?group_id=95219下载openCRX;
3.5如果没装JDK,请到http://www.java.com/en/download/manual.jsp下载相应版本的JDK,安装JDK之后要设置好环境变量JAVA_HOME;
3.6安装JBoss,把JBoss解压缩到适当目录,然后设置好JBOSS_HOME环境变量,启动一下JBoss,检查一下是否正常;
3.7拷贝文件:
3.7.1解压缩3.2步下载的openMDX,在解开的openmdx-1.6.2jre-1.3corelib目录中找到openmdx-kernel.jar文件,将其copy到%JBOSS_HOME%/server/default/lib中,文档提示,如果你从openCRX的早先版本升级到1.4,请删除%JBOSS_HOME%/server/default/lib目录中的openmdx-base.jar文件;
3.7.2解压缩2.4步下载的mysql-connector-java-3.1.6.zip文件,找到mysql-connector-java-3.1.6-bin.jar文件,将其copy到%JBOSS_HOME%/server/default/lib中;
3.7.3解压缩3.4步下载的opencrx-1.4.0-core.CRX.jre-1.4.zip文件,在解开的opencrx-1.4.0jre-1.4
coredeployment-unitCRX目录中找到opencrx-core-CRX-App.ear,opencrx-core-CRX-web.ear,opencrx-core-CRX-Root-web.ear三个文件,copy到%JBOSS_HOME%/server/default/deploy目录;
3.7.4在3.7.3步解开的opencrx-1.4.0source-archivecore目录中找到opencrx-core.jboss-3-connector.zip文件,将其解压,从里面将jdbc-opencrx-CRX-mysql-ds.xml拷贝到%JBOSS_HOME%/server/default/deploy;
3.7.5用文本编辑器打开3.7.4步copy的jdbc-opencrx-CRX-mysql-ds.xml文件,把里面对应数据库名称,连接用户名和密码的三项按照实际情况修改;
3.7.6在%JBOSS_HOME%/server/default/目录中创建server.log.properties文件,用文本编辑器打开,输入以下内容:
ApplicationId = openCRX
LogFileExtension = log
LogFilePath = D:/pgm/jboss-3.2.5/server/default/log/
LogLevel = warning
java.LoggingMechanism = SharedDatedFileLoggingMechanism
注意其中LogFilePath的值要按你的JBoss安装路径调整;
3.7.7进入%JBOSS_HOME%/bin目录,备份run.bat文件,然后用文本编辑器打run.bat文件,找到“rem Sun JVM memory allocation pool parameters. Uncomment and modify as appropriate.”一行,在其后写入:
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
rem Setup openMDX-specific properties
set JAVA_OPTS=%JAVA_OPTS% -Dorg.openmdx.compatibility.base.application.j2ee.domain=apps
set JAVA_OPTS=%JAVA_OPTS% -Dorg.openmdx.compatibility.base.application.j2ee.server=server1
set JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.openmdx.kernel.url.protocol
set JAVA_OPTS=%JAVA_OPTS% -Dorg.openmdx.log.config.filename=D:pgmjboss-3.2.5
serverdefaultserver.log.properties
注意以上每个set占据单独一行,注意把D:pgmjboss-3.2.5换成你安装JBoss的路径;
3.8安全设置:安全认证有两种方式:一种是基于文件的,一种是基于数据库的:
3.8.1基于文件的:
3.8.1.1在%JBOSS_HOME%/server/default/conf目录中编辑login_config.xml文件,加入以下两个应用策略:
第一个是root策略:
<application-policy name = "opencrx-core-CRX-Root">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag =
"required" >
<module-option name="usersProperties">openCRX.users.properties</module-option>
<module-option name="rolesProperties">openCRX.roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
第二个是standard策略:
<application-policy name = "opencrx-core-CRX">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag =
"required" >
<module-option name="usersProperties">openCRX.users.properties</module-option>
<module-option name="rolesProperties">openCRX.roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
3.8.1.2在%JBOSS_HOME%/server/default/conf目录中创建openCRX.users.properties文件,录入以下内容:
admin-Root=rootSecret
admin-Standard=adminSecret
guest=guest
3.8.1.3在%JBOSS_HOME%/server/default/conf目录中创建openCRX.roles.properties文件,录入以下内容:
admin-Root.Roles=OpenCrxRoot
admin-Standard.Roles=OpenCrxAdministrator
guest.Roles=OpenCrxUser
3.8.2基于数据库的:略
3.9启动JBoss,如有错误信息请仔细检查以上步骤。
4.openCRX配置:
4.1打开1.3步下载的openCRX_QuickStart.pdf;
4.2初始设置:
4.2.1访问http://localhost:8080/opencrx-core-CRX-Root/Login,如果看不到登陆界面,请检查JBoss配置和部署文件;
4.2.2用帐户:admin-Root,密码:rootSecret登陆,此帐户密码在3.8.1.2步的openCRX.users.properties文件中设置,如果登陆长时间没反应,JBoss控制台抱错,请检查3.7.5步的数据库配置文件jdbc-opencrx-CRX-mysql-ds.xml;
4.2.3如果是从一个空数据库开始安装的,现在请重新启动JBoss,并用admin-Root再次登陆;
4.2.4在左侧菜单选择Security Realms,然后点击“>”,然后选择Default,会列出现在的规则;
4.2.5单击左侧菜单的Codes,然后点击“>”,再点击[Set Access Level]按钮,按如下值进行设置:
Browse access level:global
Update access level:basic
Delete access level:basic
Mode :recursive
设置好后点击OK保存;
4.2.6单击左侧菜单的UOMs,然后点击“>”,再点击[Set Access Level]按钮,按如下值进行设置:
Browse access level:global
Update access level:basic
Delete access level:basic
Mode :recursive
设置好后点击OK保存;
4.2.7初始设置完成;
4.3创建新的数据段(data Segment):
4.3.1点击左侧菜单的openCRX Administration,然后点击Create Administrator按钮,Realm name设为Default,Segment name设为:Standard,密码用一个*,OK;
4.3.2然后打开Security Realms,点击“>”,进入Default,检验admin-Standard规则是否已建立;
4.3.3接下来,打开一个新的浏览器窗口,访问http://localhost:8080/opencrx-core-CRX/Login;
4.3.4用admin-Standard帐户,adminSecret密码登陆,此帐户密码在3.8.1.2步的openCRX.users.properties文件中设置;
4.3.5在第一次用admin-Standard登陆之后,请登出然后再次登陆;
4.3.6起始管理员界面没有任何表格,你可以点击Refresh按钮激活表格(如果没做4.3.5步,Refresh不起作用);
4.3.7检查Security Users / Groups是否包含以下内容:
Standard/admin-Standard
Standard/Administrators
Standard/Unassigned
Standard/Users
缺省的用户和组是在4.3.1步建立的;
4.3.8创建数据段完成;
4.4创建用户:创建用户有两步:以Root身份创建一个新的规则,再以段管理员身份创建新用户:
4.4.1以Root身份登陆http://localhost:8080/opencrx-core-CRX-Root/Login
4.4.2点击Security Realms菜单,点击“>”,进入Default,然后点击Principal按钮,仅在qualifier域填入规则名称,例如guest,其他域留空;
4.4.3在能以guest身份登陆之前,必须把guest加入openCRX.users.properties文件;
4.4.4把刚创建的规则纳入规则组:进入新创建的规则,点击搜索放大镜,在弹出的窗口中选择Users,选完后探出窗口自动
消失,同时Users自动填好了;
4.4.5点击[+]按钮,Users自动出现在下方组列表中;
4.4.6以Administrator身份登陆http://localhost:8080/opencrx-core-CRX/Login;
4.4.7点击Accounts,为guest创建一个新的联系,至少要输入first name和last name两个域,我们输入guest和openCRX,然后Save;
4.4.8接下来点击User Homepages,然后点击Create User按钮,按以下内容输入:
User Id: guest
Realm name: Default
Principal name: guest
Contact: guest openCRX
Primary user group: StandardUsers
Initial password: *
Password again: *
4.4.9点击OK创建新用户;
4.4.10你可以用Root身份检查新用户是否创建成功,以Root身份登陆,点击“Security Realms” “>” “Default”,能看到新建的用户;
4.4.11以新创建的guest用户身份登陆http://localhost:8080/opencrx-core-CRX/Login;
4.4.12新用户第一次登陆成功必须登出然后再次登陆;
4.5至此基本完成了openCRX的安装