Как установить Bacula-Web в Ubuntu 14.04

Вступление

Bacula-Web - это веб-приложение на PHP, которое предоставляет простой способ просмотра сводных данных и графиков уже выполненных заданий резервного копирования Bacula. Несмотря на то, что он не позволяет вам контролировать Bacula, Bacula-Web предоставляет графическую альтернативу просмотру заданий из консоли. Bacula-Web особенно полезен для пользователей, которые являются новичками в Bacula, так как его отчеты позволяют легко понять, что Bacula работает.

В этом руководстве мы покажем вам, как установить Bacula-Web на сервер Ubuntu 14.04, на котором запущено программное обеспечение вашего сервера Bacula.

Предпосылки

Чтобы следовать этому руководству, на сервере Ubuntu должно быть установлено программное обеспечение сервера резервного копирования Bacula. Инструкции по установке Bacula можно найти здесь: Как установить сервер Bacula в Ubuntu 14.04 ,

В этом руководстве предполагается, что ваша установка Bacula использует MySQL для каталога. Если вы используете другую СУБД, такую ​​как PostgreSQL, обязательно внесите соответствующие коррективы в это руководство. Вам нужно будет установить соответствующие модули PHP и внести коррективы в примеры информации о подключении к базе данных.

Давайте начнем.

Установите Nginx и PHP

Bacula-Web - это PHP-приложение, поэтому нам нужно установить PHP и веб-сервер. Мы будем использовать Nginx. Если вы хотите узнать больше об этой конкретной настройке программного обеспечения, ознакомьтесь с этой https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu -14-04 [Учебник по LEMP].

Обновите свои подходящие списки:

sudo apt-get update

Затем установите Nginx, PHP-fpm и несколько других пакетов с помощью apt-get:

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 =

Если вам нужен список поддерживаемых часовых поясов, ознакомьтесь с 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

Введите пароль в командной строке. Запомните этот логин, так как он понадобится вам для доступа к Bacula-Web.

Теперь откройте файл конфигурации блока сервера Nginx по умолчанию в текстовом редакторе. Мы будем использовать vi:

sudo vi /etc/nginx/sites-available/default

Замените содержимое файла следующим блоком кода. Обязательно замените выделенное значение + server_name + именем домена или IP-адресом вашего сервера:

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 ;

   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. На момент написания этой статьи + 7.0.3 + была последней версией:

cd ~
wget --content-disposition http://www.bacula-web.org/download.html?file=files/bacula-web.org/downloads/bacula-web-.tgz

Теперь создайте новый каталог + bacula-web +, измените его и распакуйте архив Bacula-Web:

mkdir bacula-web
cd bacula-web
tar xvf ../bacula-web-*.tgz

Перед копированием файлов в корневой каталог документов вашего веб-сервера, мы должны сначала настроить его.

Перейдите в каталог конфигурации следующим образом:

cd application/config

Bacula-Web предоставляет пример конфигурации. Скопируйте это так:

cp config.php.sample config.php

Теперь отредактируйте файл конфигурации в текстовом редакторе. Мы будем использовать vi:

vi config.php

Найдите + // MySQL bacula catalog + и раскомментируйте детали соединения. Также замените значение + password + на ваш пароль базы данных Bacula (его можно найти в + / etc / bacula / bacula-dir.conf + в настройке «dbpassword»):

// MySQL bacula catalog
$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = '';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

Сохранить и выйти.

Bacula-Web теперь настроен. Последний шаг - поместить файлы приложения в нужное место.

Скопируйте веб-приложение Bacula в корневой каталог документов

Мы настроили Nginx для использования + / usr / share / nginx / html + в качестве корня документа. Перейдите на него и удалите по умолчанию + 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 через браузер

Bacula-Web теперь доступна по доменному имени вашего сервера или общедоступному IP-адресу.

Вы можете проверить, что все настроено правильно. К счастью, предоставляется тестовая страница Bacula-Web. Получите доступ к нему, открыв этот URL в веб-браузере (замените выделенную часть информацией вашего сервера):

http:///test.php

Вы должны увидеть таблицу, которая показывает состояние различных компонентов Bacula-Web. Все они должны иметь зеленый флажок, за исключением модулей базы данных, которые вам не нужны. Например, мы используем MySQL, поэтому нам не нужны другие модули базы данных:

изображение: https: //assets.digitalocean.com/articles/bacula-web/test.png [Bacula-Web Test]

Если все выглядит хорошо, вы готовы использовать панель инструментов. Вы можете получить к нему доступ, нажав на текст в левом верхнем углу «Bacula-Web» или посетив свой сервер в веб-браузере:

http:///

Это должно выглядеть примерно так:

изображение: https: //assets.digitalocean.com/articles/bacula-web/bacula-web-dashboard.png [Bacula-Web Dashboard]

Заключение

Теперь вы готовы использовать Bacula-Web, чтобы легко отслеживать различные задания и статусы Bacula.

Повеселись!

Related