openDCIM、RackTablesに引き続き、データセンター構成管理ツールつながりでRackMonkeyというのを見つけたので、これもインストールしてみました。バージョンはRackmonkey 1.2.5-1です。
動作環境
今どきPerl CGIです。Apache httpdが前提で、設定サンプルなどはApache httpdのものが用意されています。データベースはsqlite, PostgreSQL, MySQLから選べます。今回はMySQLを使いました。
CGIなので、Apache httpdにはmod_cgiかmod_cgidが必要です。今どきそんなの使ってないよ!という方もおられるかと思いますが、忘れないようにhttpd.confでLoadModuleするようにして下さい。
Perlには、DBI
、CGI
、HTML::Template
、HTML::Entities
、DBD::mysql
モジュールが必要です。以下のようなコマンドラインで、必要なモジュールが全部入っているかチェックできます。
perl -MDBI -MCGI -MHTML::Template -MHTML::Entities -MDBD::mysql -e ''
バージョンなど詳細は公式インストールガイドを参照して下さい。
インストール
ファイルの配置
ダウンロードページからRackmonkey 1.2.5-1をダウンロードして展開すると、conf
、doc
、perl
、sql
、tmpl
、www
の計6つのサブフォルダとREADME
ファイルが出てきます。
まずは、このファイルを順次適切な場所へと配置していきます。外部から見える場所(DocumentRoot下)にインストールするファイルと、外部から見えない場所(DocumentRoot外)にインストールするファイルがありますので注意して下さい。
フォルダ名 | 説明 |
---|---|
conf |
設定ファイルです。rackmonkey.conf は秘密情報(MySQLのパスワード)を含むので、外部から見えない場所(DocumentRoot外)にインストールします。httpd-rackmonkey.conf はApache httpdの設定ファイルに追記します。どちらにしても外部からは見えない場所に置きます。 |
doc |
ドキュメント類です。インストールはしません。 |
perl |
スクリプト本体です。外部から見える場所(DocumentRoot下)にインストールします。 |
sql |
後述するデータベースを設定する際に一度だけ使います。使い終わったら削除して構いません。 |
tmpl |
外部から見えない場所(DocumentRoot外)にインストールします。もっとも秘密情報は含まれませんので、外部から見える場所(DocumentRoot下)しか置き場所がなければ、そこへ置いても構いません。 |
www |
画像などの静的コンテンツです。外部から見える場所(DocumentRoot下)にインストールします。perl フォルダとは同じ場所でも違う場所でも構いません。 |
今回は以下の場所にインストールしました。
フォルダ・ファイル | インストール先 |
---|---|
conf/httpd-rackmonkey.conf |
/etc/httpd/conf.d/httpd-rackmonkey.conf |
conf/rackmonkey.conf-default |
/usr/local/rackmonkey/etc/rackmonkey.conf |
perl |
/srv/www/htdocs/rackmonkey |
tmpl |
/usr/local/rackmonkey/tmpl |
www |
/srv/www/htdocs/rackmonkey-static |
というわけで、こんな感じで順次ファイルをコピーしていきます。
$ mkdir /srv/www/htdocs/rackmonkey
$ cp -pri perl/* /srv/www/htdocs/rackmonkey/
$ mkdir /srv/www/htdocs/rackmonkey-static
$ cp -pri www/* /srv/www/htdocs/rackmonkey-static/
$ mkdir /usr/local/rackmonkey
$ cp -pri tmpl /usr/local/rackmonkey/
$ mkdir /usr/local/rackmonkey/etc
$ cp -pi conf/rackmonkey.conf-default /usr/local/rackmonkey/etc/rackmonkey.conf
$ cp -pi conf/httpd-rackmonkey.conf /etc/httpd/conf.d/
設定ファイルの記述
Apache httpdの設定
httpd-rackmonkey.confを、Apache httpdの設定ファイルに取り込みます。ここの操作は環境により、httpd.confに直接書き込む場合もあるし、conf.dとかそんな名前のフォルダに配置する場合もあると思います。とにかくhttpd -tでエラーが出ないようにように何とかします。
で、その設定の中に、以下のような行があります。
SetEnv RACKMONKEY_CONF /etc/rackmonkey.conf
これがrackmonkey.conf
の配置場所を指定する指定子です。今回は以下のように変更します。
SetEnv RACKMONKEY_CONF /usr/local/rackmonkey/etc/rackmonkey.conf
rackmonkey.confの設定
上述したrackmonkey.conf
を順次設定していきます。設定する項目は先頭のほうにあるdbconnect
、dbuser
、dbpass
、tmplpath
、wwwpath
の5項目です。まずはデータベースから。
# Database Connection Settings
dbconnect = dbi:mysql:dbname=rackmonkey:host=127.0.0.1
dbuser = rackmonkey
dbpass = rackmonkey
dbconnect
はPerl DBIのデータソース(接続文字列)の文法に従います。詳細はドキュメントを参照して下さい。
次はパスです。
# Path & URL Constants
tmplpath = /usr/local/rackmonkey/tmpl
wwwpath = /rackmonkey/www
tmplpath
はファイルシステム上のパス、wwwpath
は外部から見えるURLのパスで指定します。ここを間違えないようにして下さい。
データベースの設定
データベースとユーザーの作成
今回はデータベース名rackmonkey、ユーザー名rackmonkey、パスワードrackmonkeyとしました。手順としては、特に変わったところはありません。
$ mysql -u root -p -h 127.0.0.1
Enter password:
> create database rackmonkey;
> create user rackmonkey identified by 'rackmonkey';
> grant all privileges on rackmonkey.* to rackmonkey;
テーブルの作成と初期データの配置
上述のsql
フォルダの下にsqlファイルが置いてありますので、mysql
コマンドを使って順次流し込みます。
$ cd sql
$ mysql -urackmonkey -prackmonkey -Drackmonkey -h 127.0.0.1 < schema/schema.mysql.sql
$ mysql -urackmonkey -prackmonkey -Drackmonkey -h 127.0.0.1 < data/default_data.sql
$ mysql -urackmonkey -prackmonkey -Drackmonkey -h 127.0.0.1 < data/sample_data.sql
sqlファイルはたくさんありますが、使うのは上記コマンドラインの通り、3つのファイルだけです。
日本語文字化け対応
黒ぶちメガネのblogで、日本語が文字化けする現象と非公式パッチが提供されています。必要に応じて適用して下さい。
以上!ここまででインストールは一通り完了です。
初回アクセス
http://localhost/rackmonkey/perl/rackmonkey.pl
にアクセスすると、rackmonkeyの管理画面が現れます。最初はサンプルデータが入っています。
。。。それだけです。
ユーザー名とかパスワードとか、アクセス権限とか、そんなものはありません。認証が必要な場合は、Apache httpdのmod_auth_basicでも使いましょう。また、ユーザーごとに書き込み権限を付与するとか、リードオンリーアカウントとか、そんな機能はありません。至ってシンプル!
そんなわけで、ここまで来たら、あとは順次データ入力して行きましょう。
続きは気が向いたら書きます。
リファレンス
公式
Sundive Networks
RackMonkey
http://flux.org.uk/projects/rackmonkey/
非公式
黒ぶちメガネのblog
【管理ツール】サーバラックを管理する RackMonkey をインストールしてみた
http://www.kurobuti.com/blog/?p=7264
不肖私
openDCIMインプレッション(インストール編)
http://qiita.com/n-i-e/items/f4ba15640e58b031d7f6
openDCIMインプレッション(構成管理編)
http://qiita.com/n-i-e/items/8f7447c6fe274d05829a
openDCIMインプレッション(ワークフロー編)
http://qiita.com/n-i-e/items/d7f9c3084fb28fdc5af9
RackTablesインプレッション
http://qiita.com/n-i-e/items/a96b45229745b35005b2