近日來,老板要在內部部署一套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