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 Framework
1.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> 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)
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.
1. Instalação do Webmin
Através do nosso guia rápido, nossa implementação deve ficar assim:
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:
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.):
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:
Como exemplo, escolhi a tela para adicionar um cliente ao Director:
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:
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
Fonte: http://www.vivaolinux.com.br/dica/Instalando-o-Baculaweb-no-CentOS-5X
Social