Ubuntu14.04にBacula-Webをインストールする方法
序章
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データベースのパスワード(「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'] = 'bacula-db-pass';
$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/* .
ファイルの所有権を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のジョブとステータスを簡単に監視する準備が整いました。
楽しむ!