Bacula-Web是一个PHP Web应用程序,它提供了一种查看已经运行的Bacula备份作业的摘要和图形的简便方法。虽然它不允许您以任何方式控制Bacula,但Bacula-Web提供了从控制台查看作业的图形替代方案。Bacula-Web对于Bacula的新用户特别有用,因为它的报告使人们很容易理解Bacula的运作方式。
在本教程中,我们将向您展示如何在运行Bacula服务器软件的Ubuntu 14.04服务器上安装Bacula-Web。
要学习本教程,您必须在Ubuntu服务器上安装Bacula备份服务器软件。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。
本教程假设您的Bacula设置使用MySQL作为目录。如果您使用的是其他RDBMS,例如PostgreSQL,请务必对本教程进行适当的调整。您需要安装相应的PHP模块并调整数据库连接信息示例。
让我们开始吧。
Bacula-Web是一个PHP应用程序,因此我们需要安装PHP和Web服务器。我们将使用Nginx。
更新您的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配置文件。我们将使用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应用程序提供服务了。
首先,因为我们不希望未经授权的人访问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
使用以下代码块替换文件的内容。请务必使用服务器的域名或IP地址替换server_name
值:
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存档。
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。最后一步是将应用程序文件放在适当的位置。
我们用/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已完全安装。
现在可以在服务器的域名或公共IP地址上访问Bacula-Web。
您可能希望测试所有配置是否正确。幸运的是,提供了Bacula-Web测试页面。通过在Web浏览器中打开此URL来访问它(用服务器的信息替换突出显示的部分):
http://server_public_IP/test.php
您应该看到一个表格,其中显示了Bacula-Web的各种组件的状态。除了您不需要的数据库模块外,它们都应具有绿色复选标记状态。例如,我们使用的是MySQL,因此我们不需要其他数据库模块:
如果一切顺利,您就可以使用仪表板了。您可以通过单击左上角的“Bacula-Web”文本或通过在Web浏览器中访问您的服务器来访问它:
http://server_public_IP/
它应该看起来像这样:
现在您已准备好使用Bacula-Web轻松监控您的各种Bacula工作和状态。
玩的开心!
想要了解更多关于安装Bacula-Web的相关教程,请前往腾讯云+社区学习更多知识。
参考文献:《How To Install Bacula-Web on Ubuntu 14.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。