最近想找一款資產管理系統來整理公司的資產,在不使用太多資源的情況下還是以開源軟體為主,在 Linux 上可以採用 GLPI + OCSNG 來建置
首先先了解 GLPI 跟 OCSNG 這兩套的用途,以及為何要整合的理由
其實 GLPI + OCSNG 就像是 Nagios + Cacti 有相輔相成的功效
GLPI 是一套較多數台灣人使用的資產管理系統,其原因是他有完整的中文化界面,以及詳細的管理介面,但無法主動收集到 Client 的 PC 資料。
而 OCSNG 就是彌補 GLPI 無法收集使用者端資料的缺憾,OCSNG 可以透過 OCSNG agent 將資料主動拋給 OCSNG Server
而 OCSNG & GLPI 互相也有 Plugin Module 可以將 OCSNG 所收集的資料交給 GLPI 去統整
簡單的介紹大概對 OCSNG 跟 GLPI 也有相當程度的了解,這樣在設定上也會比較有邏輯上的概念
由於網路上的資料不多,但其實官網的 Document 寫的也算OK,接下來就開始記錄安裝的步驟!!
由於篇幅過長,為了閱讀品質,小弟在此篇僅只提供 OCSNG 的安裝
安裝 OCSNG Server
step1. 準備安裝必要的環境 XAMPP
$ yum install mysql-server mysql httpd php
step2. 基本環境設定
$ service httpd start $ service mysqld start $ chkconfig httpd on $ chkconfig mysqld on $ mysqladmin -u root password 'password' $ vim /etc/selinux/config SELINUX=disabled
step3. 安裝 OCSGN 環境
$ yum install mod_perl perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Apache-DBI perl-Net-IP perl-SOAP-Lite php-pecl-zip php-mysql php-devel zlib-devel php-pear php-gd gcc php-mbstring
其中 perl-Apache-DBI 必須從 epel 安裝
step4. 下載 OCS Inventory NG Management server 套件
http://www.ocsinventory-ng.org/en/#download-en
$ mv OCSNG_UNIX_SERVER-2.1.2.tar.gz /tmp $ tar zxvf OCSNG_UNIX_SERVER-2.1.2.tar.gz $ cd OCSNG_UNIX_SERVER-2.1.2 $ ls drwxrwsr-x 4 1028 1028 4096 Mar 16 23:47 Apache drwxrwsr-x 2 1028 1028 4096 Jul 11 2014 binutils drwxrwsr-x 3 1028 1028 4096 Jul 11 2014 dtd drwxrwsr-x 4 1028 1028 4096 Jul 11 2014 etc -rwxr-xr-x 1 root 1028 20891 Mar 16 23:47 ipdiscover-util.pl.local -rw-rw-r-- 1 1028 1028 17987 Jul 11 2014 LICENSE.txt -rw-r--r-- 1 root 1028 161 Mar 16 23:47 logrotate.ocsinventory-server.local -rw-r--r-- 1 root 1028 2590 Mar 16 23:47 ocsinventory-reports.conf.local -rw-r--r-- 1 root 1028 12370 Mar 16 23:47 ocsinventory-server.conf.local drwxrwsr-x 11 1028 1028 4096 Jul 11 2014 ocsreports -rw-r--r-- 1 root 1028 25230 Mar 16 23:47 ocs_server_setup.log -rw-rw-r-- 1 1028 1028 3946 Jul 11 2014 README -rwxrwxr-x 1 1028 1028 71582 Mar 15 13:51 setup.sh
裡面有 OCSNG Source
step5. setup 安裝
$ sh setup
接下來會進行一連串的問話!? 按照你想要的環境就好,並且會檢查環境是否滿足 OCSNG Server 最低安裝條件
如果有遭遇無法判別的訊息,也歡迎在文章列表下提出問題
最後會提示訊息「Enjoy OCS Inventory NG」告訴你好好享受軟體啦!!
不過當然不是只有這樣而已
step6. 也來中文化一下
$ tar zxvf ocsreports_chinese.tgz $ mv lang_config.txt tchinese /usr/share/ocsinventory-reports/ocsreports/plugins/language
step7. 登入 ocs 進行初次安裝
記得先 reload httpd
http://servername/ocsreports
到登入頁多出了中華民國國旗的 icon,在這邊點選變成中文語系
在這頁你必須提供 mysql 有 create databases 權限的使用者(root),亦或是先建立好資料庫直接指定使用者給 ocs
step8. 資料庫安裝檢測
在這邊你可以看到 ocs 陸續在做資料庫的安裝及檢測,然後直接按提交後,會告知您可用 admin / admin 直接登入 ocs
Q1: 警告: 您輸入的使用者似乎不是 root
這是由於我已有建立資料庫 & 使用者給予 ocs
Q2: 警告: files/ocsagent.exe 遺失,如果您不重新安裝,DEPLOY 功能將無法使用
DEPLOY 我們會在後續佈署在 Client 端,Server 端不須佈署。
step9. 重新登入 ocs
登入後,有發現最上方提示警告有幾件事情必須要做
1). 更改系統管理員帳戶密碼
使用者→上級管理員→更改密碼→確認
2). 更改預設資料庫密碼
這是一開始在建立資料庫中,ocs 會 cache 你設定的帳號密碼來提示你,必須要更改密碼後 httpd reload 警告才會消失
3). 刪除 install.php
避免不小心再將設定蓋掉,或讓外部人員有機可趁,所以把 install.php 給砍掉
$ rm /usr/share/ocsinventory-reports/ocsreports/install.php
step10. 開啟 GLPI 支援
裡面的設定就不再多詳述,要開啟 GLPI 支援必須開啟 TRACE_DELETED
到這邊 OCSNG Server 安裝就告一段落了,接下來必須在 Client 佈署 Agent 程式
這邊先用手動的方式來示範 Windows agent,官方也提供 packge 用 GPO 大量佈署,下次再來談!
OCS Inventory NG Agents 安裝
step.1 以 Windows 為例到官方下載 OCS Inventory NG agent for Windows
點選 OCS-NG-Windows-Agent-Setup 進行安裝
我們不勾選 Local inventory 是因為我們不會在 local 佈署
Server URL 這個部分你必須指定虛擬目錄為 ocsinventory 因為它是用 perl script 在收集資料,詳細可看 /etc/httpd/conf.d/z-ocsinventory-server.conf
Server credentials 使用者驗證的部分預設是沒有的,除非你在 ocsinventory 有設定驗證
Server security 勾選是否需要使用證書驗證,小弟是覺得不太需要。
Proxy 選填,沒有就空白 Next
TAG 每台 PC 的的標記
Immediatly launch inventory (= /NOW) 這非常重要一定要勾,安裝好後會直接幫你啟動 OCSNG Agent
安裝好後,你可以到服務找到 OCS service runing ..
然後回到 ocs server web,你可以看到 client 端的資料已經傳送到 ocs server
然後點捉到的 1 進去看,剛剛新增的 Client 端所有資料已經無所遁形囉!!
OCSNG 就先在這邊告一段落,下一篇將再紀錄 GLPI,以及和 OCSNG 整合的過程。
資產管理系統篇
請教一下:
我在step6. 的步驟作完了,在step7. 登入後看到的網頁
畫面還是英文的!是在step6. 有作錯嗎?還是要在更改那些設定值呢?
感謝!
Jason:
在帳號密碼登入頁的右上角,會多出”中華民國國旗”的icon,點選後就可以切換語系囉!!
在原文中step7.也加入了語系選擇圖示
感謝!
請教一下
中文化網址我沒辦法用wget的指令直接下載,是哪裡出問題了
謝謝~
casper:
下載連結是用Owncloud包裝起來的,用wget無法直接抓到檔案,必須先用browser下載哦
板主你好:
我依照你的步驟安裝時
都會出現以下訊息:
Checking for Apache2::SOAP PERL module…
*** Warning: PERL module Apache2::SOAP is not installed !
This module is only required by OCS Inventory NG SOAP Web Service.
Do you wish to continue ([y]/n] ?
我有安裝perl-Apache2-SOAP.noarch之後,警告訊息依然有出現
請問是哪邊有問題呢? 謝謝~
Thzuslao:
這個問題有關於 perl 版本的問題,你可以查看以下官方維基百科
http://wiki.ocsinventory-ng.org/index.php/Install_ocs_ubuntu_server
若你不需要SOAP功能可以略過此問題直接建立。
版主您好
請問假設我在虛擬機上灌centos最小化(純文字介面)IP=192.168.5.1以及一台xp IP=192.168.5.2,也把OCS Inventory NG順利裝上去centos理面
那我要如何用XP的瀏覽器連上centos裡面的http://192.168.5.1/ocsreports
may:
首先
1. 先確定你的192.168.50.1 OCS 安裝正常,先在本機以curl 訪問正常
2. 執行 netstat -tunpl 確認 80port 有 listen
3. 開啟防火牆 iptables 80 port
4. XP請直接訪問網址:http://192.168.5.1/ocsreports
您好,請問中文化下載的連結是有效的嗎?或是說可以改成到哪邊下載,謝謝!
Henryown:
不好意思,網站有更換域名,文章內的連結尚未更新,請到以下連結下載
https://cloud.shazi.info/public.php?service=files&t=aec0b9ece19ece68f7cef64ac8671794
感恩!
可以再請教一下,我抓到的電腦作業系統名稱都是會顯示成 「Microsoft Windows 7 ?????」,這個是不是還要修改哪邊的編碼格式,謝謝!
MariaDB 伺服器字元集: UTF-8 Unicode (utf8)
Henryown
你可以嘗試修改php語系
$ vim /usr/share/ocsinventory-reports/ocsreports/plugins/main_sections/ms_dict/ms_dict.php
while($item_list_alpha = mysqli_fetch_object($result_list_alpha)){
if (mb_strtoupper($item_list_alpha -> alpha) != “”){
if ($first == ”){
$first=$i;
}
– $list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha);
+ $list_alpha[$i]=mb_strtoupper($item_list_alpha -> alpha,’UTF-8′);
$i++;
}
}
$ vim /usr/share/ocsinventory-reports/ocsreports/plugins/main_sections//ms_all_soft/ms_all_soft.php
if (mb_strtoupper($item_list_alpha -> alpha) == ‘”‘)
$car=”‘”;
else
– $car=mb_strtoupper($item_list_alpha -> alpha);
+ $car=mb_strtoupper($item_list_alpha -> alpha,’UTF-8’);
謝謝沙先生,修改了並重新載入httpd了,但還是無效!我安裝的OCSInventory版本是2.1.2(centos yum install的)
您好,會不會是資料庫的「伺服器連線編碼與排序」是 utf8mb4_unicode_ci 這個關係所造成的,我再找時間測試看看,謝謝!
Henryown:
不好意思,因為目前我已經沒有在使用OCSNG,只能隔空抓藥
就這樣的狀況,我會先檢查在資料庫內是否就已經是亂碼,若是資料庫已亂碼則要確認是否在insert 時出問題
若資料庫內的資料正確,則要從 php 下手判斷看看是否語系顯示有問題。
沒能幫到你,Sorry.
有找到問題了,我把資料庫砍掉,重新建utf8_unicode_ci的ocs資料庫就正常了,不過您提到的要修改的兩個檔案仍然是要修改的,感謝您!
Henryown:
Goodjob !!
也感謝你的分享。
Not Found
The requested URL /ocsreports was not found on this server.
Apache/2.2.15 (CentOS) Server at 192.168.1.121 Port 80
================================================================
你好請問我安裝完後httpd重啟防火牆也開洞讓80port通過
但還是出現上面的訊息是什麼原因
謝謝~
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
防火牆規則有加入這條
魯夫:
這樣看起來你的 firewall 是有通過apache的,問題可能出於你的 apache 設定問題,請先查看 error.log,或是貼上你的設定檔。
請問一下為什麼我中文化後沒出現右上角的國旗圖案
是哪裡出問題了嗎
謝謝~
魯夫:
確認你在step6的地方有正確執行,並且檢測 lang_config.txt 內對應的 tchinese 和你的
名稱相同
tchinese/tchinese.png
tchinese/tchinese.txt
你好以上問題都已解決,有些套件我沒安裝到,補裝過後都已經可以正常運作,現在我又發生一個問題,我已經整合 OCSNG+glpi外掛也已經啟動,但是點到外掛模組OCS Inventory NG的時候畫面中間出現The selected server is not active. Import and synchronisation is not available
的紅字,已經做到最後卻卡住,這個訊息你看的出是哪裡出問題嗎
謝謝
魯夫:
麻煩提供一下 GLPI 的 error log,字面上的錯誤訊息比較籠統難判別
你好最近很多事之前裝的我砍掉了,我又重裝一次這次遇到問題是
XML for PHP is not properly installed, you will not be able to use ipdiscover-util.
是有什麼套件沒安裝到嗎
謝謝
魯夫:
從訊息提示,你缺少 php-xml 套件,請執行以下指令解決
yum install php-xml -y
這個支援MariaDB嗎?想取代Mysql,可是看到軟體好像是檢測mysql
rex:
MySQL 和 MariaDB 都是同一個家族,號稱支援度超高,我認為用 MariaDB 應該沒什麼問題,但建議你可以寫信詢問官方對 MariaDB 的支援度。
請問一下 照上面的步驟所有設定都安裝成功了
server web 也可以看到電腦
但是電腦確是反黑的不能點 然後底下出現
ipdiscover-util.pl 不能執行,您必須設定執行權限
請問這是哪邊出了問題 ?
另外在問一下 因為有些電腦是手動安裝 client
其他部分都是用 gpo 派送的
旦發現手動安裝的 是正常可以點進去看詳細資訊
而gpo 派送 都是反黑 不能點
可是在 web server 卻能看到電腦的一些資訊跟最後連結的時間 ??
Hi Kyoda
如果手動 OK,但 GPO 派送不行,這樣我可能無法幫您 debug,建議你先查看 Client 手動/自動安裝的設定差異在哪裡。
不好意思,中文化連接已經失效,是否可重新將檔案分享,非常感謝~
已更新至 MEGA 空間,Thanks.
你好,中文化附件链接已失效,能否通过email(277798439@qq.con)发我一份,非常感谢!!
測試該連結正常哦。
HI 大大您好
我在步驟3 其中
perl-Apache-DBI 必須從 epel 安裝 這一段卡住了
請問這個要下什麼語法呢
我安裝完 跳
Checking for Apache::DBI PERL module…
*** ERROR: PERL module Apache::DBI is not installed !
這個訊息
yum install perl-Apache-DBI
這段你執行有成功嗎? 如果沒有找到 perl-Apache-DBI 的話,必須要安裝 EPEL 套件庫。