CMDBuild安装
近日来,老板要在内部部署一套IT资产管理系统,要笔者去调研一下,测试了GLPI、OCSNG(没记错吧)和CMDBuild之后,发现还是CMDBuild的功能较为强大,虽然暂时不具备SNMP之类的工具,但是据说可以利用OCSNG来进行导入。并且,Cmdbuild对于数据的管控更加灵活,同时还兼具了Workflow的功能。简要而言,CMDBuild的优点有:
- 界面美观,AJAX让人操作十分便捷(毕竟是采用了ExtJS作为支持)
- 数据格式自由定制(在GLPI中,资产的数据格式都已经定义好了,用户很难修改)
- 支持多种开源标准(XPDL)
- 可以自定义Workflow,便于ITIL
- 有专门的团队在进行不断的维护,目前最新的版本是2013年12月发布的2.1.6
- 文档完整
本文将主要介绍一下CMDB(2.1.6)的安装过程以及笔者在安装过程中遇到的一些问题及解决方案。
1.安装环境:
对于安装环境的介绍,CMDB的安装手册上有详细的说明,在此也简单的介绍一下:
硬件环境:
- CPU一般即可
- 内存最小为4G
- 最小存储空间为60G(不过我建了一个50G的虚拟机也没问题...)
软件要求:
- 操作系统:最好是Linux
- 数据库:PostgreSQL 8.4以后,9.0更好
- Web服务器(容器):Tomcat6(7以后的版本未必支持,因为CMDB提供的库只有Tomcat 5和Tomcat 6两个版本,其他的没有尝试,如果有同学做了小白鼠的话,记得告诉我一下啊~~~)
- Alfresco:一套文档管理系统,还没来得及尝试...
- Java运行环境:这个不用说了吧,CMDB本身就是用JSP开发的,目前好像只支持1.6
- GIS 地理信息系统我没有用,所以也没看这一部分,如果以后有需求再给大家讲讲吧
2.安装过程:
2.1 安装CMDBuild
- 从CMDB的官网上(http://www.cmdbuild.org/en/download)下载CDMBuild的压缩包(cmdbuild-2.1.6.zip文件),并解压缩(废话),解压之后里面有一个war文件和一个extras文件夹(当然里面还有些版权之类的,基本可以无视)
图1
- 将war文件( CMDBuild-{版本号}.war)拷贝到Tomcat的webapps文件夹下,将其重命名为cmdbuild.war
- 将extras下的CMDBuild-shark文件夹拷贝到webapps下
- 将extras下的tomcat-libs文件夹中的所有文件拷贝到Tomcat的lib文件夹下
- 在客户端的浏览器中输入http://{server address}:{port num}/cmdbuild
- 按照提示一步一步的配置即可使用了
- 注意的是PostgreSQL的默认端口号是5432,选择Demo是一个不错的选择,里面已经为我们设置好一些IT资产类和类之间的关系描述了。选择配置一个shark scheme,如果此时使用admin/admin登陆,会发现在主页面提示Class RequestForChange non Found(如果没有提示...当我没说好了~~~)。怎么办呢?这就需要安装Shark Server
2.2 安装Shark Server
- 下载shark-cmdbuild-2.1.6.zip(如果不下载将无法使用Workflow功能),并解压缩。
- 将其中的war文件重命名为shark-cmdbuild-server.war,并拷贝到tomcat的webapps文件夹下
- 重启Tomcat,在客户端输入http://{server address}:{port num}/shark-cmdbuild-server,此时服务器端Tomcat的Webapps文件夹下会出现文件夹shark-cmdbuild-server,修改其中conf中的Shark.conf文件.
1 org.cmdbuild.ws.url=http://localhost:8080/cmdbuild/ 2 org.cmdbuild.ws.username=workflow 3 org.cmdbuild.ws.password=changeme
其中org.cmdbuild.ws.url是cmdbuild的网址,urser是cmdbuild中具有超级用户权限的一个用户名,如果在安装Cmdbuild时选择了demo,那么这个用户是默认的,只需要在CMDBuild中为其设置一个新的口令,并将其拷贝到org.cmdbuild.ws.password的对应值上。
- 打开shark-cmdbuild-server/META-INF/context.xml,修改其中的
1 url="jdbc:postgresql://localhost/${cmdbuild}"
其中${cmdbuild}是数据库的名字,在安装CMDBuild时确定。当安装CMDBuild如图2所示时,应将${cmdbuild}替换为cmdbuild
图2
- 对于shark-cmdbuild-server/WEB-INF/conf/auth.conf文件中的相关注释:
serviceusers.prigileged=workflow
- 删除Tomcat下logs、tmp、work/Catalina中的所有文件,并删除{Tomcat}/conf下的对应配置文件(记不太清了,现在不在生产环境中,筒子们自己看看吧,很好找的)
- 重启Tomcat
- 最后,在CMDBuild中管理模块中,启用Workflow,并设置workflow的路径,即http://localhost:8080/shark-cmdbuild-server,用户名和密码就是前面设置过的
2.3 其他问题
如果这时候一切OK,自然是好事,但是往往天不遂人愿啊,在登陆CMDBuild后,还是会发现提示错误,打开详细信息,会提示"****************"。其实这是由于CMDBuild的Demo安装过程中,没有执行一些必备的SQL,只需要到Tomcat/webapps/cmdbuild/META-INF下找到*.SQL文本执行即可。(*****是实在想不起来了,等周一上班了再给大家补上~~~~周末愉快哦~~~)
之后还会给大家献上鄙人的CMDBuild不完全汉化版~~~~嘻嘻~~~~~~~会慢慢完善的哦~~~~~
转载请注明出处:http://www.cnblogs.com/supakito/p/cmdbuild_install.html