CMDBuildは、クラウド環境に最適な構成管理システムです。
仮想化環境での論理構成と物理構成の複雑化、変更の高頻度・高速化による構成情報の爆発に対して、強力な自動化機能、外部システム連携機能を備え、運用管理自動化基盤を実現します。
詳細は以下をご参照ください。
また、本記事は以下記事のアップデート版となります。
・CMDBuild2.5 インストール手順(CentOS7)
・CMDBuild3.3 インストール手順(CentOS7)
1.CMDBuildの特長
オープンソース(GNU Affero General Public License)
・主要機能が無料で使用可能
・サポートライセンスを購入すれば、モバイルアプリおよびQA、障害対応、バグフィックス/ワークアラウンドの提供、新機能の早期提供をサポート
自由なデータモデル
・構成アイテム(サーバ等)と属性情報(担当者連絡先、契約情報、ロケーション等)の関係を自由に定義可能
・ITIL V3に準拠したプロセスをサポート
2.稼働条件
- メモリ16GB以上推奨
- ディスク空き容量150GB以上(SSD推奨)
- 4コア以上推奨
- PostgreSQL 17.x(17.4推奨)
- PostGIS 3.5.x(オプション)
- Apache Tomcat 10(最新バージョン推奨)
- Java 17(OpenJDK推奨)
- Docker(オプション)
稼働条件の詳細は以下をご参照ください。
3.CMDBuildのインストール環境(RHEL8)
- Red Hat Enterprise Linux release 8.10 (Ootpa)
- CMDBuild 4.0.0
- PostgreSQL 17-17.4
- OpenJDK 17.0.2
- ApacheTomcat 10.1.40
- スタンドアロン構成
- SELinuxはDisabled、Firewalldは停止されていること
- 作業はすべてrootで実施
- CMDbuildインストール時に必要なパッケージをインストールするためインターネットへの接続が可能なこと
4.CMDBuildインストール手順
Javaインストール
以下のサイトからOracleJDK17をダウンロードし、適当なディレクトリに配置しインストールします。
・ファイル名:openjdk-17.0.2_linux-x64_bin.tar.gz
・配置先:/root/work
# mkdir /root/work
# cd /root/work
# wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
# mkdir -p /usr/java
# tar zxvf openjdk-17.0.2_linux-x64_bin.tar.gz -C /usr/java/
# alternatives --install /usr/bin/java java /usr/java/jdk-17.0.2/bin/java 1
# alternatives --install /usr/bin/javac javac /usr/java/jdk-17.0.2/bin/javac 1
# ln -s /usr/java/jdk-17.0.2 /usr/java/latest
# ln -s /usr/java/latest /usr/java/default
javaインストール確認
# java --version
openjdk 17.0.2 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
# javac --version
javac 17.0.2
PostgreSQLインストール
以下のコマンドでPostgreSQLをインストールし、DBの初期化を行います。
# yum module disable postgresql
# rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum install postgresql17-server
# /usr/bin/postgresql-17-setup initdb
初期化後、以下の設定ファイルの修正を行います。
※PostgreSQLの修正は環境に合わせて修正を行ってください。
パス:/var/lib/pgsql/17/data
設定ファイル:postgresql.conf
# vim /var/lib/pgsql/17/data/postgresql.conf
※以下の設定値を修正
#listen_addresses = 'localhost'
#port = 5432
↓
listen_addresses = '*'
port = 5432
パス:/var/lib/pgsql/17/data
設定ファイル:postgresql.conf
# vim /var/lib/pgsql/17/data/pg_hba.conf
※以下のように修正します。
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::1/128 trust
設定修正後、PostgreSQLのサービスの自動起動を有効化し、起動します。
# systemctl enable postgresql-17.service
# systemctl start postgresql-17.service
Tomcatインストール
以下のサイトからApache Tomcatをダウンロードし、インストールします。
・ファイル名:apache-tomcat-10.1.40.tar.gz
・Tomcatインストール先ディレクトリ:/opt/tomcat/cmdbuild
# cd /root/work
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.40/bin/apache-tomcat-10.1.40.tar.gz
# tar zxvf apache-tomcat-10.1.40.tar.gz
# mkdir -p /opt/tomcat
# mv apache-tomcat-10.1.40 /opt/tomcat/cmdbuild
# rm -rf /opt/tomcat/cmdbuild/webapps/docs/ /opt/tomcat/cmdbuild/webapps/examples/
setenv.shを作成します。
パス:/opt/tomcat/cmdbuild/bin
設定ファイル:setenv.sh
# vim /opt/tomcat/cmdbuild/bin/setenv.sh
※以下を設定します、以下の値は環境に合わせて修正を行ってください。
JAVA_HOME=/usr/java/default
export CATALINA_OPTS="-Dfile.encoding=UTF-8 -Xms8g -Xmx10g -server"
LANG="ja_JP.UTF-8"
起動スクリプトを作成します。
パス:/usr/lib/systemd/system
設定ファイル:cmdbuild.service
# vim /usr/lib/systemd/system/cmdbuild.service
※以下を設定します。
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=oneshot
ExecStart=/opt/tomcat/cmdbuild/bin/startup.sh
ExecStop=/opt/tomcat/cmdbuild/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
[Install]
WantedBy=multi-user.target
CMDBuild4.0.0インストール
以下のサイトからCMDBuild4.0.0をダウンロードし、適当なディレクトリに配置します。
・ファイル名:cmdbuild-4.0.0.war
・配置先:/root/work
※warファイルは予めダウンロードし準備しておくこと
# cd /root/work
# mv cmdbuild-4.0.0.war /opt/tomcat/cmdbuild/webapps/cmdbuild.war
tomcatユーザを作成し、Tomcatインストールディレクトリのオーナ/グループを修正します。
# useradd -M tomcat
# chown -R tomcat. /opt/tomcat
warファイルの配置、Tomcatディレクトリの権限修正後、CMDbuildのサービスの自動起動を有効化し、起動します。
# systemctl enable cmdbuild.service
# systemctl start cmdbuild.service
ログを確認しサービスが起動されたことを確認します。
パス:/opt/tomcat/cmdbuild/logs
ログファイル:cmdbuild.log
# cat /opt/tomcat/cmdbuild/logs/cmdbuild.log
2025-04-18T10:40:14.354+09:00 [system] INFO org.cmdbuild.log.LogbackHelper - logback configured
2025-04-18T10:40:14.356+09:00 [system] INFO o.c.w.LogbackConfigurationContextListener - logger ready
サービス起動後、CMDBuildのWebUIにアクセスし初期設定を行います。
http://<CMDBuildのIPアドレス>:8080/cmdbuild
以下の情報を入力し、「Test database connection」を選択し、設定に問題がないことを確認します。
設定に問題がないことを確認し、「Configure」を選択し、初期設定を完了します。
・Type:Demo # 「Empty」、「Demo」、「Existing」、「Upload backup」より選択
・Name:cmdbuild # DB名を入力
・Host:localhost # PostgreSQLのアドレスを入力
・Port:5432 # PostgreSQLのポートを入力
・Username:cmdbuild # DBのユーザを入力
・Password:password # DBのユーザパスワードを入力
・Admin username:postgres # DBの管理ユーザを入力
・Admin password:postgres # DBの管理ユーザパスワードを入力
※事前にDB、ロールの作成は必要なく、デモデータベース作成の際に必要なDB、ロールが作成されます。
※上記の情報を入力し、「Test database connection」を選択しDBに接続できることを確認します。ここでエラーが発生する場合は、DBの設定を確認してください。
パッチの適応を行います。
初期設定完了後、CMDBuildのログイン画面に切り替わり、以下のアカウントでログインできることを確認します。
http://<IPアドレス>:8080/cmdbuild
ユーザ:admin
パスワード:admin
ログイン時に言語を選択することができます。
初期設定完了後、CMDBuildのログイン画面に切り替わり、以下のアカウントでログインできることを確認します。
5.cmdbuildスクリプト
CMDBuildのサービスが起動している状態で、用意されている「cmdbuild.sh」を使用することにより、設定の変更、設定の確認、現在のステータス等を確認することができます。
パス:/opt/tomcat/cmdbuild/webapps/cmdbuild
ファイル:cmdbuild.sh
簡単に使用方法を記載します。
設定の確認
cmdbuild.shを使用して現在の設定の確認を行います。
# cd /opt/tomcat/cmdbuild/webapps/cmdbuild
# ./cmdbuild.sh restws getconfigs
org.cmdbuild.database.ext plpgsql
org.cmdbuild.database.db.admin.password postgres
org.cmdbuild.database.db.password password
org.cmdbuild.database.db.username cmdbuild
org.cmdbuild.database.db.admin.username postgres
org.cmdbuild.database.db.url jdbc:postgresql://localhost:5432/cmdbuild
org.cmdbuild.workflow.enabled true
org.cmdbuild.core.logger.config paxg246o2vh0gggg5989sudlqmttq4ohgfevu8qat555k2anmuebd5j73s40p4ec329gqr4p7du8kh6nr8h6... (2312 chars)
org.cmdbuild.core.config.ready true
org.cmdbuild.sql.ddl_log.enabled true
org.cmdbuild.auth.preferredPasswordAlgorythm cm3easy
org.cmdbuild.plugin.info pax0hb2lr290g0gg0gi5dxap
ステータスの確認
cmdbuild.shを使用して現在のステータスの確認を行います。
# cd /opt/tomcat/cmdbuild/webapps/cmdbuild
# ./cmdbuild.sh restws status
system status: READY
BIM Service disabled
Card Cache Service disabled
Clustering disabled
DMS Service disabled
DMS_ Alfresco disabled
DMS_ Postgres Service disabled
DMS_ SharePoint Online disabled
Email Queue disabled
FTP Service disabled
GIS Service disabled
GIS_ GeoServer client disabled
Log Service * ready
Multitenant disabled
Scheduler Service (core) * ready
Scheduler_ Jobs disabled
Waterway Engine * ready
Waterway_ Events * ready
Waterway_ Jobs disabled
Waterway_ Webhook * ready
Workflow Engine * ready
version: 4.0.0
build: e086bff/master (2025-02-28T13:45:03Z)
runtime: java 17.0.2 (OpenJDK 64-Bit Server VM Oracle Corporation 17.0.2+8-86)
uptime: cmdbuild4 4h 15m 7.63s
memory: 315 MB used, 8,693 MB total, 10,737 MB max (java heap+metaspace memory)
process: pid 944, 6,352 MB total (process memory)
db pool: 1 active, 19 idle, 50 max
events:
2025-04-18T15:01:01.599591+09:00 FL_WARNING sysmon node=cmdbuild4/944/s13l CMO: WARNING: system memory almost exausted, 86% used (6.803/7.849 GB)
[root@cmdbuild4 cmdbuild]#
スクリプトを使用したDBのリストア
cmdbuild.shを使用してDBのリストアが行えます。
CMDBuildのDBをpg_dumpコマンドを使用してバックアップします。
# mkdir -p /backup/cmdbuild
# pg_dump --host localhost --port 5432 --username "postgres" \
--format custom --verbose --file /backup/cmdbuild/cmdbuild.backup cmdbuild
cmdbuild.shを使用してDBのリストアを行います。
スクリプトを使用することにより、現在のDBを削除し、新しいDBを作成してリストアすることができます
※サービスの停止、起動等は不要です。
# cd /opt/tomcat/cmdbuild/webapps/cmdbuild
# ./cmdbuild.sh dbconfig recreate /backup/cmdbuild/cmdbuild.backup
dropping database cmdbuild
done
create database cmdbuild /backup/cmdbuild/cmdbuild.backup
apply patches
adjust configs
done