如何在Ubuntu 14.04上安装Bacula-Web

介绍

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模块并调整数据库连接信息示例。

让我们开始吧。

安装Nginx和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

在您喜欢的文本编辑器中打开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

使用以下代码块替换文件的内容。请务必使用服务器的域名或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

切换到您的主目录,并下载最新的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。最后一步是将应用程序文件放在适当的位置。

将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

现在可以在服务器的域名或公共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》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏纯洁的微笑

springboot(十六):使用Jenkins部署Spring Boot

jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤; 第一步,jen...

69270
来自专栏用户2442861的专栏

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

14110
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装CouchDB和Futon

Apache CouchDB,类似Redis,Cassandra和MongoDB,是一个NoSQL数据库。CouchDB将数据存储为JSON文档,这些文档本质上...

30410
来自专栏晓晨的专栏

Gogs搭建教程-极易搭建的自助 Git 服务

43730
来自专栏电光石火

MyBatis Generator自动创建代码

        这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但...

25750
来自专栏JavaEdge

SpringBoot统一异常处理BasicErrorController定义全局异常处理类:并用@ControllerAdvice注解自定义异常类,继承Exception(或RuntimeExcept

1.5K90
来自专栏Gaussic

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 顶

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

11230
来自专栏向治洪

android最新更新方法

使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repos...

17980
来自专栏听Allen瞎扯淡

Mac OS X 安装 JDK备忘

oracle官网从jdk1.7开始才有Mac版的安装包,但有的项目必须使用jdk1.6,所以必须从其他途径安装jdk1.6了。查了下发现,要想安装jdk1.6,...

18230
来自专栏游戏杂谈

JNI开发示例

安装:eclipse(http://www.eclipse.org/)、CDT(C/C++ Development Tooling)、ADT(Android D...

16320

扫码关注云+社区

领取腾讯云代金券