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

Startup Village 2018

Слайд шоу  
Представляем работы Виктора Чумачева
Виктор Чумачев – известный московский художник, который сотрудничает с «Системным администратором» уже несколько лет. Именно его забавные и воздушные, как ИТ, иллюстрации украшают многие серьезные статьи в журнале. Работы Виктора Чумачева хорошо знакомы читателям в России («Комсомольская правда», «Известия», «Московские новости», Коммерсант и др.) и за рубежом (США, Германия). Каждый раз, получая новый рисунок Виктора, мы в редакции улыбаемся. А улыбка, как известно, смягчает душу. Поэтому смотрите на его рисунки – и пусть у вас будет хорошее настроение!
1001 и 1 книга  
19.03.2018г.
Просмотров: 1242
Комментарии: 0
Конкурентное программирование на SCALA

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

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

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

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

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

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

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

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

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

Дискуссии  
17.09.2014г.
Просмотров: 17198
Комментарии: 3
Красть или не красть? О пиратском ПО как о российском феномене

Тема контрафактного ПО и защиты авторских прав сегодня актуальна как никогда. Мы представляем ...

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

03.03.2014г.
Просмотров: 20201
Комментарии: 1
Жизнь под дамокловым мечом

Политические события как катализатор возникновения уязвимости Законодательная инициатива Государственной Думы и силовых структур, ...

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

23.01.2014г.
Просмотров: 28696
Комментарии: 3
ИТ-специалист будущего. Кто он?

Так уж устроен человек, что взгляд его обращен чаще всего в Будущее, ...

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


  Опросы

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Ping-Admin.Ru — сервис мониторинга работы сайтов

 Настройка 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