介绍
Bacula-Web 是一个 PHP 网页应用程序,提供了一个简单的方式来查看已经运行的 Bacula 备份工作的摘要和图表.虽然它不允许您以任何方式控制 Bacula,Bacula-Web 提供了一个图形化的替代方案,以查看工作从控制台。
在本教程中,我们将向您展示如何在运行您的Bacula服务器软件的Ubuntu 14.04服务器上安装Bacula Web。
前提条件
要遵循本教程,您必须在Ubuntu服务器上安装Bacula备份服务器软件. 安装Bacula的说明可以在这里找到: 如何在Ubuntu 14.04上安装Bacula服务器。
本教程假设您的 Bacula 设置是使用 MySQL 的目录. 如果您正在使用不同的 RDBMS,如 PostgreSQL,请确保对本教程进行适当的调整.您需要安装适当的 PHP 模块(s)并对数据库连接信息进行调整。
让我们开始吧。
安装 Nginx 和 PHP
Bacula-Web 是一个 PHP 应用程序,所以我们需要安装 PHP 和 Web 服务器. 我们会使用 Nginx. 如果您想了解更多关于这个特定软件设置的信息,请参阅此 LEMP 教程。
更新您的 apt-get 列表:
1sudo apt-get update
然后,安装 Nginx、PHP-fpm 和其他一些 apt-get 包:
1sudo apt-get install nginx apache2-utils php5-fpm php5-mysql php5-gd
现在我们已经准备好配置 PHP 和 Nginx。
配置 PHP-FPM
在您最喜欢的文本编辑器中打开 PHP-FPM 配置文件. 我们将使用 vi:
1sudo vi /etc/php5/fpm/php.ini
查找指定 cgi.fix_pathinfo
的行,删除评论,并将其值替换为 0
。
1cgi.fix_pathinfo=0
现在找到date.timezone
设置,删除评论,并将其值替换为您的时区。
1date.timezone = America/New_York
如果您需要支持的时区列表,请参阅 PHP 文档。
保存和退出。
PHP-FPM 已正确配置,所以让我们重新启动它以实现更改:
1sudo service php5-fpm restart
配置 Nginx
现在是时候配置 Nginx 来服务 PHP 应用程序了。
首先,因为我们不希望未经授权的人访问 Bacula-Web,让我们创建一个 htpasswd 文件. 使用 htpasswd 创建一个名为admin
的管理员用户(您应该使用另一个名称),可以访问 Bacula-Web 界面:
1sudo htpasswd -c /etc/nginx/htpasswd.users admin
请记住这个登录,因为你需要它来访问Bacula-Web。
现在,在文本编辑器中打开 Nginx 默认服务器封锁配置文件,我们将使用 vi:
1sudo vi /etc/nginx/sites-available/default
用以下代码块替换文件的内容. 请确保用您的服务器的域名或 IP 地址替换server_name
的突出值:
1server {
2 listen 80 default_server;
3 listen [::]:80 default_server ipv6only=on;
4
5 root /usr/share/nginx/html;
6 index index.php index.html index.htm;
7
8 server_name server_domain_name_or_IP;
9
10 auth_basic "Restricted Access";
11 auth_basic_user_file /etc/nginx/htpasswd.users;
12
13 location / {
14 try_files $uri $uri/ =404;
15 }
16
17 error_page 404 /404.html;
18 error_page 500 502 503 504 /50x.html;
19 location = /50x.html {
20 root /usr/share/nginx/html;
21 }
22
23 location ~ \.php$ {
24 try_files $uri =404;
25 fastcgi_split_path_info ^(.+\.php)(/.+)$;
26 fastcgi_pass unix:/var/run/php5-fpm.sock;
27 fastcgi_index index.php;
28 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
29 include fastcgi_params;
30 }
31}
这将 Nginx 配置为服务 PHP 应用程序,并使用我们之前创建的 htpasswd 文件进行身份验证。
要执行这些更改,请重新启动 Nginx。
1sudo service nginx restart
现在我们已经准备好下载Bacula-Web。
下载和配置 Bacula-Web
转到您的主目录,并下载最新的 Bacula-Web 档案. 在此写作时, 7.0.3
是最新的版本:
1cd ~
2wget --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 档案:
1mkdir bacula-web
2cd bacula-web
3tar xvf ../bacula-web-*.tgz
在将文件复制到我们的 Web 服务器的文档根之前,我们应该先配置它。
更改配置目录如下:
1cd application/config
Bacula-Web 提供一个样本配置. 复制如下:
1cp config.php.sample config.php
现在在文本编辑器中编辑配置文件. 我们将使用 vi:
1vi config.php
另外,用您的 Bacula 数据库密码取代密码
值(可以在dbpassword
设置中找到在/etc/bacula/bacula-dir.conf
):
1// MySQL bacula catalog
2$config[0]['label'] = 'Backup Server';
3$config[0]['host'] = 'localhost';
4$config[0]['login'] = 'bacula';
5$config[0]['password'] = 'bacula-db-pass';
6$config[0]['db_name'] = 'bacula';
7$config[0]['db_type'] = 'mysql';
8$config[0]['db_port'] = '3306';
保存和退出。
Bacula-Web 现在已配置,最后一步是将应用程序文件放到正确的位置。
将 Bacula-Web 应用程序复制到 Document Root
我们将 Nginx 配置为使用 /usr/share/nginx/html
作为文档根. 更改为它,然后用以下命令删除默认 index.html
:
1cd /usr/share/nginx/html
2sudo rm index.html
现在,将 Bacula-Web 文件移动到当前位置,即 Nginx 文档根:
1sudo mv ~/bacula-web/* .
更改文件的所有权为www-data
,即运行 Nginx 的 DAEMON 用户:
1sudo chown -R www-data: *
现在Bacula-Web已完全安装。
通过浏览器访问 Bacula-Web
Bacula-Web 现在可以通过您的服务器的域名或公共 IP 地址访问。
幸运的是,提供了一个Bacula-Web测试页面,可以通过在网页浏览器中打开此URL访问它(用您的服务器信息替换突出的部分):
1http://server_public_IP/test.php
您应该看到一个表,显示了Bacula-Web的各个组件的状态. 它们都应该具有绿色标记状态,除非您不需要的数据库模块。
如果一切看起来很好,你已经准备好使用仪表板. 你可以通过点击左上方的Bacula-Web
文本,或通过访问您的服务器在网页浏览器中访问它:
1http://server_public_IP/
它应该看起来像这样的东西:
结论
现在你已经准备好使用Bacula-Web来轻松监控你的各种Bacula工作和状态。
开心吧!