После развёртывания системы Bacula захотелось удобного инструмента для мониторинга. Конечно, можно обходиться стандартными инструментами, но всегда хочется что-нибудь простенькое, удобное и надёжное. Выбор пал на проект Webacula.
Обо всех возможностях Webacula можно узнать здесь. Ну что ж, приступим.
Подключим репозиторий epel:
Установим Webacula:
Установим дополнительные компоненты, необходимые для функционирования Webacula:
Все необходимые пакеты установлены, даже если мы их явно не указали, в том числе и сервер apache(если он не был установлен ранее). Особых изменений в конфигурацию web-сервера вносить не нужно.
Проверим, всё ли необходимое установлено:
Настроим, установленную нами, Bacula Console:
В ресурс Messages сервиса Director добавим(если ранее не было добалено при настройке Bacula) следующее:
Создадим каталог /usr/share/webacula/data/cache и выставим права:
Разрешим Webacula запускать bconsole(из web-интерфейса можно выполнять команды в bconsole). Для этого добавим пользователя apache в группу bacula и выставим права на файлы bconsole и bconsole.conf:
Проверим наличие модуля apache mod_rewrite:
Немного подправим php.ini:
Создадим файл /usr/share/webacula/html/.htaccess:
Теперь настроим подключение Webacula к базе MySQL. Снова открываем /etc/webacula/config.ini:
Теперь нам осталось создать таблицы для webacula в базе bacula. Для этого мы воспользуемся готовыми скриптами от webacula, но для начала внесём изменения в /usr/share/webacula/install/db.conf:
А теперь воспользуемся скриптами:
Таблицы созданы, пароль для доступа к интерфейсу сгенерирован, основные настройки внесены. Теперь осталось перезапустить сервер apache:
и зайти на страничку http://apache_server/webacula.
Обо всех возможностях Webacula можно узнать здесь. Ну что ж, приступим.
Подключим репозиторий epel:
[root@server-backup ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@server-backup ~]# yum localinstall epel-release-6-8.noarch.rpm
[root@server-backup ~]# yum localinstall epel-release-6-8.noarch.rpm
Установим Webacula:
[root@server-backup ~]# wget http://sourceforge.net/projects/webacula/files/rpms/5.5.1/webacula-5.5.1-1.el6.noarch.rpm/download
[root@server-backup ~]# yum localinstall webacula-5.5.1-1.el6.noarch.rpm
[root@server-backup ~]# yum localinstall webacula-5.5.1-1.el6.noarch.rpm
Установим дополнительные компоненты, необходимые для функционирования Webacula:
[root@server-backup ~]# yum install mysql php-mysql php-ZendFramework-Db-Adapter-Pdo-Mysql bacula-console
Все необходимые пакеты установлены, даже если мы их явно не указали, в том числе и сервер apache(если он не был установлен ранее). Особых изменений в конфигурацию web-сервера вносить не нужно.
Проверим, всё ли необходимое установлено:
[root@server-proxy ~]# cd /usr/share/webacula/install/
[root@server-proxy install]# ./check_system_requirements.php
Webacula check System Requirements...
sh: psql: команда не найдена
Current MySQL version = 5.1.67 OK
Current Sqlite version = 3.6.20 OK
Current PHP version = 5.3.3 OK
php pdo installed. OK
php gd installed. OK
php xml installed. OK
php dom installed. OK
php pdo_mysql installed. OK
Warning. PHP extension pdo_pgsql not installed.
php pdo_sqlite installed. OK
php-dom, php-xml installed. OK
Как видим, всё в порядке(PostgreSQL не используем). Стоит также отметить, что удачное выполнение скрипта ещё не гарантирует полной готовности системы для работы с Webacula.[root@server-proxy install]# ./check_system_requirements.php
Webacula check System Requirements...
sh: psql: команда не найдена
Current MySQL version = 5.1.67 OK
Current Sqlite version = 3.6.20 OK
Current PHP version = 5.3.3 OK
php pdo installed. OK
php gd installed. OK
php xml installed. OK
php dom installed. OK
php pdo_mysql installed. OK
Warning. PHP extension pdo_pgsql not installed.
php pdo_sqlite installed. OK
php-dom, php-xml installed. OK
Настроим, установленную нами, Bacula Console:
Director {
#имя ресурса Director сервиса Director
Name = bacula-dir
#порт, для подключения к сервису Director
DIRport = 9101
#адрес сервиса Director
address = <director_ip>
#пароль для соединения Console с сервисом Director
Password = "password-dir"
}Name = bacula-dir
#порт, для подключения к сервису Director
DIRport = 9101
#адрес сервиса Director
address = <director_ip>
#пароль для соединения Console с сервисом Director
Password = "password-dir"
В ресурс Messages сервиса Director добавим(если ранее не было добалено при настройке Bacula) следующее:
Messages {
...
Catalog = all, !skipped, !saved
...
}Catalog = all, !skipped, !saved
...
Создадим каталог /usr/share/webacula/data/cache и выставим права:
[root@server-backup ~]# mkdir -p /usr/share/webacula/data/cache
[root@server-backup ~]# chown root:apache /usr/share/webacula/data/cache
[root@server-backup ~]# chmod u=rwx,g=rwx,o= /usr/share/webacula/data/cache
[root@server-backup ~]# chown root:apache /usr/share/webacula/data/cache
[root@server-backup ~]# chmod u=rwx,g=rwx,o= /usr/share/webacula/data/cache
Разрешим Webacula запускать bconsole(из web-интерфейса можно выполнять команды в bconsole). Для этого добавим пользователя apache в группу bacula и выставим права на файлы bconsole и bconsole.conf:
[root@server-backup ~]# usermod -aG bacula apache
[root@server-backup ~]# chown root:bacula /usr/sbin/bconsole
[root@server-backup ~]# chmod u=rwx,g=rx,o= /usr/sbin/bconsole
[root@server-backup ~]# chown root:bacula /etc/bacula/bconsole.conf
[root@server-backup ~]# chmod u=rw,g=r,o= /etc/bacula/bconsole.conf
а также внесём изменения в /etc/webacula/config.ini(ссылка на /usr/share/webacula/application/config.ini):[root@server-backup ~]# chown root:bacula /usr/sbin/bconsole
[root@server-backup ~]# chmod u=rwx,g=rx,o= /usr/sbin/bconsole
[root@server-backup ~]# chown root:bacula /etc/bacula/bconsole.conf
[root@server-backup ~]# chmod u=rw,g=r,o= /etc/bacula/bconsole.conf
bacula.sudo = ""
bacula.bconsole = "/usr/sbin/bconsole"
bacula.bconsolecmd = "-n -c /etc/bacula/bconsole.conf"
bacula.bconsole = "/usr/sbin/bconsole"
bacula.bconsolecmd = "-n -c /etc/bacula/bconsole.conf"
Проверим наличие модуля apache mod_rewrite:
[root@server-proxy ~]# apachectl -t -D DUMP_MODULES 2>&1 | grep rewrite
rewrite_module (shared)
Вывод показывает наличие модуля, поэтому следуем далее.rewrite_module (shared)
Немного подправим php.ini:
max_execution_time = 3600
Создадим файл /usr/share/webacula/html/.htaccess:
[root@server-proxy ~]# cp /usr/share/webacula/html/.htaccess_original /usr/share/webacula/html/.htaccess
и немного изменим его:SetEnv APPLICATION_ENV production
RewriteBase /webacula
RewriteBase /webacula
Теперь настроим подключение Webacula к базе MySQL. Снова открываем /etc/webacula/config.ini:
[general]
db.adapter = PDO_MYSQL
db.config.host = <mysql_server_ip>
db.config.username = bacula
db.config.password = "bacula"
db.config.dbname = bacula
db.adapter = PDO_MYSQL
db.config.host = <mysql_server_ip>
db.config.username = bacula
db.config.password = "bacula"
db.config.dbname = bacula
Теперь нам осталось создать таблицы для webacula в базе bacula. Для этого мы воспользуемся готовыми скриптами от webacula, но для начала внесём изменения в /usr/share/webacula/install/db.conf:
#имя базы, в которой создавать таблицы для webacula
db_name="bacula"
#имя пользователя для соединения с базой
db_user="bacula"
#пароль пользователя
db_pwd="bacula"
#пароль суперпользователя root в web-интерфейсе
webacula_root_pwd="secret"
db_name="bacula"
#имя пользователя для соединения с базой
db_user="bacula"
#пароль пользователя
db_pwd="bacula"
#пароль суперпользователя root в web-интерфейсе
webacula_root_pwd="secret"
А теперь воспользуемся скриптами:
[root@server-proxy ~]# cd /usr/share/webacula/install/MySql/
[root@server-proxy MySql]# ./10_make_tables.sh -h <mysql_server_ip>
[root@server-proxy MySql]# ./20_acl_make_tables.sh -h <mysql_server_ip>
[root@server-proxy MySql]# ./10_make_tables.sh -h <mysql_server_ip>
[root@server-proxy MySql]# ./20_acl_make_tables.sh -h <mysql_server_ip>
Таблицы созданы, пароль для доступа к интерфейсу сгенерирован, основные настройки внесены. Теперь осталось перезапустить сервер apache:
[root@server-proxy ~]# service httpd restart
и зайти на страничку http://apache_server/webacula.
Заметка
В файле /etc/httpd/conf.d/webacula.conf имеется строка "LoadModule rewrite_module modules/mod_rewrite.so", которая дублирует такую же в основном конфигурационном файле apache /etc/httpd/conf/httpd.conf, поэтому закомментируйте её. На работоспособность это не влияет, но выдает замечание при запуске или перезапуске apache.
В файле /etc/httpd/conf.d/webacula.conf имеется строка "LoadModule rewrite_module modules/mod_rewrite.so", которая дублирует такую же в основном конфигурационном файле apache /etc/httpd/conf/httpd.conf, поэтому закомментируйте её. На работоспособность это не влияет, но выдает замечание при запуске или перезапуске apache.
make a tutorial using postgresql.. thanks
ОтветитьУдалить