Capítulo 10 – Instalar Interfaces Gráficas (webmin, webacula, bat, bacula-web etc.)

 

X.1 BAT – “Bacula Administration Tool” (desktop)

a) Pacotes (Linux):

Para instalar essa ferramenta gráfica do “Bacula”, este é o pacote: bacula-console-qt. No Ubuntu ou Debian:

apt-get install bacula-console-qt

Depois de instalado, edite o arquivo /etc/bacula/bat.conf, de maneira bem parecida com seu bconsole.conf, do servidor “Bacula”.

Provavelmente, você precisará mudar o nome do director, endereço do director (ip) e a senha de console, que consiste naquela primeira do bacula-dir.conf, no recurso “Director”.

b) Na compilação do “Bacula” (Linux):

1. Instale as dependências. Exemplo no Debian 8:

apt-get install build-essential pkg-config libqwt5-qt4 libqwt5-qt4-dev

2. Compile o bacula com a seguinte opção (em negrito):

./configure –enable-bat
make
make install

 

c) Pacote (Windows):

Baixe o pacote Bacula para sua plataforma Windows e, na tela de seleção de componentes, selecione apenas as consoles desejadas para instalação:

Capítulo 10 - Instalar Interfaces Gráficas (webmin, webacula, bat, bacula-web etc.) 1

 

x.2 Webacula 7.x

Capítulo 10 - Instalar Interfaces Gráficas (webmin, webacula, bat, bacula-web etc.) 2

[TRAZER ITEM 14.1.2 EDIÇÃO 1 DO LIVRO]

Procedimentos Manuais para Instalação do Webacula (GUI)

Requerimentos:

– Bacula 5.0 ou superior.
– Zend Framework versão 1.10 ou superior (para este manual testamos a 1.11.5).
– PHP 5.2.4 ou superior com a extensão PDO ativa. Detalhes: http://framework.zend.com/manual/en/requirements.html
– Apache com mod_rewrite.
– Pacote php-gd package.
– Criação de um banco “webacula” para restauração de arquivos e para o recurso de “Logbook”.

Download e Cópia dos Pacotes (Debian):

apt-get install apache2 php5 libapache2-mod-php5 php5-mysql php5-gd php5-pgsql

Para CentOS:

yum install httpd php php-gd php-mysql

E então:

mkdir /var/www/

(provavelmente já estaria criado)

Entre no site oficial do webacula (http://webacula.sourceforge.net/) faça o download do pacote que contém o código fonte (.tar.gz) mais recente dentro do diretório /var/www.

cd /var/www

wget http://downloads.sourceforge.net/project/webacula/webacula/7.0.0/webacula-7.0.0.tar.gz

tar -xzvf webacula-7*.tar.gz

Depois acesse o site oficial do zend (http://framework.zend.com/) – botão “Download Now” baixe a verão mínima do framework (Zend Framework 1.11.5 Minimal) e decompacte a subpasta “library” (contida no pacote tar.gz) dentro do seguinte diretório “/var/www/webacula…/“.

wget -qO- 
https://packages.zendframework.com/releases/ZendFramework-1.11.5/ZendFramework-1.11.5-minimal.tar.gz | 
tar -xzvf ./ZendFramework-1.11.5-minimal.tar.gz --strip=1 */library/* -C /var/www/webacula-7*/

A árvore de diretórios deve ficar assim “/var/www/webacula…/library/Zend…”, ou:

/var/www/webacula/
|– application
|     |– controllers
|     |– models
|      `– views
|– docs
|– install
|– html
|– languages
`– library
.      |– Other
.      |– MyClass
.      |
.      `– Zend (este é o pacote do Zend Framework)
.              |– Acl
.              |– Auth
.              |– Cache
.              |– Config
.              …

Instalação do Webacula:

Modfique os nomes de usuário do Webacula e do banco de dados no arquivo db.conf:

cd /var/www/webacula*/install/
vi db.conf

# bacula settings (nome do banco do bacula)
db_name=”bacula”
# for Sqlite only
db_name_sqlite=”/var/bacula/working/bacula.db”
db_user=”root”

# CHANGE_THIS
db_pwd=”” <==(Modifique!! Senha de usuário admin do banco de dados)

# Webacula web interface settings

#
# CHANGE_THIS
webacula_root_pwd=”” <==(Não vamos modificar agora).

Execute o script correspondente ao seu Banco de Dados (o mesmo do Bacula)

cd /var/www/webacula*/install/MySql

ou

cd /var/www/webacula*/install/PostgreSql

ou

cd /var/www/webacula*/install/SqLite

E agora execute os scripts que criarão o banco, tabelas e direitos do Webacula:

./10_make_tables.sh
./20_acl_make_tables.sh

Alterar senha de root do Webacula no Banco de Dados

Gerar senha MD5:

Volte ao diretório /var/www/webacula*/install/, e crie uma senha (em hash) para o usuário root do webacula:

./password-to-hash.php nova_senha
$P$BeTUuIOyWSQl9C5ytEnxhuV83WLeYn1

Copie essa senha. Vamos atualizar ela agora no banco de dados.

a) Mysql:

#mysql -u root -p

Acessando o Banco do Bacula

mysql> use bacula;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Agora vamos alterar a senha do usuário root de acesso ao webacula (não é o root do mysql):

mysql&gt; update webacula_users set  pwd=’$P$BeTUuIOyWSQl9C5ytEnxhuV83WLeYn1′ where id=1000;Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

Saindo do mysql
mysql> quit
Bye

b) PostgreSQL:

1) su postgres
2) encontrar no console do PostgreSQL (psql)
3) conectar ao banco do bacula com o comando “connect bacula”
4) Executar o update da senha com
update webacula_users SET pwd  = 'senha hash do db.conf' where id = '1000';

Configuração do Bacula:

Adicione o conteúdo em negrito no seu /etc/bacula/bacula-dir.conf:

Messages {
Name = Standard

catalog = all, !skipped, !saved

por fim reinicie o Director:

/etc/init.d/bacula-director restart

Configuração PHP:

e então aumente estes valores nas seguintes linhas do arquivo /etc/php5/apache2/php.ini (o caminho pode variar de acordo com o Sistema Operacional. No caso do CentOS: /etc/php.ini):

memory_limit = 32M
max_execution_time = 3600

Configuração Apache:

Copie o arquivo de configuração modelo do Webacula para o Apache*.

cp /var/www/webacula*/install/apache/webacula.conf /etc/apache2/sites-enabled/

No caso do CentOS, o diretório destino do Apache seria /etc/httpd/conf.d.

Agora, vamos editar o webacula.conf:

vi /etc/apache2/sites-enabled/webacula.conf

Altere o Alias e o caminho Directory para o caminho do seu Webacula…

Alias /webacula /var/www/webacula-7.0.0/html
<Directory /var/www/webacula-7.0.0/html>

Ele deve ficar parecido com isso (exemplo):
Alias /webacula /var/www/webacula/html

RewriteEngine On

RewriteBase /webacula
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ – [NC,L]
RewriteRule ^.*$ index.php [NC,L]

php_flag magic_quotes_gpc off
php_flag register_globals off

Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow

Deny from all
Allow from 127.0.0.1
Allow from localhost
Allow from ::1
#
# change the settings below
#
# Allow from

Agora, configure o mod_rewrite (necessário apenas para o Debian). No bash:

echo rewrite | a2enmod && service apache2 restart

Configurando Permissões:

Em seguida

#chown -R www-data. /var/www/webacula* (não esquecer o “ponto” depois de “www-data”. No caso do CentOS: “apache”)

Altere o arquivo:

#vi /var/www/webacula*/application/config.ini

Insira a senha de administrador do seu banco de dados:

db.adapter = PDO_MYSQL
db.config.host = localhost
db.config.username = root
db.config.password = <password>
db.config.dbname = bacula

Altere o def.timezone para:

def.timezone = “America/Sao_Paulo”

Se desejar altere o idioma para Português. Altere a linha “; locale = “en” para:

locale = “pt_BR”

Edite as seguintes linhas e deixe como abaixo:

bacula.sudo = “”

bacula.bconsole = “/usr/sbin/bconsole”

bacula.bconsolecmd = “-n -c /etc/bacula/bconsole.conf”

Então altere as permissões dos seguintes arquivos:

chown www-data /usr/sbin/bconsole

chmod u=rwx,g=rx,o= /usr/sbin/bconsole

chown www-data /etc/bacula/bconsole.conf

chmod u=rw,g=r,o= /etc/bacula/bconsole.conf

chown www-data /etc/bacula

Pronto! Digite o endereço http://ip_do_servidor/webacula para ter acesso.*

 *No CentOS, necessário modificar o nível do Selinux (/etc/selinux/config – reiniciar e fornecer regras de firewall do iptables para acesso externo ao webacula).

Erro conhecido ) – versão do banco do Bacula não confere:

[Sat Oct 27 16:54:41 2012] [error] [client 127.0.0.1] PHP Fatal error: Uncaught exception 'Zend_Exception' with message 'Bacula version mismatch for the Catalog database. Wanted 14, got 15. ' in /var/www/webacula-5.5.1/html/index.php:186nStack trace:n#0 {main}n thrown in /var/www/webacula-5.5.1/html/index.php on line 186

Para solucionar este erro, acesse o arquivo /var/www/webacula*/html/index.php, linha 22 e altere o BACULA_VERSION para a versão esperada do banco do Bacula. Neste caso, 15. Deve ficar assim:

define(‘BACULA_VERSION’, 15); // Bacula Catalog version

 

x.3. Webmin (permite configurar o Bacula graficamente)

 

images

O Webmin é uma poderosa interface web desenvolvida em Perl para administração de servidores e conta com suporte nativo ao Bacula.

Uma vantagem interessante é a possibilidade de editar as configurações dos componentes do Bacula graficamente. Provavelmente foi a primeira ferramenta a trazer essa funcionalidade de maneira tão completa.

 Clique aqui para ler tudo...

1. Instalação do Webmin

Através do nosso guia rápido, nossa implementação deve ficar assim:

webmin

Optei por utilizar o sistema operacional Debian 8 para este manual e, dessa maneira, satisfiz as seguintes dependências:

apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions libdbd-mysql-perl

(se utilizar Postgresql instale também os pacotes: libpg-perl e libdbd-pg-perl)

Após umas mensagens de aviso o apt recomendou que fosse executado o seguinte comando:

apt-get -f install

Dependências instaladas. Neste momento fui ao site do Webmin para fazer o download do pacote mais atual para Debian (www.webmin.com/download.html):

Debian package suitable for Debian, Ubuntu or other derived Linux
http://prdownloads.sourceforge.net/webadmin/webmin_1.750_all.deb 14.8 MB

Na linha de comando utilizei o comando wget + o endereço para o pacote, assim:

wget http://downloads.sourceforge.net/project/webadmin/webmin/1.750/webmin_1.750_all.deb

Prossegui com a instalação:

dpkg -i webmin_1.750_all.deb

Após concluído, retornei ao browser e acessei o endereço padrão do Webmin:

https://localhost:10000

Autentiquei-me com a senha de root do Debian.
Acessando o menu lateral direito System > Bacula Backup System, obtive uma mensagem de alerta pelo fato do acesso ao Bacula pelo Webmin ainda não estar configurado:
webmin1

Clicando no link constante da mensagem “Module Configuration” fui direcionado para uma tela onde se deve configurar o acesso do Webmin ao Catálogo do Bacula (tipo, senha e usuário do banco etc.):

webmin2

Correção de BUG para listar jobs de backup:

Pode ser necessário realizar uma pequena modificação no código (linha 849):

vi /usr/libexec/webmin/bacula-backup/bacula-backup-lib.pl

(No Debian: vi /usr/share/webmin/bacula-backup/bacula-backup-lib.pl)


local @rv;
local $client;
foreach my $l (split(/r?n/, $clients)) {
# if ($l =~ /^Client:s+name=([^=]*S)s/ ||
if ($l =~ /^Client:s+Name=([^=]*S)s/ ||
$l =~ /^s*Names*=s*”(.*)”/) {
$client = { ‘name’ => $1 };
if ($l =~ /address=(S+)/ && $client) {
$client->{‘address’} = $1;

Reinicie o director do Bacula.

Pronto. O Módulo do Webmin para o Bacula deve estar funcional.

Atenção! Para selecionar arquivos na restauração é necessário plugin do Java no navegador utilizado.

Se utilizar Linux pode usar a versão livre:

apt-get install icedtea-7-plugin

Retornando ao menu lateral System > Bacula Backup System, agora visualizo opções para, inclusive, alterar as configurações do Bacula:

webin3

Como exemplo, escolhi a tela para adicionar um cliente ao Director:

webmin4

Show de Bacula, hein?

Na tela principal do módulo também é possível realizar as atividades cotidianas de operação do Bacula, tais como: submeter e restaurar jobs, gerenciar volumes e verificar status dos componentes. Ver exemplo:

webmin7

 

x.4 Bacula-web (relatórios e gráficos)

 

Bacula-web é uma ferramenta de código aberto cujo projeto começou em 2004, originalmente escrito por Juan Luis Frances, que se encontra atualmente na versão 7.0.3. Esta ferramenta é escrita em PHP, html, css e javascript, e é liberado sob os termos da licença GPL.

O Bacula-web serve para monitoramento e relatórios do Bacula, onde temos:

  • Quantos clientes configurados;
  • Total de bytes armazenados em seu catálogo;
  • Total de arquivos armazenados em seu catálogo;
  • O tamanho do banco de dados do catálogo.

Também temos em relação aos Jobs:

  • Jobs em execução;
  • Jobs concluídos;
  • Jobs com falha;
  • Jobs cancelados;
  • Jobs em espera.

Temos o status dos Jobs das últimas 24 horas onde informam:

  • Quantos Jobs em execução;
  • Jobs com falha;
  • Jobs concluídos;
  • Jobs em espera.

Quantos posts de Jobs para cada nível (incremental, diferencial e integral):

  • Total de bytes transferidos;
  • Arquivos transferidos.

 

Instalar e Configurar

Após ter o seu Bacula já instalado e funcionando; chegou a hora de você visualizar os relatórios.

Instalando o PHP e Apache – Debian:

apt-get install apache2 libapache2-mod-php5 php5-mysql php5-gd php5-pgsql

CentOS:

yum install httpd php php-gd php-gettext php-mysql php-pgsql php-pear-DB -y

Iniciando o Apache na inicialização (apenas CentOS):

chkconfig httpd on

Baixe a versão alpha do Bacula-web:

cd /tmp
wget http://www.bacula-web.org/download.html?file=files/bacula-web.org/downloads/bacula-web-7.0.3.tgz

Após isso, vamos descompactar:

mkdir /var/www/html/bacula-web
tar -xzf *bacula-web*.tar.gz -C /var/www/html/bacula-web

Vamos ajustar o config.php:

cd /var/www/html/bacula-web/application/config
cp config.php.sample config.php
vi config.php

e deixe como no exemplo abaixo:

<?php$config[‘language’] = ‘en_EN’;#MySQL bacula catalog
$config[0][‘label’] = ‘Backup Server’;
$config[0][‘host’] = ‘IP’;
$config[0][‘login’] = ‘usuario’;
$config[0][‘password’] = ‘senha’;
$config[0][‘db_name’] = ‘bacula’;
$config[0][‘db_type’] = ‘mysql’;
$config[0][‘db_port’] = ‘3306’;?>

Após isso, salve e saia do arquivo.

Ajustando as permissões:

chown -Rv www-data:www-data /var/www/html/bacula-web
chmod -Rv u=rx,g=rx,o=rx /var/www/html/bacula-web
chmod -v ug+w /var/www/html/bacula-web/application/view/cache

Reinicie o Apache:

# service httpd restart

E depois acesse:

http://seuip/bacula-web

Linux:<br /><br /><br /><br /><br /><br /><br /> Instalando o Bacula-web no CentOS 5.X

 

Fonte:  http://www.vivaolinux.com.br/dica/Instalando-o-Baculaweb-no-CentOS-5X

 

x.5 [TRAZER ITEM 14.3. edição 1]

 

x.6 [TRAZER ITEM 14.4. edição 1]

Disponível em: pt-brPortuguês

Deixe uma resposta