前書き

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

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

前提条件

このチュートリアルを実行するには、UbuntuサーバーにBaculaバックアップサーバーソフトウェアをインストールする必要があります。 Baculaのインストール手順は、https://www.digitalocean.com/community/tutorials/how-to-install-bacula-server-on-ubuntu-14-04 [Ubuntu 14.04にBaculaサーバーをインストールする方法]にあります。 。

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

始めましょう。

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

Bacula-WebはPHPアプリケーションですので、PHPとWebサーバーをインストールする必要があります。 Nginxを使用します。 この特定のソフトウェアのセットアップの詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntuをご覧ください。 -14-04 [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 =

サポートされているタイムゾーンのリストが必要な場合は、http://php.net/manual/en/timezones.php [PHP documentation]をご覧ください。

保存して終了。

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

sudo service php5-fpm restart

Nginxを構成する

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

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

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

プロンプトでパスワードを入力します。 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 ;

   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-.tgz

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

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

ファイルをウェブサーバーのドキュメントルートにコピーする前に、最初に設定する必要があります。

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

cd application/config

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

cp config.php.sample config.php

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

vi config.php

`+ // MySQL bacula catalog `を見つけて、接続の詳細をコメント解除します。 また、 ` password `の値をBaculaデータベースのパスワード(「dbpassword」設定の ` / etc / bacula / bacula-dir.conf +`にあります)に置き換えます:

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

保存して終了。

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

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

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

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

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

sudo mv ~/bacula-web/* .

ファイルの所有権をNginxを実行するデーモンユーザーである `+ www-data +`に変更します。

sudo chown -R www-data: *

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

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

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

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

http:///test.php

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

画像:https://assets.digitalocean.com/articles/bacula-web/test.png [Bacula-Web Test]

すべてがよさそうであれば、ダッシュボードを使用する準備ができています。 左上の「Bacula-Web」テキストをクリックするか、Webブラウザーでサーバーにアクセスしてアクセスできます。

http:///

これは次のようになります。

画像:https://assets.digitalocean.com/articles/bacula-web/bacula-web-dashboard.png [Bacula-Web Dashboard]

結論

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

楽しむ!