You are on page 1of 11

InstalaoeconfiguraodoBaculacominterfaceweb(Bweb/Brestore)

Autor:FabrcioRodrigo<fabriciorodrigoatyahoo.com.br> Data:20/07/2010 InstalaodoBaculanoUbuntu/Debian Informaesgerais: UbuntuServer10.04 MySQLServer5.0 Apache2

InstalaodoBacula
AinstalaodoBaculaatravsdogerenciadordepacotesbastantesimples,bastaexecutarocomando abaixoqueseroinstaladastodasasdependncias,inclusiveoMySQL,queobancodedadospadro doprograma.TambmhsuporteaobancodedadosPostgres,pormdevemserespecificadosos pacotes,masnoserabordadonessetutorial. #aptgetinstallbacula Seroinstaladososseguintespacotes:baculaclientbaculacommonbaculacommonmysqlbacula consolebaculadirectorcommonbaculadirectormysqlbaculafdbaculasdbaculasdmysqlbacula serverdbconfigcommon Serinstaladoobaculadirector,filedaemonestorageddaemon.Paraainstalaoparcialdeveroser instaladosobaculadirectorcommon,baculafdebaculasdrespectivamente.

ConfiguraodoBacula
OBaculaumsistemadistribudo,sendoformadopor3daemons:director,storagedaemonefile daemon.Cadadaemon"executa"independentemente,podendoestarlocalizadoemmquinasseparadas. Ofiledaemondeveestarinstaladoemtodasasmquinasclientes. Noambienteanalisado,todososdaemonsestoinstaladosnamesmamquina. BaculaDirector(baculadir.conf):

GerenciadorNcleodoprogramaresponsvelporsupervisionartodasasoperaesdebackup, restaurao,controleeverificaodearquivos. BaculaStorage: Responsvelpeloarmazenamento,leituraeescritaemfita,discoououtrosdispositivos.Deveser instaladoondeosarquivosseroarmazenados,podendoserinstaladoemmaisdeumamquina. BaculaFileDaemon: EsteoclientedoBacula.Deveserinstaladoemtodasasmquinasondeserorealizadososbackups.

Configuraododirector
Altereasconfiguraesdeacordocomanecessidade/ambiente. Director{#definiesdogerenciador/director Name=ubuntuudir#nomedogerenciador/director DIRport=9101#portadecomunicaododirector QueryFile="/etc/bacula/scripts/query.sql" WorkingDirectory="/var/lib/bacula" PidDirectory="/var/run/bacula" MaximumConcurrentJobs=10#mximodeconexessimultneas Password="yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"#senhacliente terminal/console Messages=Daemon#tipodemensagensaseremgeradasnolog } JobDefs{#definiesdepadrodetarefa Name="DefaultJob"#nomedopadro Type=Backup#tipodetarefa(backup/restore) Level=Incremental#tipodebackup(incremental/diferencial/full) Client=ubuntuufd#cliente FileSet="FullSet"#nomedoconjuntodearquivos Schedule="Diario"#tipodeagendamento Storage=File#tipodearmazenamento(file/tape) Messages=Standard#padrodemensagensgeradas(log) Pool=File#tipodepoolutilizado Priority=10#prioridade WriteBootstrap="/var/lib/bacula/%c.bsr" } Job{#definiodetarefa Name="BackupClient1"#nomedatarefa JobDefs="DefaultJob"#padrodetarefa }

Job{#definiodatarefa Name="RestoreFiles"#nomedatarefa Type=Restore#tipodetarefa(backup/restore) Client=ubuntuufd#cliente FileSet="FullSet"#nomedoconjuntodearquivos Storage=File#tipodearmazenamento(file/tape) Pool=Default#tipodepoolutilizado Messages=Standard#padrodemensagensgeradas(log) Where=/mnt/bacularestores#ondeserrestauradoobackup } FileSet{#conjuntodearquivosediretrios Name="HomeSet"#nomedoconjunto Include{ Options{ signature=MD5#hashparaverificaodeintegridade } File=/home#arquivosselecionados } Exclude{ File=/home/backup#arquivosexcludos } } Schedule{#agendamento Name="Diario"#nomedoagendamento Run=Fullsunsatat23:10#definiodoagendamento(Fulldedomingo(sunday)asabado(saturday) as23:10) } Client{#definiesdocliente Name=ubuntuufd#nomedocliente Address=10.113.254.246#ipdocliente(FileDaemon) FDPort=9102#portadecomunicaocomocliente Catalog=MyCatalog#catlogodearquivos Password="zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM"#senhacliente(FileDaemon) FileRetention=30days#retenodosarquivos(30dias) JobRetention=6months#retenodatarefa(6meses) AutoPrune=yes#limpeza/supressoautomticadocatlogoapsexpiradootempodereteno(no afetaosdadosdovolume) } Storage{#definiododispositivodearmazenamento Name=File#nomedodispositivo Address=10.113.254.246#ipdodispositivodearmazenamento(StoragedDaemon) SDPort=9103#portadecomunicaocomastoraged Password="jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW"#senhadispositivo(StoragedDaemon) Device=FileStorage#dispositivo(StoragedDaemon)

MediaType=File#tipodearmazenamento } Pool{#definiodotipodevolume/partioasermontado Name=Default#nomedovolume PoolType=Backup#tipodepoolBackup/Archive/Cloned/Migration/Copy/Save(atualmenteapenas backupimplementado) Recycle=yes#baculaautomaticamentereciclaosvolumes(casonopossaseradicionadomais volumesserrescritosobreosexpirados) AutoPrune=yes#limpeza/supressoautomticadocatlogoapsexpiradootempodereteno(no afetaosdadosdovolume) VolumeRetention=365days#tempoderetenode365dias } Console{ Name=ubuntuumon Password="8UZ_p8sbi38XUmDGT5I3tt4egyM7uTpDx" CommandACL=status,.status }

Configuraodocliente(filedaemon)
Altereasconfiguraesdeacordocomanecessidade/ambiente. FileDaemon{#definiesfiledaemon Name=ubuntuufd#nome(mesmodobaculadir.conf) FDport=9102#portadecomunicacaocomodirector WorkingDirectory=/var/lib/bacula PidDirectory=/var/run/bacula MaximumConcurrentJobs=20#maximodetarefassimultneas } Director{#dadosparacomunicaocomodirector Name=ubuntuudir#nome(mesmodobaculadir.conf) Password="zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM"#senha(mesmodobaculadir.conf) } Messages{#definiodotipodemensagemaserlogada Name=Standard#nomedopadro director=ubuntuudir=all,!skipped,!restored#parametrosaseremlogados,nocasotodos(all),exceto sada(skipped)erestaurao(restore) }

Configuraododispositivodearmazenamento (storageddaemon)
Asconfiguraesdevemseralteradasdeacordocomanecessidade/ambiente. Storage{#definiesstoraged Name=ubuntuusd#nome SDPort=9103#portadecomunicaocomodirector WorkingDirectory="/var/lib/bacula" PidDirectory="/var/run/bacula" MaximumConcurrentJobs=20#maximodetarefassimultneas #SDAddress=0.0.0.0#ipdamquina } Director{#definiododirectorqueteracessoao"daemon"dearmazenamento Name=ubuntuudir#nome Password="jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW"#senha } Device{#definiesdodispositivodearmazenamento Name=FileStorage#nome(mesmoaserusadonodirector) MediaType=File#tipodemedia/dispositivoFile/Tape ArchiveDevice=/mnt/backup#pontodemontagemdovolume LabelMedia=yes#baculapermitirmediasemrtulo/nomeao RandomAccess=Yes AutomaticMount=yes#quandoodispositivoabrir,llo. RemovableMedia=no AlwaysOpen=no } Messages{#definiodotipodemensagemaserlogada Name=Standard#nomedopadro director=ubuntuudir=all#parametrosaseremlogados,nocasotodos(all) } Apsconfiguraodosdaemons,osmesmosdevemserreinicializados. Instalaoeconfiguraodainterfaceweb(Bweb)

Instalardependnciasdoaplicativobweb
MdulosPerl:

#aptgetinstalllibgdgraphperllibhtmltemplateperllibexpectperl\ libdbdmysqlperllibdbdpgperllibdbiperl\ libdatecalcperllibtimemodulesperl Fonte: #aptgetinstallttfdejavu

InstalaroBweb
PrimeiramentedevemserbaixadososarquivosfontedoBweb,paraissopodeserutilizadoowget: #wgethttp://sourceforge.net/projects/bacula/files/bacula/5.0.2/baculagui5.0.2.tar.gz/download Apsbaixaroarquivo,devesedesempacotaromesmoeentrarnapastadaaplicaoBweb: #tarxzvfbaculagui5.0.2.tar.gz #cdbaculagui5.0.2/bweb Apsdescompactado,devesecopiarasbibliotecasBwebPerlparaaocaminhodoperl5,atravsdos comandos: #perlMakefile.PL #makeinstall Emseguida,devemsercopiadososarquivosdoprogramaBwebparaapastacgidoservidor. #cd.. #mkdirm755/usr/lib/cgibin/bweb #installm755orootgrootbweb/cgi/*.pl/usr/lib/cgibin/bweb Agoracriaseoarquivodeconfiguraoatravsdoseguintecomando,atribuindoemseguidaousurio doservidorwebapachecomoproprietriodomesmo. #echo'$VAR1={template_dir=>"/usr/share/bweb/tpl"}'>/etc/bacula/bweb.conf #chownwwwdata/etc/bacula/bweb.conf Emseguidadevesercriadaapastaparaostemplatesdaaplicaoecopiadososarquivos correspondentesatravsdosseguintescomandos: #mkdirp/usr/share/bweb/tpl/en #installm644orootgrootbweb/lang/en/tpl/*.tpl/usr/share/bweb/tpl/en Parafinalizar,copiaseoselementosgrficosdaaplicaodentrodapastaBweb(quedevesercriada), nodocumentrootdoservidorweb. #mkdir/var/www/bweb

#installm644orootgrootbweb/html/*.{js,png,css,gif,ico,html}/var/www/bweb

ConfiguraroBweb
ApsinstaladoaaplicaoBweb,deveserrealizadaaconfiguraodoarquivo/etc/bacula/bweb.conf comosseguintesparmetros: $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/bconsolenc/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.:Oarquivodeconfiguraodeveseradaptadodeacordocomasconfiguraesdoambienteque estsendoinstaladaaaplicao. Seutilizadoosudo,insiraosseguintesvaloresnoarquivo/etc/sudoers: wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changertransfer* wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerstatus wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerload* wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerunload* Acesseaaplicaoatravsdoseguinteendereononavegadorweb: http://yourserver/bweb Obs.:Seoarquivodeconfiguraonoforeditado,serapresentadaumatelainicialparaquesepossa configuraromesmoatravsdainterface.

Instalaoeconfiguraodainterfaceweb(Brestore)

InstalardependnciasdoaplicativoBrestore
MdulosPerl: #aptgetinstalllibgtk2gladexmlperl\ libdbdmysqlperl\ libdbdpgperl\ libexpectperl\ libwwwperl MdulosExtjs: Parabaixarosarquivosdomoduloextjs,utilizeowgeteemseguidadescompacteosarquivosdentroda pasta'ext'do'documentroot'doservidorweb. #wgethttp://www.sencha.com/deploy/ext2.3.0.zip Descompactarem/var/www/bweb/ext: #unzipdextext2.3.0.zip #mvext2.3.0//var/www/bweb/ext

CarregaratualizaesdoMySQL
Paraqueobrestorefuncionenecessrioaatualizaodobancodedados,paraissoacesseapasta 'script'dentrodobwebecarregueoarquivo'bwebmysql.sql'paraobdmysql. #cd/bweb/script #mysqlurootbacula<bwebmysql.sqlp Sersolicitadaasenhaderootparaacessoaobanco.Apsainserodasenha,astabelasdoBacula seroatualizadas.

InstalaodoBrestore
ParainstalaroBrestorebastaacessarapastabaixadaanteriormenteparainstalaroBwebnopasso7e acessarapasta'brestore'.Apsacessarapasta,deveseinstalarainterfacegladedobrestorenapasta /usr/share/brestoreatravsdoscomandos: #cdbaculagui5.0.2/brestore

#mkdirp/usr/share/brestore #installm644orootgrootbrestore.glade/usr/share/brestore #installm755orootgrootbrestore.pl/usr/bin

ConfiguraodoBrestore
Editeoarquivo"/usr/lib/cgibin/bweb/bresto.pl"ehabilitaraseguintevarivelcomovalor'1'. my$bresto_enable=1 Editeoarquivo"/usr/bin/brestore.pl"comasseguintesvariveis my$glade_file='/usr/share/brestore/brestore.glade' $parameters={ 'mozilla'=>'mozilla', 'bconsole'=>'/usr/local/bin/bconsolenc/etc/bacula/bconsole.conf', 'bweb'=>'http://localhost/cgibin/bweb/bweb.pl', 'connection_string'=>'DBI:mysql:database=baculahost=127.0.0.1port=3306', 'username'=>'bacula', 'password'=>'xxxx', 'bsr_dest'=>'file://var/tmp', 'debug'=>0, 'use_ok_bkp_only'=>1, 'default_restore_job'=>'restore' } AcesseaaplicaoatravsdoseguinteendereononavegadorwebouatravsdoBweb: http://yourserver/bweb/bresto.html

Consideraesfinaisereferncias Consideraessobreoexemplocitado: Noexemplocitadonessetutorial,todososmdulosdoBaculaforaminstaladosnamesmamquina, inclusiveobancodedados(MySQL)eoservidorweb(Apache2).Aoinstalaremmquinasdiferentes, observardeconfigurarcorretamenteassenhasdeacessoaosdaemonseIPsdasmquinas correspondentes. OIPdamquinautilizadafoi10.113.254.246.Nostesteshouveramalgunsproblemasnautilizaodo nomelocalhostedoIPdeloopback'127.0.0.1',queforamsanadosutilizandooIPdamquina.

Acessandoviaterminal
Paraacessarobaculaviaterminalbastadigitarocomando: $bconsole Paraverificaroscomandosdisponveisbastadigitarateclatabduasvezes.Abaixohumexemplo listandoostatusdocliente"desktopfd"atravsdocomando"status".

AcessandooBweb
ParaacessarBaculaviainterfacewebbastadigitaroendereohttp://ipdoserver/bwebnonavegador. SerexibidaapginadoBweb:

AcessandooBrestore
ParaacessaromduloderecuperaodoBaculaviainterfacewebbastadigitaroendereohttp://ipdo server/bweb/bresto.htmlnonavegadorouiratomenujobsdoBwebeclicarnolinkWebRestore, comopodeserobservadonafiguraaabaixo.SerexibidaapginadoBrestore:

Refernciasbibliogrficas
Tutoriallinux|InstalaodoBacula|Baculaumprogramaquepossibilitafazerbackup|Linux Monsters|Artigos,dicas,tutoriais,frum,linuxshellscripts,scriptslinux,scriptsemuitomais MontandoumcompletoservidordebackupusandoBacula[Artigo] BaculanoDebianLenny[Artigo] MYExperiences:InstallBaculaBWEB UbuntuServer9.04BaculaBwebGUI|HowtoForgeLinuxHowtosandTutorials HowtoinstallandsetupBweb

http://www.vivaolinux.com.br/artigo/InstalacaoeconfiguracaodoBaculacominterfaceweb(Bweb Brestore) Voltarparaosite

You might also like