介绍
Bacula-web是一个PHP Web应用程序,它提供了一个简单的方法来查看已经运行的Bacula备份作业的摘要和图形。 虽然它不允许你以任何方式控制Bacula,Bacula-web提供了一个图形的替代方法来从控制台查看作业。 Bacula-web对于刚接触Bacula的用户特别有用,因为它的报告使我们很容易理解Bacula的运作方式。
在本教程中,我们将向您展示如何在Bacula服务器软件运行的Ubuntu 14.04服务器上安装Bacula-web。
先决条件
要遵循本教程,您必须在Ubuntu服务器上安装Bacula备份服务器软件。 说明安装Bacula的可以在这里找到: 如何在Ubuntu 14.04安装Bacula的服务器 。
本教程假定您的Bacula安装程序使用MySQL作为目录。 如果您使用不同的RDBMS(如PostgreSQL),请务必对本教程进行适当调整。 您将需要安装相应的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
现在是时候配置Nginx来提供PHP应用程序。
首先,因为我们不想让未经授权的人访问Bacula-web,让我们创建一个htpasswd文件。 使用htpasswd创建一个名为“admin”的管理员用户(您应该使用其他名称),该用户可以访问Bacula-web界面:
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;
}
}
保存并退出。 这将配置Nginx为PHP应用程序提供服务,并使用我们之前创建的htpasswd文件进行身份验证。
要使更改生效,请重新启动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测试页。 通过在网络浏览器中打开此网址来访问它(用服务器的信息替换突出显示的部分):
http://server_public_IP/test.php
您应该看到一个表,显示Bacula-web的各个组件的状态。 它们都应具有绿色复选标记状态,但不需要的数据库模块除外。 例如,我们使用MySQL,因此我们不需要其他数据库模块:
如果一切正常,您就可以使用信息中心了。 您可以通过点击左上角的“Bacula-web”文本或通过在网络浏览器中访问您的服务器来访问它:
http://server_public_IP/
它应该看起来像这样:
结论
现在您已准备好使用Bacula-web轻松监控您的各种Bacula工作和状态。
玩的开心!