前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上安装Bacula-Web

如何在Ubuntu 14.04上安装Bacula-Web

原创
作者头像
灬半痴
修改2018-09-30 17:19:10
9740
修改2018-09-30 17:19:10
举报

介绍

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列表:

代码语言:javascript
复制
sudo apt-get update

然后,使用apt-get安装Nginx,PHP-fpm和其他一些软件包:

代码语言:javascript
复制
sudo apt-get install nginx apache2-utils php5-fpm php5-mysql php5-gd

现在我们准备配置PHP和Nginx。

配置PHP-FPM

在您喜欢的文本编辑器中打开PHP-FPM配置文件。我们将使用vi:

代码语言:javascript
复制
sudo vi /etc/php5/fpm/php.ini

找到指定cgi.fix_pathinfo的行,取消注释,并用其替换其值0。你完成后应该看起来像这样。

代码语言:javascript
复制
cgi.fix_pathinfo=0

现在找到date.timezone设置,取消注释,并将其值替换为您的时区。我们在纽约,所以我们正在设定价值:

代码语言:javascript
复制
date.timezone = America/New_York

如果需要支持的时区列表,请查看PHP文档

保存并退出。

PHP-FPM配置正确,所以让我们重新启动它以使更改生效:

代码语言:javascript
复制
sudo service php5-fpm restart

配置Nginx

现在是时候配置Nginx来为PHP应用程序提供服务了。

首先,因为我们不希望未经授权的人访问Bacula-Web,所以让我们创建一个htpasswd文件。使用htpasswd创建一个名为“admin”的管理员用户(您应该使用其他名称),该用户可以访问Bacula-Web界面:

代码语言:javascript
复制
sudo htpasswd -c /etc/nginx/htpasswd.users admin

在提示符下输入密码。请记住此登录信息,因为您需要它来访问Bacula-Web。

现在在文本编辑器中打开Nginx默认服务器块配置文件。我们将使用vi:

代码语言:javascript
复制
sudo vi /etc/nginx/sites-available/default

使用以下代码块替换文件的内容。请务必使用服务器的域名或IP地址替换server_name值:

代码语言:javascript
复制
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。

代码语言:javascript
复制
sudo service nginx restart

现在我们准备下载Bacula-Web了。

下载并配置Bacula-Web

切换到您的主目录,并下载最新的Bacula-Web存档。

代码语言:javascript
复制
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存档:

代码语言:javascript
复制
mkdir bacula-web
cd bacula-web
tar xvf ../bacula-web-*.tgz

在将文件复制到Web服务器的文档根目录之前,我们应该先将其配置。

更改为配置目录,如下所示:

代码语言:javascript
复制
cd application/config

Bacula-Web提供了一个示例配置。像这样复制:

代码语言:javascript
复制
cp config.php.sample config.php

现在在文本编辑器中编辑配置文件。我们将使用vi:

代码语言:javascript
复制
vi config.php

找到// MySQL bacula catalog并取消注释连接详细信息。另外,将password值替换为您的Bacula数据库密码(可在“dbpassword”设置中的/etc/bacula/bacula-dir.conf里找到):

代码语言:javascript
复制
// 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

代码语言:javascript
复制
cd /usr/share/nginx/html
sudo rm index.html

现在,将Bacula-Web文件移动到当前位置,Nginx文档根目录:

代码语言:javascript
复制
sudo mv ~/bacula-web/* .

将文件的所有权更改为www-data,运行Nginx的守护程序用户:

代码语言:javascript
复制
sudo chown -R www-data: *

现在Bacula-Web已完全安装。

通过浏览器访问Bacula-Web

现在可以在服务器的域名或公共IP地址上访问Bacula-Web。

您可能希望测试所有配置是否正确。幸运的是,提供了Bacula-Web测试页面。通过在Web浏览器中打开此URL来访问它(用服务器的信息替换突出显示的部分):

代码语言:javascript
复制
http://server_public_IP/test.php

您应该看到一个表格,其中显示了Bacula-Web的各种组件的状态。除了您不需要的数据库模块外,它们都应具有绿色复选标记状态。例如,我们使用的是MySQL,因此我们不需要其他数据库模块:

如果一切顺利,您就可以使用仪表板了。您可以通过单击左上角的“Bacula-Web”文本或通过在Web浏览器中访问您的服务器来访问它:

代码语言:javascript
复制
http://server_public_IP/

它应该看起来像这样:

结论

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

玩的开心!

想要了解更多关于安装Bacula-Web的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How To Install Bacula-Web on Ubuntu 14.04》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 安装Nginx和PHP
    • 配置PHP-FPM
      • 配置Nginx
      • 下载并配置Bacula-Web
      • 将Bacula-Web应用程序复制到文档根目录
      • 通过浏览器访问Bacula-Web
      • 结论
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档