OCS Inventory 主從系統

OCS Inventory 是一個協助你盤點 Linux 及 Windows 伺服器、桌上電腦、筆記型電腦等裝置的主從工具。OCS Inventory 可以在 Linux 或 Windows 上安裝為伺服器,但這份指引假設是 CentOS。被稱為「代理程式」的客戶端透過在伺服器上登錄來取得關於該主機的資料。

這份指引將會為你示範如何把 OCS Inventory 與負盛名的 GLPI 網絡庫存軟件集,好讓你l能取得更詳盡的記錄。GLPI 除了能處理儀器外,更包括軟件及合約,用來匯入 OCS Inventory 最適合不過。

有數個必須的 Perl 模塊是以 RPM 包裝的,它們來自其它軟件庫,因此務請參考 wiki 內的適當部份來設定第三方軟件庫

現時 OCS 有兩個版本,分別是 1.01 和 1.02 RC2。我嘗試安裝後者,但應用它時遇上了些問題。這份指引的餘下部份將會假設你在安裝 1.01 版的伺服器和代理程式。

系統

CentOS 5.1/5.2

參考

安裝伺服器

伺服器的安裝涉及設定一台 MySQL、Apache 及 PHP 的伺服器。當中某些軟件或許已經安裝了。

設置 MySQL 與 Apache

假如仍你未運用 MySQL 及 Apache,請安裝它們的伺服器:

# yum install mysql-server mysql httpd

最低限度設定 Apache 的 ServerName 指令並啟用 httpd 服務。

# vim /etc/httpd/conf/httpd.conf
ServerName: ocs-inventory:80

# service httpd start; chkconfig httpd on

瀏覽你的主機來確定網頁伺服器正在運作中。接著,啟用 mysql 服務,好讓它能完成初次設置,然後更改密碼來保障 MySQL,免得你的伺服器上載著一個公用的 MySQL。

# service mysqld start; chkconfig mysqld on

設定一個 MySQL 資料庫的 root 密碼:

# mysqladmin -u root password '自選密碼'

設置 Perl 及 PHP

接著,安裝一些來自 RPMForge 軟件庫的必備 Perl 模塊套件。

# yum install perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Apache-DBI perl-Net-IP perl-SOAP-Lite

然後,為 OCS 的管理台安裝數個 PHP 所需及具依賴性的套件。

# yum install php-pecl-zip php-mysql php-devel zlib-devel php-pear php-gd gcc

在你完成安裝後,你須要將 zip 的支援加到你的 PHP 安裝內。這牽涉到把以下內容加進設定檔內。

# pecl install zip
# vim /etc/php.ini
;加入 zip 支援
extension=zip.so

重新啟動 apache 讓改動能生效。

# service httpd restart

這樣做便應該在安裝 OCS 庫存伺服器前達成所有先決條件。假如你缺乏任何 Perl 模塊而又無法透過 RPMForge 來解決,請在 RPMForge 的郵件列表上徵求所需的元件。

某些人或許因為在其它地方使用 perl,而得悉管理員可以安裝 CPAN 上的 perl 模塊(見:有關 CPAN 及編譯源代碼)。這雖然正確,但如此做只會繞過檢查互依賴性及先決條件帶來的保護;無法透過套件系統進行更新;亦無法通知套件系統關於新增的模塊。

話雖如此,你仍可以選擇運用 CPAN,但這樣做將會把你的機器由 CentOS 變成一台只有你能支援及維護的東西:

# perl -MCPAN -e 'install PERL::PACKAGE'

這樣做的確會有結果,但系統肯定已不再是 CentOS 了。

安裝 OCS 伺服器

OCS 的安裝腳本

下一步是安裝 OCS 軟件。你可以從下列連結取得更多文檔及套件本身。

安裝管理伺服器只時需回答數個問題。它有一個不錯的腳本可以為代辦一切事情。請下載壓縮檔並將它解壓。接著你便可以執行腳本進行安裝。

# tar -xzvf OCSNG_LINUX_SERVER_1.01.tar.gz
# cd OCSNG_LINUX_SERVER_1.01
# sh setup.sh

大致上一切都不言自明,而且在多數時間,你可以選用預設值。假如伺服器上已安裝了一個較舊版本的 OCS,那麼首個畫面對你才會是重要。

+----------------------------------------------------------+
|                                                          |
| Welcome to OCS Inventory NG Management server setup !    |
|                                                          |
+----------------------------------------------------------+

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?

接下來的問題你都可以沿用預設答案,除非你想做作出修改,故此我不會解釋各個設定。下一條問題是關於你想把檔案放在那裡。我的文件的根目錄在 /var/www/html,因此請輸入你設定 Apache 取文件的路徑。

+----------------------------------------------------------+
| Checking for Apache root document directory...           |
+----------------------------------------------------------+

Where is Apache root document directory [] ?/var/www/html/

OCS 現在已經被安裝在 /var/www/html,而主設定檔已放在網頁伺服器的 httpd 目錄,/etc/httpd/conf.d/ocsinventory.conf,還有日誌目錄已被設定為 /var/log/ocsinventory-NG/。

設置 OCS 網頁

下一步是利用 OCS 網頁設置工具來連線到你的 MySQL,建立一個資料庫,並進駐它。請開啟瀏覽器並進到你的伺服器。http://your_ocs_server/ocsreports

若然你碰上任何錯誤或警告,務請修正它們,重新啟動 Apache,然後重新載入該頁。如果你不這樣做,你將會無法繼續下去。現在你應該看見一個登入方塊,詢問你有關 MySQL 的登入資料。

MySQL login: root
MySQL Password: 你所設定的值
MySQL HostName: localhost

假如一切順利的話,你將會看到一個冗長的清單列出安裝程式已完成的步驟。要不然,請修正問題然後重試。成功完成後,請點擊頁面最底部的 submit query 按鈕。現在你可以利用 admin 作為用戶名稱和密碼來登入網頁介面。你可以在瀏覽器視窗的右上方更改這個預設的密碼。

安裝代理程式/客戶端

Perl/PHP 依賴的套件

接著,請安裝一些代理程式執行時所需的 Perl 及 PHP 套件。代理程式的安裝器其實已包括一切所需的,但我比較喜歡用 RPM 來安裝它們。你可隨你的喜好選擇。

# yum install perl-XML-Simple perl-Compress-Zlib perl-Net-IP perl-Net-SSLeay

perl-LWP 及 perl-Digest-MD5 這兩個套件的 RPM 並沒有收藏在 CentOS 的主軟件庫內,'但它們卻是收藏在 RPMforge 軟件庫內。

一如以上有關 CPAN 的討論,假若你選擇將 CentOS 電腦轉變成一台由你個人支援的系統,你可以選用上述的代理程式安裝器,或者從 CPAN 安裝它們。同樣地,這是你的選擇。要透過 CPAN 進行安裝,請執行以下指令。

# perl -MCPAN -e shell
cpan> install LWP Digest::MD5

安裝代理程式

當你下載完代理程式的壓縮檔後,請解壓並進入它的目錄,然後執行安裝用的卻本。

# tar -xzvf OCSNG_LINUX_AGENT_1.01_with_require.tar.gz
# cd OCSNG_LINUX_AGENT_1.01
# sh setup.sh

代理程式的安裝腳本與伺服器的看起來很相似。你可以透過兩個方法來安裝代理程式:本地、或 http 安裝。若你選用本地安裝,OCS 代理程式將會建立一個檔案讓你匯入伺服器內。若你採用 http,代理程式將會自動聯絡 OCS 伺服器。當然後者是首選,但本地安裝在你的機器沒有網絡的情況下就大派用場。

請輸入 OCS 伺服器的名程或 IP 位址。80 號埠是預設埠,因此在這條問題你只需按 enter,除非你的 Apache 是在另一個連接埠上運行。

+----------------------------------------------------------+
| Checking for OCS Inventory NG Communication Server...    |
+----------------------------------------------------------+

Which host is running OCS Inventory NG Communication Server [] ? 你的伺服器
On which port is running OCS Inventory NG Communication Server [80] ?

餘下問題的預設值都可以接納。安裝程式接著會檢查你的所有 Perl 及 PHP 套件,然後建立一項 cron.d 的工作來執行與伺服器聯絡用的腳本。

Windows 代理程式

Windows 電腦上的安裝並不需要你太大的參與。你只需下載 Windows 版的客戶端,然後執行 .exe 安裝程式。將它指向你的 OCS 伺服器主機或 IP 位址,然後便大功告成。這個套件內包含有 OCS 代理程式執行時所需的一切。你多數會想將它安裝為一個服務,好讓它在開機時被執行。請找尋套件內 OcsAgentService.exe 這個檔案用作安裝之用。

整合 GLPI

這部份假設你已經擁有一個運作中的 GLPI 系統。假若不是的話,請遵照 GLPI 網頁上的 安裝指引。一旦你擁有可用的 GLPI,請v以管理員的身份登入網頁介面。請瀏覽以下畫面:

General -> Restrictions

你必須在這個畫面啟用 OCSNG 的設定,然後才能與 GLPI 進行任何型式的整合。請更改設定並儲存它們。

接著,請進到以下畫面:

Setup -> OCSNG

你須要在這個畫面內設定資料庫的連線。如果你的 GLPI 與 OCS 是安裝在同一台伺服器上,那樣你應該選取 localhost 作為所需的連線。如果 OCS 並不是在同一台伺服器上,請點擊頁面上的加號來建立新的設定。這樣做便會開啟一個空白的範本,讓你填入資料告訴 GLPI 如何與你的 OCS 伺服器連線。

當你儲存了設定後,你便會看見一大堆選項。這些選項讓你指定如何將 OCS 的資料匯入 GLPI。這一切都是隨你的個人喜好而定,因此沒有單一個方法來進行設定。如何你想顯示所有電腦與組件的一般資料,請將這一切設定改為 yes。請確定你儲存了所有設定。

當你設定好匯入偏好時,你便可以進入以下選單將資料庫匯入。

Tools -> OCSNG

在這裡你有四個選擇。

  1. 第一就將已經匯入的電腦進行同步化。這個動作會將 OCS 的一切資料更新至 GLPI 現存的項目裡。
  2. 第二個選擇就是匯入新的電腦,這個不言自明。
  3. 第三個選擇就是將新的 OCS 電腦連結到現存的 GLPI 電腦上。
  4. 第四個選擇就是清除 GLPI 與 OCS 之間的連結。

第三個選擇是最重要的。如果你採用 GLPI 已經有一段時間,而當中有手動式加入的項目,這個選擇便最適合了。利用這個選擇,你可以將不同之處合併起來,而不必蓋過任何你手動式加入的修改。

這大致上是將項目匯入 GLPI 的程序。現在你可以用 GLPI 的選單系統瀏覽或搜尋清單,但是你將會看見很多額外資訊關於你的儀器。請記住你仍然可以用 OCS 的網頁介面,它提供了列表及報告。請享用你的新庫存軟件。

Translation of revision 9

zh-tw/HowTos/OCSNG (last edited 2010-01-18 08:10:17 by TimothyLee)