CentOS 5.5 に OCS Inventory NG Server 2 をインストールする方法
概要
OCS Inventory はネットワーク上のコンピュータ資産を収集・管理するためのオープンソースソフトウェアです。NG(Next Generation)Server は主に以下で構成されます:
- 通信サーバ(Communication server): エージェントと通信する中心サービス
- 配布(デプロイ)サーバ: ソフトウェア配布やパッケージ管理
- 管理コンソール(Administration console): Web ベースの管理画面
エージェントを各クライアントに導入してサーバに向けてデータを送信させることで在庫情報を収集します。本ガイドは CentOS 5.5(64ビット)での手順を示しますが、Fedora や Red Hat 系でもほぼ同様に動作します。ただしディストリビューションやバージョンによるパッケージ名やパスの違いに注意してください。
作成者: Rafael Marangoni(BRLink Consultoria Linux Team による原稿の日本語ローカライズ)
重要: CentOS 5.5 は既にライフサイクル終了(EOL)しているため、可能であればサポートされている新しい OS への移行を検討してください。インストール手順は古い環境向けの参考として提供します。
目次
- 前提条件と必要パッケージ
- OCS インストール手順(ダウンロード〜セットアップウィザード)
- MySQL データベース作成と初期設定
- 管理コンソールへのアクセスと初期ログイン
- 運用チェックリスト/テスト基準
- よくある障害と対処(トラブルシューティング)
- 代替アプローチと移行のヒント
- 役割別チェックリスト(管理者・運用担当)
- 参考リンク
前提条件と必要パッケージ
この手順は root 権限(または sudo)で実行することを前提とします。サーバはインターネットにアクセスできること、ポート 80(HTTP)や MySQL のポート(デフォルト 3306)が必要に応じて許可されていることを確認してください。
推奨されるソフトウェア要件(参考):
- CentOS 5.5(64ビット)
- Apache HTTP Server
- MySQL(サーバとクライアント)
- Perl と必要な CPAN/パッケージモジュール
- PHP(Web 管理コンソール用)
注意: ここで使うパッケージ名やパスは CentOS 5.x 系の標準構成に合わせています。
必要パッケージのインストール例
まず MySQL と PHP 関連をインストールします:
yum install mysql-server php-mysql php-pecl-zip php-gd
MySQL を起動します:
/etc/init.d/mysqld start
chkconfig --level 35 mysqld on
MySQL の root パスワードを設定します(ここでは例として ‘secret’ を使用):
/usr/bin/mysqladmin -u root password 'secret'
Apache を起動します(OCS は Apache を使用します):
/etc/init.d/httpd start
chkconfig --level 35 httpd on
EPEL リポジトリを追加して必要な Perl モジュール等をインストールします:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
yum install -y perl-XML-Simple perl-Compress-Zlib perl-DBI perl-DBD-MySQL perl-Net-IP perl-XML-Entities perl-Apache-DBI perl-Apache2-SOAP perl-SOAP-Lite mod_perl
PHP 設定の更新
大きなファイルアップロードやパッケージ配布を行う場合、php.ini の設定を変更する必要があります。
vi /etc/php.ini
以下の値を適切に変更します(例):
post_max_size = 200M
upload_max_filesize = 200M
変更後、Apache を再起動します:
/etc/init.d/httpd restart
OCS Inventory NG Server 2 のインストール
ダウンロード用ディレクトリを作成して tarball を取得します(元の例をそのまま):
mkdir /download
cd /download
wget http://launchpad.net/ocsinventory-server/stable-2.0/2.0rc1/+download/OCSNG_UNIX_SERVER-2.0rc1.tar.gz
展開してセットアップを開始します:
tar -zxvf OCSNG_UNIX_SERVER-2.0rc1.tar.gz
cd /download/OCSNG_UNIX_SERVER-2.0rc1
sh setup.sh
セットアップスクリプトはウィザード形式です。多くの場合はデフォルトを選択して問題ありません。以下は実行時に表示される主な質問例(入力例付き)です。空欄にするとデフォルト値が選ばれます。
- 続行しますか? ([y]/n)? y
- データベースホスト [localhost] ? localhost
- データベースポート [3306] ? 3306
- Apache バイナリパス [/usr/sbin/httpd] ? (デフォルトを使用)
- Apache 設定ファイル [/etc/httpd/conf/httpd.conf] ? (デフォルトを使用)
- Apache 実行ユーザー [apache] ?
- Apache 実行グループ [apache] ?
- Apache Include ディレクトリ [/etc/httpd/conf.d/] ?
- PERL 実行ファイル [/usr/bin/perl] ?
- Communication server をこのサーバにセットアップしますか? ([y]/n)? y
- Communication server のログディレクトリ [/var/log/ocsinventory-server] ?
- Apache 設定ファイル名を ‘z-ocsinventory-server.conf’ に変更して mod_perl の読み込み順を保証しますか? ([y]/n) ? y
- Administration Server(Web 管理コンソール)をこのサーバにセットアップしますか? ([y]/n)? y
- 管理用の静的ファイル設置先 [/usr/share/ocsinventory-reports] ?
- 配布パッケージやキャッシュ用書き込みディレクトリ [/var/lib/ocsinventory-reports] ?
重要: 古いバージョン(1.01 以前)からのアップグレードの場合、Apache ドキュメントルート下の ‘ocsreports’ と ‘download’ ディレクトリを削除または移動する必要があります。deploy 機能を使うなら ‘download’ は管理サーバの書き込み可能キャッシュディレクトリ(デフォルト /var/lib/ocsinventory-reports)に移動してください。
MySQL データベース作成と権限設定
MySQL に root で接続します(先ほど設定したパスワードを使用):
mysql -u root -p"secret"
データベースと利用ユーザーを作成します(例):
CREATE DATABASE ocsweb;
GRANT ALL ON ocsweb.* to 'ocs'@'localhost' identified by 'ocs';
注: データベース名、ユーザー名、パスワードは運用ポリシーに合わせて変更してください。ここでは OCS のデフォルト例を示しています。
管理コンソールのアクセス
ブラウザで管理画面にアクセスします:
デフォルトアカウントはユーザー: admin / パスワード: admin です。初回ログイン後は管理者パスワードを必ず変更してください。
インストール後、インストールスクリプトを削除してセキュリティに配慮します:
rm -f /usr/share/ocsinventory-reports/ocsreports/install.php
その後、ネットワーク上の各クライアントに OCS エージェントをインストールし、サーバの IP を指定してデータ送信を確認します。
運用チェックリスト(導入前〜導入直後)
- サーバのバックアップポリシーを確認・実施
- Apache と MySQL の自動起動設定を確認
- firewall(iptables など)で HTTP と必要ポートを許可
- PHP の upload 最大値と post 最大値を設定
- OCS 管理コンソールにログインして初期管理者パスワードを変更
- 必要なディレクトリ(/var/lib/ocsinventory-reports など)の所有者と権限を確認
- エージェントからデータが到着しているか検証
テストケース/受け入れ基準
- 管理コンソールに admin でログインできる
- サーバが MySQL に接続できる(ocsweb のスキーマが読み込まれている)
- 最低 1 台のクライアントにエージェントをインストールし、資産情報がコンソールに表示される
- 配布機能を使う場合、配布パッケージをアップロードして対象クライアントに配信できる
- Apache と Communication server が正しく起動し、ログに重大なエラーがない
よくある障害と対処
MySQL に接続できない:
- MySQL サービスが起動しているか確認(/etc/init.d/mysqld status)
- ユーザー名・パスワード・ホスト(’ocs’@’localhost’ など)を確認
- MySQL の bind-address が外部接続を制限している場合は設定を見直す
Apache で PERL 関連のエラー:
- mod_perl が正しくインストールされているか確認
- Apache のエラーログ(/var/log/httpd/error_log)を確認
PHP アップロード失敗:
- /etc/php.ini の post_max_size と upload_max_filesize を確認
- 一時ディレクトリの権限を確認
エージェントがサーバに接続しない:
- エージェントの設定でサーバ IP/ホスト名が正しいか確認
- サーバのファイアウォールが接続を遮断していないか確認
- サーバのアクセスログ(/var/log/httpd/access_log)で到達ログを確認
代替アプローチと移行のヒント
OS をアップグレード可能なら CentOS 7/8 以降や RHEL、Alma/Rocky Linux などサポートのあるプラットフォームへの移行を推奨します。OCS のバージョン互換性を確認し、新しいディストリのパッケージ管理(yum/dnf)経由でインストールする方が簡単です。
コンテナ化: 既存環境を変更したくない場合は Docker コンテナで OCS を稼働させる選択肢もあります(ただし永続ボリュームやネットワーク設定に注意)。
データ移行: 古いデータベースから新しいサーバへ移行する場合は mysqldump を使ったエクスポート/インポートが一般的です。テーブル構造の差異に注意してください。
運用上の注意(セキュリティ・プライバシー)
- デフォルト管理アカウントのまま運用しない。初期ログイン後にパスワードを変更する。
- 管理コンソールは HTTPS(SSL/TLS)で保護する。Apache の仮想ホストで SSL を有効にすること。
- データベース接続情報やインストールスクリプトはサーバに残さない。インストール後は関連スクリプトを削除する。
- 個人情報や端末情報を収集する場合の社内ポリシーや法令(国内の個人情報保護法)に従う。
役割別チェックリスト
管理者(インフラ管理者):
- OS とパッケージの更新計画を立てる
- バックアップとリストアの手順を用意する
- ログ監視・アラートの設定を行う
運用担当(オンコール/運用):
- 毎日のサービス稼働確認(Apache/MySQL/Communication server)
- エージェント未到着端末の調査フローを保持
- 配布ジョブの実行結果を確認
セキュリティ担当:
- 管理画面アクセスのログを監査
- SSL/TLS 設定と証明書の期限管理
- 最小権限の原則に基づく DB ユーザーとファイル権限設定
主要項目ファクトボックス
- 必要サービス: Apache, MySQL, Perl, PHP
- 主要ポート: HTTP 80, MySQL 3306
- デフォルト DB 名: ocsweb
- デフォルト管理ユーザー: admin
- 重要ディレクトリ: /usr/share/ocsinventory-reports, /var/lib/ocsinventory-reports, /var/log/ocsinventory-server
ローカル環境における注意点(日本向け)
- 企業ネットワークで導入する際は、代理サーバやプロキシ経由のアクセス制御がある場合にエージェントの通信設定を合わせる。
- 社内セキュリティ基準や個人情報保護方針に従い、収集対象情報の範囲を事前に明確化する。
参考リンク
OCS Inventory ドキュメント: http://wiki.ocsinventory-ng.org/index.php/Documentation:Main
ダウンロード例(インストールで使用した元ファイル): http://launchpad.net/ocsinventory-server/stable-2.0/2.0rc1/+download/OCSNG_UNIX_SERVER-2.0rc1.tar.gz
まとめ: CentOS 5.5 上での OCS Inventory NG Server 2 のインストールは、MySQL・Apache・Perl・PHP の前提を満たし、セットアップウィザードに従うことで比較的スムーズに行えます。だが、OS の EOL やセキュリティ面を考慮して、可能なら最新のサポートされた環境への移行を計画してください。