サーバラックを管理する RackMonkey をインストールした時の備忘録です。
■RackMonkey公式
https://flux.org.uk/projects/rackmonkey/
Excel管理撲滅を目指して以前は、IPアドレスを管理するツール phpIPAM をインストールしてみました。
今回は、サーバラックを管理する RackMoneky(Perlで動作) をインストールしてみようと思います。
■環境
項目 | バージョン | ダウンロード先 |
---|---|---|
CentOS | 6.5 64bit | 理研 |
RackMonkey | 1.2.5-1 | Download |
httpd | 2.2.15-30 | 標準パッケージを使用 |
perl | 5.10.1-136 | 標準パッケージを使用 |
mysql-server | 5.1.73-3 | 標準パッケージを使用 |
■インストールしてみて気づいた事(日本語の取り扱いではまった)
・ブラウザの言語自動判定でlatin1になってしまう。metaタグの文字コード指定にUTF-8とか入れても変わらず。原因は、PerlモジュールのCGI.pmにあった。解決はソースを改修。
・ラックや追加した機器情報のノート(備考)に日本を入れて保存しブラウザで表示しようとするとエンコードされて文字化けっぽくなる。解決はソースを改修。
■Perlモジュールについて
EPELで提供されているパッケージをインストールしても問題ないですが、ここではCPANを使ってインストールします。
■データベースについて
RackMonkeyはSQLite/PostgreSQL/MySQLをサポートしています。
ここでは、MySQLを使います。
目次
(1)必要なパッケージのインストール
1-1. yumでRackMonkeyを動作させるのに必要なミドルウェアをインストールする
[root@localhost ~]# yum -y install cpan httpd mysql-server mysql-devel
(2)MySQLの設定・起動
2-1. my.cnfで文字コードをUTF-8に設定する
[root@localhost ~]# vi /etc/my.cnf [mysqld] (snip) # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server = utf8 # 追加 [mysqld_safe] (snip)
2-2. MySQLを起動する
(snip) Please report any problems with the /usr/bin/mysqlbug script! [ OK ] mysqld を起動中: [ OK ] [root@localhost ~]# chkconfig mysqld on
2-3. RackMonkeyで使用するDB・ユーザー作成
[root@localhost ~]# mysql -u root
(snip) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> grant all privileges on rackmonkeydb.* to rackmonkeyadmin@localhost identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> create database rackmonkeydb; Query OK, 1 row affected (0.00 sec) mysql> quit Bye
■ここで作成した情報
DB名 : rackmonkeydb
ユーザー名 : rackmonkeyadmin
パスワード : password
(3)必要なPerlモジュールのインストール
3-1. CPANを実行する
[root@localhost ~]# perl -MCPAN -e shell (snip) Would you like me to configure as much as possible automatically? [yes] yes <- # 自動設定するため「yes」を入力 (snip) cpan shell -- CPAN exploration and modules installation (v1.9402) Enter 'h' for help. cpan[1]>
※初回実行だと、CPANの設定処理が実行されます。デフォルトだと自動で設定されます。
3-2. DBIインストール
cpan[1]> install DBI (snip) ---- Unsatisfied dependencies detected during ---- ---- TIMB/DBI-1.631.tar.gz ---- Test::Simple [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] yes (snip) TIMB/DBI-1.631.tar.gz /usr/bin/make install -- OK
3-3. CGIインストール
cpan[2]> install CGI (snip) ---- Unsatisfied dependencies detected during ---- ---- MARKSTOS/CGI.pm-3.65.tar.gz ---- FCGI [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] yes (snip) MARKSTOS/CGI.pm-3.65.tar.gz /usr/bin/make install -- OK
3-4. HTML::Templateインストール
cpan[3]> install HTML::Template (snip) WONKO/HTML-Template-2.95.tar.gz /usr/bin/make install -- OK
3-5. HTML::Entitiesインストール
cpan[4]> install HTML::Entities (snip) GAAS/HTML-Parser-3.71.tar.gz /usr/bin/make install -- OK
3-6. Time::HiResインストール
cpan[5]> install Time::HiRes (snip) ZEFRAM/Time-HiRes-1.9726.tar.gz /usr/bin/make install -- OK
3-7. DBD::mysqlインストール
cpan[6]> install DBD::mysql (snip) ---- Unsatisfied dependencies detected during ---- ---- CAPTTOFU/DBD-mysql-4.027.tar.gz ---- Test::Deep [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] yes (snip) ---- Unsatisfied dependencies detected during ---- ---- RJBS/Test-Deep-0.112.tar.gz ---- Test::Tester [requires] Test::NoWarnings [requires] Shall I follow them and prepend them to the queue of modules we are processing right now? [yes] yes (snip) CAPTTOFU/DBD-mysql-4.027.tar.gz /usr/bin/make install -- OK cpan[7]> quit Terminal does not support GetHistory. Lockfile removed.
(4)RackMonkeyのダウンロード
4-1. ダウンロード
[root@localhost ~]# curl -L -o rackmonkey-1.2.5-1.tar.gz https://sourceforge.net/projects/rackmonkey/files/latest/download
(5)RackMonkeyのインストール
5-1. インストール
[root@localhost ~]# tar zxvf rackmonkey-1.2.5-1.tar.gz [root@localhost ~]# cd rackmonkey-1.2.5-1 [root@localhost rackmonkey-1.2.5-1]# cp perl/rackmonkey.pl /var/www/html/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# cp -r perl/RackMonkey/ /var/www/html/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# chmod 755 /var/www/html/rackmonkey/rackmonkey.pl [root@localhost rackmonkey-1.2.5-1]# cp -r www/* /var/www/html/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# chown -R apache:apache /var/www/html/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# mkdir /var/lib/rackmonkey [root@localhost rackmonkey-1.2.5-1]# chown apache:apache /var/lib/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# cp -r tmpl/ /var/lib/rackmonkey/ [root@localhost rackmonkey-1.2.5-1]# cp conf/httpd-rackmonkey.conf /etc/httpd/conf.d [root@localhost rackmonkey-1.2.5-1]# cp conf/rackmonkey.conf-default /etc/rackmonkey.conf
5-2. テーブル作成
[root@localhost rackmonkey-1.2.5-1]# cd sql/schema/ [root@localhost schema]# mysql -u root rackmonkeydb < schema.mysql.sql [root@localhost schema]# cd ../data/ [root@localhost data]# mysql -u root rackmonkeydb < default_data.sql [root@localhost data]# mysql -u root rackmonkeydb < sample_data.sql
5-3. DB・その他設定
[root@localhost ~]# vi /etc/rackmonkey.conf (snip) # NB. Comments must either start a line or follow whitespace # Database Connection Settings dbconnect = dbi:mysql:dbname=rackmonkeydb # DB設定 dbuser = rackmonkeyadmin # ログインユーザー名指定 dbpass = password # パスワード指定 # Path & URL Constants tmplpath = /var/lib/rackmonkey/tmpl # テンプレートが保存されているディレクトリのパスを指定 wwwpath = /rackmonkey # ブラウザからアクセスするパスを指定
(6)Apacheの起動
6-1. Apacheを起動する
[root@localhost ~]# service httpd start httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName [ OK ]
※ServerNameを指定していないので警告される
(7)RackMonkeyにアクセス
7-1. ブラウザでRackMonkeyにアクセスします
アドレス : http://ip_or_hostname/rackmonkey/rackmonkey.pl
これで、以下の画面が表示されれば成功です :D
ただし、デフォルトだと日本語の取り扱いに問題があるので以下のパッチを当てます。
(8)日本語対応パッチ適応
8-1. パッチをダウンロード
項目 | ダウンロード先 |
---|---|
rackmonkey-1.2.5-1_jp.patch.gz | ダウンロード |
md5 | f6ebde76d4485337c2fd5bfc11537bfd |
[root@localhost ~]# curl -L -O http://www.kurobuti.com/download/rackmonkey/rackmonkey-1.2.5-1_jp.patch.gz [root@localhost ~]# openssl md5 rackmonkey-1.2.5-1_jp.patch.gz MD5(rackmonkey-1.2.5-1_jp.patch.gz)= f6ebde76d4485337c2fd5bfc11537bfd
※注意 : パッチ適応は自己責任でお願いします。
※このパッチは、RackMonkey-1.2.5-1でのみ動作を確認しています。
・パッチの内容
--- old/rackmonkey.pl 2014-04-05 16:52:28.544395115 +0900 +++ new/rackmonkey.pl 2014-04-05 16:53:27.387393841 +0900 @@ -800,5 +800,6 @@ $note =~ s/\*\*(.*?)\*\*/$1/sg; # remove ** } + $note = decode_entities($note); return $note; } --- old/RackMonkey/CGI.pm 2014-04-05 16:52:28.544395115 +0900 +++ new/RackMonkey/CGI.pm 2014-04-05 16:54:01.657395022 +0900 @@ -159,7 +159,8 @@ sub header { my $self = shift; - my $type = shift || 'text/html'; + #my $type = shift || 'text/html'; + my $type = 'text/html; charset=UTF-8'; return $self->cgi->header($type); }
8-2. パッチを当てる
[root@localhost ~]# gunzip rackmonkey-1.2.5-1_jp.patch.gz [root@localhost ~]# cd /var/www/html/rackmonkey/ [root@localhost rackmonkey]# patch -p1 < /root/rackmonkey-1.2.5-1_jp.patch patching file rackmonkey.pl patching file RackMonkey/CGI.pm [root@localhost rackmonkey]# rm -f /root/rackmonkey-1.2.5-1_jp.patch
(9)日本語が化けないか確認
9-1. 日本語表示確認
以下の Room を作成してみます。
「Save」を押して保存します。
日本語が化け無ければ問題ありません :-)