結構面白いソフトウェアを見つけた。と言うかじつは昔トライして失敗したソフトウェアなのだけど。
名前は「Bacula」。データプロテクションソフトウェアで、なんとオープンソース。概念はNetVaultやNetBackupにどこか似ている感じがして、造りとしてはなかなか面白いように見受けられる。逆に、Windows専門のARCServeやBackup Execに慣れ親しんでいる人にはちょっと扱いづらいかもしれない(特にWindows版は驚くほどタコだった)。が、特に個人とかで、ン十万もかけてデータプロテクションソフトウェアを購入している人(んなやついねぇよ)には朗報かもしれない。
一時は「バックアップできてもリストアできない」という涙々なもバグもあったのだけど、さすがにメジャーバージョン上がってるなら解消されているだろうーと、かなり個人的には楽観的(笑)
本記事ではBaculaのインストールについて書いてみようと思う。
今回の環境として、OSはCentOS5.3-32bitを、HardwareはVMware上の仮想マシンを使用する。
まずはリポジトリDBとなるMySQLの導入を行う。
[root@demeter ~]# yum -y install mysql-server
そしてMySQLを起動。
[root@demeter ~]# /etc/rc.d/init.d/mysqld start
MySQL データベースを初期化中: Installing MySQL system tables…・・・・・・・・・・(中略)・・・・・・・・・・
Please report any problems with the /usr/bin/mysqlbug script!The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
MySQL を起動中: [ OK ]
[root@demeter ~]# chkconfig mysqld on
MySQLサーバにログインしてみる。
[root@demeter ~]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distributionType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> select user,host,password from mysql.user;
・・・・・(出力結果省略:表が崩れちゃいました^^; )・・・・・・・・・・(passwordの列がカラになっていることを確認してください)・・・・
5 rows in set (0.00 sec)
これでリポジトリDBの準備は出来あがったので、他の前提パッケージを導入する。
[root@demeter ~]# yum -y install ncurses-devel libxml2-devel zlib-devel openssl-devel pango-devel atk-devel libtermcap-devel gtk2-devel libgnomeui-devel ORBit2-devel libart_lgpl-devel libbonobo-devel libbonoboui-devel GConf2-devel freetype-devel mysql-devel
BaculaのSRPMをゲットします。
[root@demeter ~]# wget http://nchc.dl.sourceforge.net/sourceforge/bacula/bacula-3.0.1-1.src.rpm
ゲットしたSRPMをベースにしてリビルド処理を開始します。
[root@demeter ~]# rpmbuild –rebuild –define “build_centos5 1” –define “build_mysql5 1” –define “nobuild_gconsole 0” bacula-3.0.1-1.src.rpm
これでバイナリを含めたRPMファイルが配置されます。RPMファイルは本ケースの場合、32bitモードでのコンパイルであるため、/usr/src/redhat/RPMS/i386 以下に配置されます。
[root@demeter i386]# ls
bacula-client-3.0.1-1.i386.rpm bacula-mysql-3.0.1-1.i386.rpm
bacula-debuginfo-3.0.1-1.i386.rpm bacula-updatedb-3.0.1-1.i386.rpm
bacula-mtx-3.0.1-1.i386.rpm
というわけで、これらRPMをインストールしていきます。今回の場合はどうやら以下のモノだけでよさそうです。
- bacula-mtx-3.0.1-1.i386.rpm
- bacula-mysql-3.0.1-1.i386.rpm
- bacula-updatedb-3.0.1-1.i386.rpm
[root@demeter i386]# rpm -ivh bacula-mtx-*.rpm
準備中… ########################################### [100%]
1:bacula-mtx ########################################### [100%][root@demeter i386]# rpm -ivh bacula-mysql*.rpm
準備中… ########################################### [100%]
1:bacula-mysql ########################################### [100%]
Hmm, doesn’t look like you have an existing database.
Granting privileges for MySQL user bacula…
Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connectionmax_user_connections
localhost root Y Y Y Y Y Y Y 0
demeter.bluecore.net root Y Y Y Y Y Y 0
127.0.0.1 root Y Y Y Y Y Y Y 0
% bacula N N N N N N N N 0
localhost bacula N N N N N N N 0
Privileges for bacula granted on bacula.
Creating MySQL bacula database…
Creation of bacula database succeeded.
Creating bacula tables…
Creation of Bacula MySQL tables succeeded.
[root@demeter i386]#
[root@demeter i386]# rpm -ivh bacula-updatedb*.rpm
準備中… ########################################### [100%]
1:bacula-updatedb ########################################### [100%]
The database update scripts were installed to /usr/lib/bacula/updatedb
[root@demeter i386]#
この状態でMySQLサーバにログインしてみる。
[root@demeter i386]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.77 Source distributionType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> select user,host,password from mysql.user;
こうすると、bacula@%ってユーザとbacula@localhostってユーザが追加されている事が分かる。必要テーブルが導入されたという形になるので、せめてrootだけはパスワードロックをかけるようにする。
mysql> set password for root@localhost=password(‘<なんか適当なパスワード>‘);
mysql> set password for root@’demeter.bluecore.net’=password(‘<なんか適当なパスワード>‘);
mysql> set password for root@’127.0.0.1’=password(‘<なんか適当なパスワード>‘);
一応これでプログラムの導入は完了。次回は超基本的な設定事項について記載する。
No responses yet