Настройка Webacula. Веб-интерфейс к Bacula::Журнал СА 12.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9953
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8162
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8263
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5230
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5918
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Настройка Webacula. Веб-интерфейс к Bacula

Архив номеров / 2009 / Выпуск №12 (85) / Настройка Webacula. Веб-интерфейс к Bacula

Рубрика: Администрирование /  Инструменты

СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и 4 книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Настройка Webacula
Веб-интерфейс к Bacula

Bacula – популярная Open Source-система резервного копирования. Использование веб-интерфейса Webacula позволит сделать работу с ней на порядок удобнее.

Bacula [1] достаточно мощная утилита резервного копирования и восстановления данных, о возможностях которой уже не раз говорилось на страницах журнала [2-4]. Тем не менее процесс установки, повседневного управления и получения отчетов недостаточно удобен и нагляден. Именно поэтому написан не один десяток графических интерфейсов к Bacula, разной степени готовности и возможностей. Одним из первых и до сих пор наиболее функциональных является Webacula (Web + Bacula) [5], о настройке которого и поговорим дальше.

Рисунок 1. Проверка наличия необходимых компонентов

Рисунок 1. Проверка наличия необходимых компонентов

Возможности Webacula

Webacula является типичным веб-приложением, требующим для своей работы стандартную связку LAMP (Linux + Apache + MySQL + PHP). Построен при помощи Zend Framework. Используя веб-браузер, администратор может удаленно запустить задание, восстановить файлы по идентификатору задания, из самой последней копии клиента, данные перед указанным временем, вывести запланированные и выполненные задания (все и в 24-часовом промежутке), задания, выполненные с ошибками (за 7 дней), вывод временной диаграммы заданий и состояния хранилищ, монтирование и размонтирование хранилищ, состояние томов. Возможно транслирование результатов в RSS-ленту. Кроме этого, доступен журнал (хранится в базе данных Webacula), в который администратор самостоятельно записывает необходимую ему информацию (описание задания, сбои и причины и так далее). Такие записи могут содержать гиперссылки на задания, для быстрого перехода.

Рисунок 2. Веб-интерфейс Webacula

Рисунок 2. Веб-интерфейс Webacula

Интерфейс Webacula переведен на шесть языков, в списке есть и русский. Основные номера версий совпадают с Bacula, текущей на момент написания статьи является 3.1. Распространяется на условиях GPLv3.

Установка Webacula в Ubuntu

В статье буду описывать установку Webacula на Ubuntu 8.04 LTS, хотя для других дистрибутивов общий принцип сохраняется. Для Webacula нам потребуется: веб-сервер с модулем mod_rewrite и поддержкой PHP, Zend Framework версии 1.8.3 (требует PHP 5.2.4 или выше) с установленным расширением PDO, пакет php-gd. В качестве СУБД можно использовать MySQL или PostgreSQL (поддержка появилась в текущей версии Webacula). И собственно Bacula. Разработчики рекомендуют использовать версию 3.х, но в репозитарии Ubuntu 8.04 находится более ранняя версия Bacula 2.4.2, с которой Webacula отлично срабатывается.

Устанавливаем пакеты для MySQL:

$ sudo apt-get install mysql-server mysql-client

В процессе установки должен появиться запрос на ввод пароля администратора базы данных, иначе устанавливаем его самостоятельно:

$ sudo mysqladmin -u root password пароль

По умолчанию Bacula устанавливается с поддержкой MySQL для директора (Director) и сервера хранения (Storage Daemon, SD).

$ sudo apt-get install bacula

НОВЫЕ пакеты, которые будут установлены:

 bacula bacula-client bacula-director-mysql

 bacula-sd-mysql bacula-server

По ходу инсталляции будет задан запрос на установку имени учетной записи (по умолчанию bacula) и пароля. Соответствующая база данных создается, но в конфигурационный файл директора учетные данные пользователя не заносятся. Поэтому редактируем bacula-dir.conf.

$ sudo nano /etc/bacula/bacula-dir.conf

Catalog {

 Name = MyCatalog

 dbname = "bacula"; dbuser = "bacula"; dbpassword = "baculapass"

}

# Для вывода сообщений выводимых при выполнении заданий

Для показа сообщений, которые выводятся во время выполнения заданий, измените блок Messages:

Messages:

Messages {

Name = Standard

...

catalog = all, !skipped, !saved

}

# Для вывода сообщений выводимых при выполнении заданий

Для показа сообщений, которые выводятся во время выполнения заданий, измените блок Messages:

Messages:

Messages {

Name = Standard

...

catalog = all, !skipped, !saved

}

Настройку остальных параметров работы Bacula рассматривать не будем. Перезапускаем демон директора.

$ sudo /etc/init.d/bacula-director restart

Утилита netstat должна показать активность трех демонов:

$ netstat -l | grep bacula

tcp 0 0 comp.serv:bacula-dir *:* LISTEN

tcp 0 0 comp.serv:bacula-fd *:* LISTEN

tcp 0 0 comp.serv:bacula-sd *:* LISTEN

C Bacula закончили.

Готовим среду для веб-панели

Веб-сервер Apache устанавливается стандартным образом.

$ sudo apt-get install apache2 php5 libapache2-mod-php5 php5-mysql php5-gd

Активируем модуль PHP и mod_rewrite.

$ sudo a2enmod php5

This module already enabled.

$ sudo a2enmod rewrite

Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.

Создаем рабочий каталог для Webacula и копируем в него файлы:

$ sudo mkdir /var/www/webacula

$ wget -c http://dfn.dl.sourceforge.net/project/webacula/webacula/3.1/webacula-3.1.rc1.tar.gz

После загрузки распаковываем архив в /var/www/webacula.

Я использовал svn-версию Webacula.

$ sudo svn co http://webacula.svn.sourceforge.net/svnroot/webacula/trunk/webacula /var/www/webacula

В Ubuntu Apache работает от имени www-data, устанавливаем владельца на файлы:

$ sudo chown -R www-data:www-data /var/www/webacula

В последней версии Webacula появился скрипт для проверки наличия необходимых компонентов.

$ php5 /var/www/webacula/install/check_system_requirements.php

Check System Requirements...

Current MySQL version = 5.0.51 OK

Current PHP version = 5.2.4-2ubuntu5.6 OK

php pdo installed. OK

php gd installed. OK

php xml installed. OK

php dom installed. OK

php pdo_mysql installed. OK

Warning. php pdo_pgsql extension not installed.

php-dom, php-xml installed. OK

Разработчики уже включили в комплект поставки Zend (находится в каталоге library), поэтому отдельно его скачивать нет необходимости (в репозитарии Ubuntu текущая версия к тому же сильно запаздывает 1.5.1).

$ cd /var/www/webacula/library

$ sudo tar xzvf Zend-1.8.3.tar.gz

Для распаковки Zend предложен скрипт, поэтому можно просто ввести:

$ sudo ./runme

Для настройки параметров подключения к базе данных используется конфигурационный файл config.ini:

$ sudo nano /var/www/webacula/application/config.ini

# Указываем учетную запись для подключения к базе bacula

[general]

db.adapter = PDO_MYSQL

; db.adapter = PDO_PGSQL

db.config.host = localhost

db.config.username = bacula

db.config.password = baculapass

db.config.dbname = bacula

; Часовой пояс http://www.php.net/timezones

def.timezone = "Europe/Moscow"

; Webacula попытается определить язык автоматически, иначе снимаем комментарий

; locale = "ru"

; Каталог для временных файлов, директор должен иметь права на чтение

tmpdir = "/tmp"

; Webacula, а если точнее, то веб-сервер должен иметь возможность запуска консоли управления bconsole.

; Предусмотрено два варианта реализации, через sudo и установкой прав. Подробности INSTALL,

; мы используем второй вариант

; bacula.sudo = "/usr/bin/sudo"

; Проверяем пути к файлам

bacula.bconsole = "/usr/bin/bconsole"

bacula.bconsolecmd = "-n -c /etc/bacula/bconsole.conf"
 

; Подключение к базе webacula

[webacula]

db.adapter = PDO_MYSQL

; db.adapter = PDO_PGSQL

db.config.host = localhost

db.config.username = wbuser

db.config.password = wbpass

db.config.dbname = webacula

email.to_admin = root@localhost

email.from = webacula@localhost

При установке bacula создается одноименная системная группа, проверяем ее наличие и добавляем в нее учетную запись, от которой работает веб-сервер.

$ sudo usermod -aG bacula www-data

$ cat /etc/group | grep bacula

bacula:x:125:www-data

Устанавливаем необходимые права на файлы:

$ sudo chown root:bacula /usr/bin/bconsole

$ sudo chmod 750 /usr/bin/bconsole

$ sudo chown root:bacula /etc/bacula/bconsole.conf

$ sudo chmod 640 /etc/bacula/bconsole.conf

Конфигурационный файл веб-сервера:

$ sudo nano /etc/apache/sites-available/webacula

Alias "/webacula" "/var/www/webacula/html"

<Directory "/var/www/webacula/html">

    Options Indexes FollowSymLinks

    AllowOverride All

    Order deny,allow

    Allow from 127.0.0.1

    Allow from 192.168.1.0/255.255.255.0

    AuthType Basic

    AuthName "Webacula"

    AuthUserFile /etc/apache2/webacula.users

    Require valid-user

</Directory>

Активируем сайт.

$ sudo a2ensite webacula

Site webacula installed; run /etc/init.d/apache2 reload to enable.

Пароль для доступа к интерфейсу:

$ sudo htpasswd -c /etc/apache2/webacula.users admin

New password:

Re-type new password:

Adding password for user admin

В корневом каталоге сайта по умолчанию создается .htaccess такого содержания:

$ cat /var/www/webacula/html/.htaccess

php_flag magic_quotes_gpc off

php_flag register_globals off

RewriteEngine On

RewriteBase /webacula

RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Разработчики рекомендуют увеличить значения memory_limit и max_execution_time в /etc/php5/apache/php.ini:

memory_limit = 32M

max_execution_time = 300

При больших нагрузках устанавливаем еще большие значения. После перезапускаем веб-сервер:

$ sudo /etc/init.d/apache2 reload

Проверить, загружен ли mod_rewrite, можно двумя способами. При помощи apachectl:

$ sudo apachectl -t -D DUMP_MODULES 2>&1 | grep rewrite

rewrite_module (shared)

Также для проверки работы разработчики предлагают тестовую веб-страницу, просто набираем ссылку http://localhost/webacula/test_mod_rewrite.

Теперь нужно создать учетную запись пользователя MySQL для работы Webacula и установить необходимые права:

$ mysql -u root -p

mysql> CREATE USER 'wbuser'@'localhost' IDENTIFIED BY 'wbpass';

mysql> GRANT ALL PRIVILEGES ON *.* TO 'webacula'@'localhost' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> quit

Для создания базы данных и таблиц разработчики предлагают скрипты, которые находятся в подкаталоге install. Перед их запуском следует указать в webacula_mysql_create_database.sh учетные данные пользователя для подключения к СУБД (для PostgreSQL другие файлы):

$ sudo nano /var/www/webacula/install/webacula_mysql_create_database.sh

db_user="wbuser"

db_password="wbpass"

host="localhost"

Теперь выполняем два скрипта – webacula_mysql_create_database.sh и webacula_mysql_make_tables.sh.

Перезапускаем Bacula и заходим по адресу http://localhost/webacula. Интерфейс достаточно прост, поэтому разобраться с дальнейшей работой с Webacula очень просто. В первом окне показывается список запланированных и выполненных заданий, а также заданий, выполненных с ошибками. Остальную информацию можно получить, перемещаясь по меню, расположенному в верхней части окна.

Для удаления временных файлов в каталоге tmpdir следует использовать скрипт wb_clean_tmp.sh, запускаемый при помощи cron.

***

В итоге мы получили простую в использовании и наглядную систему резервного копирования и восстановления информации.

  1. Сайт проекта Bacula – http://bacula.org.
  2. Гринько А. Архивируем данные с помощью Bacula. //Системный администратор, №4, 2005 г. – С. 42-46.
  3. Яремчук С. Обзор систем резервного копирования. //Системный администратор, №9, 2006 г. – С. 22-29.
  4. Яремчук С. Полезные советы по Bacula. //Системный администратор, №11, 2006 г. – С. 53.
  5. Сайт проекта Webacula – http://webacula.sourceforge.net/ru.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru