WEBACULA : Instalação


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*.tar.gz (ex.: tar -xzvf webacula-7.0.0.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 Framework1.11.5 Minimal) e decompacte a subpasta “library” (contida no pacote tar.gz) dentro do seguinte diretório “/var/www/webacula…/“.
cd ./ZendFramework*
cp -r ./library/ /var/www/webacula*/
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:
#a2enmod
e habilite o modulo “rewrite“. Basta digitar rewrite neste prompt e pressionar a tecla Enter.
Reinicie o Apache:
/etc/init.d/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:186\nStack 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*Name\s*=\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:
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
Close Menu