instalação e configuração do bacula com interface web (bweb_brestore) [artigo]
TRANSCRIPT
![Page 1: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/1.jpg)
Instalação e configuração do Bacula com interface web (Bweb/Brestore)
Autor: Fabrício Rodrigo <fabriciorodrigo at yahoo.com.br>Data: 20/07/2010
Instalação do Bacula no Ubuntu/Debian
Informações gerais:
Ubuntu Server 10.04MySQL Server 5.0Apache2
Instalação do BaculaA instalação do Bacula através do gerenciador de pacotes é bastante simples, basta executar o comandoabaixo que serão instaladas todas as dependências, inclusive o MySQL, que é o banco de dados padrãodo programa. Também há suporte ao banco de dados Postgres, porém devem ser especificados ospacotes, mas não será abordado nesse tutorial.
# aptget install bacula
Serão instalados os seguintes pacotes: baculaclient baculacommon baculacommonmysql baculaconsole baculadirectorcommon baculadirectormysql baculafd baculasd baculasdmysql baculaserver dbconfigcommon
Será instalado o bacula director, file daemon e storaged daemon. Para a instalação parcial deverão serinstalados o baculadirectorcommon, baculafd e baculasd respectivamente.
Configuração do BaculaO Bacula é um sistema distribuído, sendo formado por 3 daemons: director, storage daemon e filedaemon. Cada daemon "executa" independentemente, podendo estar localizado em máquinas separadas.O file daemon deve estar instalado em todas as máquinas clientes.
No ambiente analisado, todos os daemons estão instalados na mesma máquina.
Bacula Director (baculadir.conf):
![Page 2: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/2.jpg)
Gerenciador; Núcleo do programa; é responsável por supervisionar todas as operações de backup,restauração, controle e verificação de arquivos.
Bacula Storage:
Responsável pelo armazenamento, leitura e escrita em fita, disco ou outros dispositivos. Deve serinstalado onde os arquivos serão armazenados, podendo ser instalado em mais de uma máquina.
Bacula File Daemon:
Este é o cliente do Bacula. Deve ser instalado em todas as máquinas onde serão realizados os backups.
Configuração do directorAltere as configurações de acordo com a necessidade/ambiente.
Director #definições do gerenciador/director Name = ubuntuudir #nome do gerenciador/director DIRport = 9101 #porta de comunicação do director QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 10 #máximo de conexões simultâneas Password = "yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS" #senha clienteterminal/console Messages = Daemon #tipo de mensagens a serem geradas no log
JobDefs #definições de padrão de tarefa Name = "DefaultJob"#nome do padrão Type = Backup #tipo de tarefa (backup/restore) Level = Incremental #tipo de backup (incremental/diferencial/full) Client = ubuntuufd #cliente FileSet = "Full Set" #nome do conjunto de arquivos Schedule = "Diario" #tipo de agendamento Storage = File #tipo de armazenamento (file/tape) Messages = Standard #padrão de mensagens geradas (log) Pool = File #tipo de pool utilizado Priority = 10 #prioridade Write Bootstrap = "/var/lib/bacula/%c.bsr"
Job #definição de tarefa Name = "BackupClient1" #nome da tarefa JobDefs = "DefaultJob" #padrão de tarefa
![Page 3: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/3.jpg)
Job #definição da tarefa Name = "RestoreFiles" #nome da tarefa Type = Restore #tipo de tarefa (backup/restore) Client=ubuntuufd #cliente FileSet="Full Set" #nome do conjunto de arquivos Storage = File #tipo de armazenamento (file/tape) Pool = Default #tipo de pool utilizado Messages = Standard #padrão de mensagens geradas (log) Where = /mnt/bacularestores #onde será restaurado o backup
FileSet #conjunto de arquivos e diretórios Name = "Home Set" #nome do conjunto Include Options signature = MD5 #hash para verificação de integridade File = /home #arquivos selecionados Exclude File = /home/backup #arquivos excluídos
Schedule #agendamento Name = "Diario" #nome do agendamento Run = Full sunsat at 23:10 #definição do agendamento (Full de domingo (sunday) a sabado (saturday)as 23:10)
Client #definições do cliente Name = ubuntuufd #nome do cliente Address = 10.113.254.246 #ip do cliente (File Daemon) FDPort = 9102 #porta de comunicação com o cliente Catalog = MyCatalog #catálogo de arquivos Password = "zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM" #senha cliente (File Daemon) File Retention = 30 days #retenção dos arquivos (30 dias) Job Retention = 6 months #retenção da tarefa (6 meses) AutoPrune = yes #limpeza/supressão automática do catálogo após expirado o tempo de retenção (nãoafeta os dados do volume)
Storage #definição do dispositivo de armazenamento Name = File #nome do dispositivo Address = 10.113.254.246 #ip do dispositivo de armazenamento (Storaged Daemon) SDPort = 9103 #porta de comunicação com a storaged Password = "jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW" #senha dispositivo (Storaged Daemon) Device = FileStorage #dispositivo (Storaged Daemon)
![Page 4: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/4.jpg)
Media Type = File #tipo de armazenamento
Pool #definição do tipo de volume/partição a ser montado Name = Default #nome do volume Pool Type = Backup #tipo de pool Backup/Archive/Cloned/Migration/Copy/Save (atualmente apenasbackup implementado) Recycle = yes #bacula automaticamente recicla os volumes (caso não possa ser adicionado maisvolumes será rescrito sobre os expirados) AutoPrune = yes #limpeza/supressão automática do catálogo após expirado o tempo de retenção (nãoafeta os dados do volume) Volume Retention = 365 days #tempo de retenção de 365 dias
Console Name = ubuntuumon Password = "8UZ_p8sbi38XUmDGT5I3tt4egyM7uTpDx" CommandACL = status, .status
Configuração do cliente (file daemon)Altere as configurações de acordo com a necessidade/ambiente.
FileDaemon #definições file daemon Name = ubuntuufd #nome (mesmo do baculadir.conf) FDport = 9102 #porta de comunicacao com o director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 #maximo de tarefas simultâneas
Director #dados para comunicação com o director Name = ubuntuudir #nome (mesmo do baculadir.conf) Password = "zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM" #senha (mesmo do baculadir.conf)
Messages #definição do tipo de mensagem a ser logada Name = Standard #nome do padrão director = ubuntuudir = all, !skipped, !restored #parametros a serem logados, no caso todos(all), excetosaída (skipped) e restauração (restore)
![Page 5: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/5.jpg)
Configuração do dispositivo de armazenamento(storaged daemon)As configurações devem ser alteradas de acordo com a necessidade/ambiente.
Storage #definições storaged Name = ubuntuusd #nome SDPort = 9103 #porta de comunicação com o director WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 #maximo de tarefas simultâneas# SDAddress = 0.0.0.0 #ip da máquina
Director #definição do director que terá acesso ao "daemon" de armazenamento Name = ubuntuudir #nome Password = "jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW" #senha
Device #definições do dispositivo de armazenamento Name = FileStorage #nome (mesmo a ser usado no director) Media Type = File #tipo de media/dispositivo File/Tape Archive Device = /mnt/backup #ponto de montagem do volume LabelMedia = yes; #bacula permitir media sem rótulo/nomeação Random Access = Yes; AutomaticMount = yes; #quando o dispositivo abrir, lêlo. RemovableMedia = no; AlwaysOpen = no;
Messages #definição do tipo de mensagem a ser logada Name = Standard #nome do padrão director = ubuntuudir = all #parametros a serem logados, no caso todos(all)
Após configuração dos daemons, os mesmos devem ser reinicializados.
Instalação e configuração da interface web (Bweb)
Instalar dependências do aplicativo bweb
Módulos Perl:
![Page 6: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/6.jpg)
# aptget install libgdgraphperl libhtmltemplateperl libexpectperl \libdbdmysqlperl libdbdpgperl libdbiperl \libdatecalcperl libtimemodulesperl
Fonte:
# aptget install ttfdejavu
Instalar o BwebPrimeiramente devem ser baixados os arquivos fonte do Bweb, para isso pode ser utilizado o wget:
# wget http://sourceforge.net/projects/bacula/files/bacula/5.0.2/baculagui5.0.2.tar.gz/download
Após baixar o arquivo, devese desempacotar o mesmo e entrar na pasta da aplicação Bweb:
# tar xzvf baculagui5.0.2.tar.gz# cd baculagui5.0.2/bweb
Após descompactado, devese copiar as bibliotecas Bweb Perl para a o caminho do perl5, através doscomandos:
# perl Makefile.PL# make install
Em seguida, devem ser copiados os arquivos do programa Bweb para a pasta cgi do servidor.
# cd ..# mkdir m 755 /usr/lib/cgibin/bweb# install m 755 o root g root bweb/cgi/*.pl /usr/lib/cgibin/bweb
Agora criase o arquivo de configuração através do seguinte comando, atribuindo em seguida o usuáriodo servidor web apache como proprietário do mesmo.
# echo '$VAR1 = template_dir => "/usr/share/bweb/tpl" ;' > /etc/bacula/bweb.conf# chown wwwdata /etc/bacula/bweb.conf
Em seguida deve ser criada a pasta para os templates da aplicação e copiados os arquivoscorrespondentes através dos seguintes comandos:
# mkdir p /usr/share/bweb/tpl/en# install m 644 o root g root bweb/lang/en/tpl/*.tpl /usr/share/bweb/tpl/en
Para finalizar, copiase os elementos gráficos da aplicação dentro da pasta Bweb (que deve ser criada),no document root do servidor web.
# mkdir /var/www/bweb
![Page 7: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/7.jpg)
# install m 644 o root g root bweb/html/*.js,png,css,gif,ico,html /var/www/bweb
Configurar o BwebApós instalado a aplicação Bweb, deve ser realizada a configuração do arquivo /etc/bacula/bweb.confcom os seguintes parâmetros:
$VAR1 = bless( 'enable_security' => 0, 'graph_font' => '/usr/share/fonts/truetype/ttfdejavu/DejaVuSerif.ttf', 'config_file' => '/etc/bacula/bweb.conf', 'password' => 'senhamysql', 'dbi' => 'DBI:mysql:database=bacula', 'user' => 'bacula', 'error' => '', 'debug' => 0, 'stat_job_table' => 'Job', 'display_log_time' => 0, 'lang' => 'en', 'wiki_url' => '', 'name' => undef, 'bconsole' => '/usr/bin/bconsole n c /etc/bacula/bconsole.conf', 'fv_write_path' => '/var/spool/bweb', 'template_dir' => '/usr/share/bweb/tpl', 'enable_security_acl' => 0, 'email_media' => 'frsl@localhost', 'default_age' => '7d' , 'Bweb::Config' );
Obs.: O arquivo de configuração deve ser adaptado de acordo com as configurações do ambiente queestá sendo instalada a aplicação.
Se é utilizado o sudo, insira os seguintes valores no arquivo /etc/sudoers:
wwwdata ALL = (root) NOPASSWD: /usr/sbin/mtx f /dev/changer transfer *wwwdata ALL = (root) NOPASSWD: /usr/sbin/mtx f /dev/changer statuswwwdata ALL = (root) NOPASSWD: /usr/sbin/mtx f /dev/changer load *wwwdata ALL = (root) NOPASSWD: /usr/sbin/mtx f /dev/changer unload *
Acesse a aplicação através do seguinte endereço no navegador web:
http://yourserver/bweb
Obs.: Se o arquivo de configuração não for editado, será apresentada uma tela inicial para que se possaconfigurar o mesmo através da interface.
![Page 8: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/8.jpg)
Instalação e configuração da interface web (Brestore)
Instalar dependências do aplicativo BrestoreMódulos Perl:
# aptget install libgtk2gladexmlperl \libdbdmysqlperl \libdbdpgperl \libexpectperl \libwwwperl
Módulos Extjs:
Para baixar os arquivos do modulo extjs, utilize o wget e em seguida descompacte os arquivos dentro dapasta 'ext' do 'document root' do servidor web.
# wget http://www.sencha.com/deploy/ext2.3.0.zip
Descompactar em /var/www/bweb/ext:
# unzip d ext ext2.3.0.zip# mv ext2.3.0/ /var/www/bweb/ext
Carregar atualizações do MySQLPara que o brestore funcione é necessário a atualização do banco de dados, para isso acesse a pasta'script' dentro do bweb e carregue o arquivo 'bwebmysql.sql' para o bd mysql.
# cd /bweb/script# mysql u root bacula < bwebmysql.sql p
Será solicitada a senha de root para acesso ao banco. Após a inserção da senha, as tabelas do Baculaserão atualizadas.
Instalação do BrestorePara instalar o Brestore basta acessar a pasta baixada anteriormente para instalar o Bweb no passo 7 eacessar a pasta 'brestore'. Após acessar a pasta, devese instalar a interface glade do brestore na pasta/usr/share/brestore através dos comandos:
# cd baculagui5.0.2/brestore
![Page 9: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/9.jpg)
# mkdir p /usr/share/brestore# install m 644 o root g root brestore.glade /usr/share/brestore# install m 755 o root g root brestore.pl /usr/bin
Configuração do BrestoreEdite o arquivo "/usr/lib/cgibin/bweb/bresto.pl" e habilitar a seguinte variável com o valor '1'.
my $bresto_enable = 1;
Edite o arquivo "/usr/bin/brestore.pl" com as seguintes variáveis
my $glade_file = '/usr/share/brestore/brestore.glade' ;
$parameters = 'mozilla' => 'mozilla', 'bconsole' => '/usr/local/bin/bconsole n c /etc/bacula/bconsole.conf', 'bweb' => 'http://localhost/cgibin/bweb/bweb.pl', 'connection_string' => 'DBI:mysql:database=bacula;host=127.0.0.1;port=3306', 'username' => 'bacula', 'password' => 'xxxx', 'bsr_dest' => 'file://var/tmp', 'debug' => 0, 'use_ok_bkp_only' => 1, 'default_restore_job' => 'restore' ;
Acesse a aplicação através do seguinte endereço no navegador web ou através do Bweb:
http://yourserver/bweb/bresto.html
Considerações finais e referências
Considerações sobre o exemplo citado:
No exemplo citado nesse tutorial, todos os módulos do Bacula foram instalados na mesma máquina,inclusive o banco de dados (MySQL) e o servidor web (Apache2). Ao instalar em máquinas diferentes,observar de configurar corretamente as senhas de acesso aos daemons e IPs das máquinascorrespondentes.
O IP da máquina utilizada foi 10.113.254.246. Nos testes houveram alguns problemas na utilização donome localhost e do IP de loopback '127.0.0.1', que foram sanados utilizando o IP da máquina.
![Page 10: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/10.jpg)
Acessando via terminalPara acessar o bacula via terminal basta digitar o comando:
$ bconsole
Para verificar os comandos disponíveis basta digitar a tecla tab duas vezes. Abaixo há um exemplolistando o status do cliente "desktopfd" através do comando "status".
Acessando o BwebPara acessar Bacula via interface web basta digitar o endereço http://ipdoserver/bweb no navegador.Será exibida a página do Bweb:
Acessando o BrestorePara acessar o módulo de recuperação do Bacula via interface web basta digitar o endereço http://ipdoserver/bweb/bresto.html no navegador ou ir até o menu jobs do Bweb e clicar no link Web Restore,como pode ser observado na figura a abaixo. Será exibida a página do Brestore:
![Page 11: Instalação e configuração do Bacula com interface web (Bweb_Brestore) [Artigo]](https://reader030.vdocuments.com.br/reader030/viewer/2022013110/547f0afdb37959492b8b565a/html5/thumbnails/11.jpg)
Referências bibliográficasTutorial linux | Instalação do Bacula | Bacula é um programa que possibilita fazer backup | LinuxMonsters | Artigos, dicas, tutoriais, fórum, linux shell scripts, scripts linux, scripts e muito maisMontando um completo servidor de backup usando Bacula [Artigo]Bacula no Debian Lenny [Artigo]MY Experiences: Install Bacula BWEBUbuntu Server 9.04 Bacula Bweb GUI | HowtoForge Linux Howtos and TutorialsHow to install and setup Bweb
http://www.vivaolinux.com.br/artigo/InstalacaoeconfiguracaodoBaculacominterfaceweb(BwebBrestore)
Voltar para o site