如何在 Ubuntu 14.04 上安装 Bacula-Web

介绍

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 Test

如果一切看起来很好,你已经准备好使用仪表板. 你可以通过点击左上方的Bacula-Web文本,或通过访问您的服务器在网页浏览器中访问它:

1http://server_public_IP/

它应该看起来像这样的东西:

Bacula-Web Dashboard

结论

现在你已经准备好使用Bacula-Web来轻松监控你的各种Bacula工作和状态。

开心吧!

Published At
Categories with 技术
comments powered by Disqus