Nesse post, será mostrado como instalar o Bacula utilizando o banco de dados MySQL
Obtendo o bacula
No endereço http://www.bacula.org/en/?page=downloads vocês encontrarão várias versões do Bacula para download: tarballs, rpms, debpkgs, win32_64. Nesse tutorial, vamos fazer no método Warrior's Mode: Compilando \o/wget http://ufpr.dl.sourceforge.net/project/bacula/bacula/5.0.3/bacula-5.0.3.tar.gz
tar xvf bacula-5.0.3.tar.gz
cd bacula-5.0.3
Compilando
Para a compilação, primeiro devemos satisfazer as dependências do Bacula:zypper in gcc gcc-c++ libopenssl-devel mysql-community-server libmysqld-devel makeSe quiserem instalar com o BAT (Bacula Administration Tool), adicionem o libqt4-devel.
Caso você queira compilar para um outro sistema operacional, procure por pacotes similares. O que no openSUSE costumamos usar o -devel como sufixo na nomenclatura, em algumas distros utiliza-se o lib* como prefixo.
Enfim, continuando...
Com as dependências instaladas, utilizaremos alguns parâmetros na compilação. Eu costumo colocar-los em um arquivo .sh, acho que fica bem melhor do que fazer aquele catatau de parâmetros em uma linha. Fica uma merda pra gerenciar, porém quando colocamos em uma arquivo, ai a coisa muda! Um exemplo:
#!/bin/bash
# Parametros para compilacao do Bacula
# 14-06-2011
CFLAGS="-g -O2 -Wall" \
./configure \
--enable-smartalloc \
--with-mysql \
--with-dump-email=meu@email.com \
--with-job-email=me u@email.com \
--with-smtp-host=localhost \
--with-openssl \
--with-fd-password=VouNao \
--with-sd-password=QueroNao \
--with-dir-password=PossoNao
O que estamos definindo aqui:
--with-mysql = Usaremos o MySQL como database. O pacote libmysqld-devel é pré-requisito;
--with-openssl = Permite que seja utilizado TLS na comunicação entre o cliente-servidor
--with-fd-password = Senha do File daemon
--with-sd-password = Senha do Storage Daemon
--with-dir-password = Senha do Director Daemon
Eu estou definindo a senha logo aqui porque não gosto das senhas geradas automaticamente. Fico completamente azuado com aquela porrada de caracteres...
Se o seu Bacula for instalado em uma máquina com interface gráfica, instale o pacote devel do QT(libqt4-devel) e adicione o parâmetro --with-bat ao configure. Como isso geralmente não é trivial, não usaremos.
Depois da execução do ./configure, teremos a resposta do bacula:
Configuration on Tue Jun 14 11:44:49 BRT 2011:
Host: i686-pc-linux-gnu -- suse 11.4
Bacula version: Bacula 5.0.3 (04 August 2010)
Source code location: .
Install binaries: /sbin
Install libraries: /usr/lib
Install config files: /etc/bacula
Scripts directory: /etc/bacula
Archive directory: /tmp
Working directory: /var/bacula/working
PID directory: /var/run
Subsys directory: /var/lock/subsys
Man directory: ${datarootdir}/man
Data directory: /usr/share
Plugin directory: /usr/lib
C Compiler: gcc Linux)
C++ Compiler: /usr/bin/g++ Linux)
Compiler flags: -g -O2 -Wall -fno-strict-aliasing -fno-exceptions -fno-rtti
Linker flags:
Libraries: -lpthread -ldl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: MySQL
Database port:
Database lib: -L/usr/lib -lmysqlclient_r -lz
Database name: bacula
Database user: bacula
Job Output Email: meu@email.com
Traceback Email: meu@email.com
SMTP Host Address: localhost
Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103
Director User:
Director Group:
Storage Daemon User:
Storage DaemonGroup:
File Daemon User:
File Daemon Group:
SQL binaries Directory /usr/bin
Large file support: yes
Bacula conio support: no
readline support: no
TCP Wrappers support: no
TLS support: yes
Encryption support: yes
ZLIB support: yes
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
enable-gnome: no
enable-bwx-console: no
enable-tray-monitor: no
client-only: no
build-dird: yes
build-stored: yes
Plugin support: yes
AFS support: no
ACL support: no
XATTR support: yes
Python support: no
Batch insert enabled: no
Verifique e veja se é isso mesmo que você quer. Caso algo esteja incorreto, altere o parâmetro e execute novamente o ./configure. Depois de tudo estar nos trinks, é hora do make && make install :D
make && make install(Compila compila Compila compila Compila compila Compila compila...)
Enquanto ele compila, você pode ir assistir um videozin e talz... Ah, falando nisso, pra quem curte Dragon Ball Z, o pessoal do Gastação TV estão fazendo a tradução do DBZ Abridged! Saca o primeiro episódio:
SHHHOOOOWWWWWW!!!
Enfim, voltando :D
Após o make install, todos os arquivos estarão nos seus devidos lugares e prontos para rodarmos os scripts para criação de base de dados, tabelas e permissões na tabela. Então, já que vamos utilizar o banco de dados, que tal inciarmos o MySQL?
service mysql start
E seria bom também adicionar-lo na inicialização:
chkconfig mysql onApós o banco subir, vamos aos scripts. São 3:
/etc/bacula/create_bacula_database
/etc/bacula/make_bacula_tables
/etc/bacula/grant_bacula_privileges
Após rodar os scripts, inicie o Bacula
bacula start
E faça um simples teste:
bconsole
Caso apareça algo do tipo
Connecting to Director linux-sn99:9101
1000 OK: linux-sn99-dir Version: 5.0.3 (04 August 2010)
Enter a period to cancel a command.
*
Congratulations!!! Seu Bacula está pronto para ser configurado!!!
IF NO....
Caso ele não conecte e fique apenas tentando conexão, é porque sua configuração com o MySQL ainda está pendente. Verifique o arquivo /etc/bacula/bacula-dir.conf, procure pela linha do Catalog.
Se você definiu uma senha para o usuário do bacula, será necessário informar aqui também.:
Catalog {
Name = MyCatalog
dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport = 3306
dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}
Sempre é bom verificar também o arquivo de log. Ele fica integrado ao /var/log/messages
Não esqueça de ver as portas. O comando netstat -napt poderá te ajudar.
Até a prox!
0 comentários:
Postar um comentário
Só não vale xingar a mãe ou puxar cabelo nos comentários =)