序章

Bacula-Webは、すでに実行されているBaculaバックアップジョブの要約とグラフを表示する簡単な方法を提供するPHPWebアプリケーションです。 Baculaを制御することはできませんが、Bacula-Webは、コンソールからジョブを表示するためのグラフィカルな代替手段を提供します。 Bacula-Webは、Baculaのレポートにより、Baculaが何を操作しているかを簡単に理解できるため、Baculaを初めて使用するユーザーにとって特に便利です。

このチュートリアルでは、Baculaサーバーソフトウェアが実行されているUbuntu14.04サーバーにBacula-Webをインストールする方法を示します。

前提条件

このチュートリアルに従うには、UbuntuサーバーにBaculaバックアップサーバーソフトウェアをインストールする必要があります。 Baculaをインストールする手順はここにあります: Ubuntu14.04にBaculaサーバーをインストールする方法。

このチュートリアルでは、BaculaのセットアップでカタログにMySQLを使用していることを前提としています。 PostgreSQLなどの別のRDBMSを使用している場合は、このチュートリアルを適切に調整してください。 適切なPHPモジュールをインストールし、データベース接続情報の例を調整する必要があります。

始めましょう。

NginxとPHPをインストールする

Bacula-WebはPHPアプリケーションであるため、PHPとWebサーバーをインストールする必要があります。 Nginxを使用します。 この特定のソフトウェア設定について詳しく知りたい場合は、このLEMPチュートリアルを確認してください。

apt-getリストを更新します。

sudo apt-get update

次に、apt-getを使用してNginx、PHP-fpm、およびその他のいくつかのパッケージをインストールします。

sudo apt-get install nginx apache2-utils php5-fpm php5-mysql php5-gd

これで、PHPとNginxを構成する準備が整いました。

PHP-FPMを構成する

お好きなテキストエディタでPHP-FPM設定ファイルを開きます。 viを使用します:

sudo vi /etc/php5/fpm/php.ini

指定する行を検索します cgi.fix_pathinfo、コメントを外し、その値を次のように置き換えます 0. 完了すると、次のようになります。

cgi.fix_pathinfo=0

今見つけます date.timezone 設定し、コメントを外して、その値をタイムゾーンに置き換えます。 私たちはニューヨークにいるので、それが私たちが値を設定しているものです:

date.timezone = America/New_York

サポートされているタイムゾーンのリストが必要な場合は、PHPドキュメントを確認してください。

保存して終了。

PHP-FPMは適切に構成されているので、変更を有効にするために再起動してみましょう。

sudo service php5-fpm restart

Nginxを構成する

次に、PHPアプリケーションを提供するようにNginxを構成します。

まず、許可されていない人にBacula-Webにアクセスさせたくないので、htpasswdファイルを作成しましょう。 htpasswdを使用して、Bacula-Webインターフェイスにアクセスできる「admin」(別の名前を使用する必要があります)という管理ユーザーを作成します。

sudo htpasswd -c /etc/nginx/htpasswd.users admin

プロンプトでパスワードを入力します。 Bacula-Webにアクセスするために必要になるため、このログインを覚えておいてください。

次に、Nginxのデフォルトのサーバーブロック構成ファイルをテキストエディターで開きます。 viを使用します:

sudo vi /etc/nginx/sites-available/default

ファイルの内容を次のコードブロックに置き換えます。 強調表示された値を必ず置き換えてください server_name サーバーのドメイン名またはIPアドレスを使用して:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name server_domain_name_or_IP;
    
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存して終了。 これにより、PHPアプリケーションを提供し、認証に以前に作成したhtpasswdファイルを使用するようにNginxが構成されます。

変更を有効にするには、Nginxを再起動します。

sudo service nginx restart

これで、Bacula-Webをダウンロードする準備が整いました。

Bacula-Webのダウンロードと設定

ホームディレクトリに移動し、最新のBacula-Webアーカイブをダウンロードします。 この記事の執筆時点では、 7.0.3 最新バージョンでした:

cd ~
wget --content-disposition http://www.bacula-web.org/download.html?file=files/bacula-web.org/downloads/bacula-web-7.0.3.tgz

次に、新しいディレクトリを作成します。 bacula-web、それに変更し、Bacula-Webアーカイブを抽出します。

mkdir bacula-web
cd bacula-web
tar xvf ../bacula-web-*.tgz

ファイルをWebサーバーのドキュメントルートにコピーする前に、まずそれを構成する必要があります。

次のように構成ディレクトリに移動します。

cd application/config

Bacula-Webはサンプル構成を提供します。 次のようにコピーします。

cp config.php.sample config.php

次に、テキストエディタで構成ファイルを編集します。 viを使用します:

vi config.php

を見つける // MySQL bacula catalog、接続の詳細のコメントを解除します。 また、 password Baculaデータベースのパスワードを使用した値( /etc/bacula/bacula-dir.conf 「dbpassword」設定で):

// MySQL bacula catalog
$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = 'bacula-db-pass';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

保存して終了。

これでBacula-Webが構成されました。 最後のステップは、アプリケーションファイルを適切な場所に配置することです。

Bacula-Webアプリケーションをドキュメントルートにコピー

使用するようにNginxを構成しました /usr/share/nginx/html ドキュメントルートとして。 それに変更し、デフォルトを削除します index.html、次のコマンドを使用します。

cd /usr/share/nginx/html
sudo rm index.html

次に、Bacula-Webファイルを現在の場所であるNginxドキュメントルートに移動します。

sudo mv ~/bacula-web/* .

ファイルの所有権を次のように変更します www-data、Nginxを実行するデーモンユーザー:

sudo chown -R www-data: *

これで、Bacula-Webが完全にインストールされました。

ブラウザ経由でBacula-Webにアクセスする

Bacula-Webは、サーバーのドメイン名またはパブリックIPアドレスでアクセスできるようになりました。

すべてが正しく構成されていることをテストすることをお勧めします。 幸いなことに、Bacula-Webテストページが提供されています。 WebブラウザでこのURLを開いてアクセスします(強調表示された部分をサーバーの情報に置き換えます)。

http://server_public_IP/test.php

Bacula-Webのさまざまなコンポーネントのステータスを示す表が表示されます。 不要なデータベースモジュールを除いて、すべて緑色のチェックマークステータスになっている必要があります。 たとえば、MySQLを使用しているため、他のデータベースモジュールは必要ありません。

すべてが良好に見える場合は、ダッシュボードを使用する準備ができています。 左上の「Bacula-Web」テキストをクリックするか、Webブラウザでサーバーにアクセスしてアクセスできます。

http://server_public_IP/

次のようになります。

結論

これで、Bacula-Webを使用して、さまざまなBaculaのジョブとステータスを簡単に監視する準備が整いました。

楽しむ!