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文件.
org.cmdbuild.ws.url=http://localhost:8080/cmdbuild/
org.cmdbuild.ws.username=workflow
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,修改其中的
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
CMDBuild安装的更多相关文章
- CMDBuild安装及webservice接口的获取
近期项目组之前一直使用的OneCMDB出现了问题,在增删改数据时异常的慢.于是考虑能否够优化OneCMDB.由于本人水平有限,对OneCMDB进行代码级别的优化临时还有点难度.于是就对现有的其它开源C ...
- CMDB 调研报告
基础概念 1.什么是CMDB CMDB——配置管理数据库,通过识别.控制.维护,检查企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它流程,例如事故管理.问题管理.变更管理. ...
- CmdBuild
cmdBuild官网地址:http://www.cmdbuild.org/it 下载.功能和安装说明:http://www.cmdbuild.org/en/download 扩展组件: shark-c ...
- python通过webservice连接cmdbuild
cmdbuild的部署可以查看文章:http://20988902.blog.51cto.com/805922/1541289 部署成功后,访问http://192.168.1.1:8080/cmdb ...
- CMDBuild2.4.3安装配置
参考文档: 官网:http://www.cmdbuild.org/en 参考:http://blog.csdn.net/shawn210/article/details/70230248 本文涉及CM ...
- 关于cmdbuild
哪位大神用过cmdbuild,网上的资料非常少,而且都是关于如何安装的,就在这少只又少的文章里,居然还都是互抄的,哎!!!
- CMDBuild部署教程
一.CMDBuild简介 CMDBuild是一个通过Web界面配置的CMDB系统.可以通过Web界面来进行建模.创建资产数据库,并处理相关的工作流程.CMDBuild可用于集中管理数据库模块和外部应用 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
随机推荐
- [Android]异常5-throwable:java.lang.OutOfMemoryError: pthread_create
背景:线程初始化耗时任务 异常原因: 可能一>多个new Thread()嵌套 解决办法有: 解决一>使用Handler分离new Thread()嵌套 注: 06-30 09:12:26 ...
- Windows 10 IIS所有的html返回空白
这是一个神奇的现象.因为使用IIS已经有N多年了,喜欢使用它是因为它随手可得.自从装上windows10以来,直至今天才用它来调试客户端程序.想在上面放一个静态的json数据,省的还要去建立一个Web ...
- JS——选择水果
注意点: 1.select标签size属性显示选项数组,multiple属性可以多选 2.原select节点下的子节点在移动到其他selec标签下的时候,其原来的select标签下子节点长度在发生变化 ...
- ionic 创建某个文件下的page
ionic g page 文件名 --pagesDir src/pages/about
- 为什么阿里规约手册要求谨慎使用Arrays.asList方法
前言 在开发中,有时候会碰到把多个参数,或者说把数组转成List的需求,通常我们会使用 Arrays.asList()方法.但是该方法在使用的过程中,稍有不慎就会出现严重的异常.有如下代码: @Tes ...
- c++ map: 使用struct或者数组做value
Notice 如果是program中有两个map对象,可能你需要两个map iterator,但是注意两个iter object不能命名一样,可以分别为iter1, iter2 Example #in ...
- is_NaN的使用
原生js中使用判断某个值是否是数值,有且只有一个方法就是is_NaN. 原理:这个函数使用了Number() 去转换需要判断的值.Number() 去转换值,如果有任意非数值字符存在则就不是一个数值. ...
- Python学习【第5篇】:Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器、模块)
一.为什么要使用函数? 1.避免代码重用 2.提高代码的可读性 二.函数的定义与调用 1. def 函数名(参数1,参数2): ''' 函数注释''' print('函数体') return 返回值 ...
- 第十五节:pandas之concat()级联
Pandas 提供了concat()函数可以轻松的将Series.DataFrame对象进行合并在一起. pandas.concat(obj , axis=0 , join="inner&q ...
- 腾讯云,搭建LNMP环境
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos ...