Baculaサーバインストール(ソースコードから)


CentOS7にBaculaサーバをソースコードからインストール手順を解説します。
Baculaの最新版を使用するには基本的にソースコードからのインストールになります。
これまでパッケージを使用したインストール手順を解説してきましたがパッケージを使用すると必ずしも最新版とはかぎりません。それで今回はソースコードからのインストールして最新版であるBacula7.4を使用してみましょう。

準備

まずfirewalldを停止します。

停止後にfirewalldが停止したことを確認しましょう。

# systemctl stop firewalld
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

<省略>

ここでfirewalldを停止するのは、インストール時に問題が発生した場合に切り分けをしやすくするために停止しています。
インストール、設定が終わった後にfirewalldを正しく設定してください。

MariaDBインストール

Baculaをインストールする前にデータベースをインストールします。
今回はMariadbを使用します。
以下のコマンドでMariaDBをインスールします。

# yum -y install mariadb-server

正常にMariaDBがインストールできたこと確認します。

# rpm -qa | grep mariadb
mariadb-server-5.5.44-2.el7.centos.x86_64
mariadb-libs-5.5.44-2.el7.centos.x86_64
mariadb-5.5.44-2.el7.centos.x86_64

インストールが完了したら、次はMariaDBの設定をします。

MariaDB設定

MariaDBを起動しついでに自動起動設定し、さらに初期設定をしていきましょう。

最初にMariaDBを起動します。起動後に起動確認をします。

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: active (running) since 水 2016-01-27 11:43:56 JST; 26s ago

<省略>

MariaDBの初期化を実施します。

# mysql_secure_installation

<省略>

Set root password? [Y/n] Y           ←「Y」を入力
New password: dbpass         ←rootのパスワードを入力
Re-enter new password: dbpass        ←rootのパスワードを再入力
Password updated successfully!
Reloading privilege tables..
... Success!

<省略>

Thanks for using MariaDB!
#

最後に「Thanks for using MariaDB!」が表示されることを確認します。
パスワードは任意のもので構いません、上記の例では「dbpass」に設定しています。
省略されている部分で[Y/n]を尋ねられることはすべてEnterキー押下で問題ありません。

パッケージ追加

ソースコードからインストールする場合にはコンパイルなどの作業が発生するためにパッケージの追加が必要になります。以下のコマンドでパッケージを追加します。

# yum -y install gcc-c++ readline-devel zlib-devel lzo-devel libacl-devel mt-st mtx postfix libssl-dev mariadb-devel

最新ファイル入手

次に最新版のBaculaを入手しましょう。以下のページから最新版をダウンロードして、インストール予定のサーバに格納しましょう。
https://sourceforge.net/projects/bacula/files/bacula/

以下のようなページになります。
以下の例ですと7.4.0が最新版ですので7.4.0をクリックします。

bacula-download

次に以下のようにファイルの一覧が表示されます。
「bacula-7.4.0.tar.gz」というファイルがBaculaサーバになりますのでダウンロードしてインストール予定のサーバに格納してください。

bacula-download-7.4

Baculaインストール

Baculaをインストールしていきましょう。
先ほどダウンロードしたファイルを「/tmp」に配置する前提とします。
まずファイルを解凍します。

# cd /tmp
# tar xvzf bacula-7.4.0.tar.gz

解凍したらbacula-7.4.0というディレクトリができますので、移動してインストール準備のためconfigreコマンドでソースコードをコンパイルしてインストールできる状態にします。
以下ではわかりやすくするために複数行にまたいでオプションを入力しています。
画面をそのままコピー&ペーストでも実行可能です。

# cd /tmp/bacula-7.4.0
# ./configure \
  --enable-smartalloc \
  --sbindir=/opt/bacula/bin \
  --sysconfdir=/opt/bacula/etc \
  --with-pid-dir=/opt/bacula/working \
  --with-subsys-dir=/opt/bacula/working \
  --with-working-dir=/opt/bacula/working \
  --with-mysql \
  --with-db-name=bacula

<省略>

表示結果は省略しますが、エラーがないことを確認します。

次にインストールを実行します。

# make install

<省略>

表示結果は省略しますが、エラーがないことを確認します。

次に忘れずに自動起動の設定をします。

# make install-autostart

エラーがないことを確認します。

Bacula用データベース作成

次にBacula用のデータベースを作成します。

# mysql -u root -p
Enter password: dbpass           ←rootのパスワードを入力
MariaDB > create database bacula;   ←createコマンドを実行
Query OK, 1 row affected (0.00 sec)
MariaDB > grant all privileges on bacula.* to bacula@localhost identified by 'dbpass';
Query OK, 0 rows affected (0.01 sec)           MariaDBのパスワード設定↑
MariaDB > quit
Bye

次にBacula用のテーブルを作成します。

# /opt/bacula/etc/make_bacula_tables mysql -u bacula -p
Making mysql tables
Enter password: dbpass    ↽rootのパスワードを入力
Creation of Bacula MySQL tables succeeded.

dbpassは先ほど設定したMariaDBのパスワードを入力します。

サーバ再起動

最後にサーバ再起動をします。

# reboot

再起動後は念のためBaculaが起動していることを確認しておきましょう。

# systemctl status bacula-dir
# systemctl status bacula-sd
# systemctl status bacula-fd

以上でBaculaサーバのインストールは終了です。

次に早速Baculaサーバの設定をしてみましょう。
続きは以下になります。
https://www.bacula.jp/server-setting

ソースからインストールした場合の設定ファイルの場所は以下になります。ご注意ください。

/opt/bacula/etc/