Esta ferramenta merece um tópico específico, pois trata-se de uma interface bastante amigável para monitoração, administração e/ou operação do bacula. Inclusive, possui tradução para o Português.
Procedimentos Manuais para Instalação do Webacula (GUI)
Requerimentos:
– Bacula 5.0 ou superior.
– Zend Framework versão 1.10 ou superior.
– 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:
apt-get install apache2 php5 libapache2-mod-php5 php5-mysql php5-gd
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/5.5.1/webacula-5.5.1.tar.gz
tar -xzvf webacula*.tar.gz (ex.: tar -xzvf tar -xzvf webacula-5.5.rc1.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…/“.
wget http://framework.zend.com/releases/ZendFramework-1.11.5/ZendFramework-1.11.5-minimal.tar.gz
tar -xzvf ZendFramework-1.11.5-minimal.tar.gz
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 …./install/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=”” <==(Modifique! Insira a senha do usuário administrador do Webacula).
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
Configuração do Bacula:
Adicione a seguinte linha (em vermelho) 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):
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/conf.d/
Agora, vamos editar o webacula.conf:
vi /etc/apache2/conf.d/webacula.conf
Altere o Alias e o caminho Directory para o caminho do seu Webacula…
Alias /webacula /var/www/webacula-5.5/html
<Directory /var/www/webacula-5.5/html>
Agora não esqueça de inserir o < antes do /Directory>, deixado propositalmente incompleto pelos desenvolvedores ).
…
Require valid-user
</Directory>
Ele deve ficar parecido com isso (exemplo):
Alias /webacula /var/www/webacula-5.5/html
<Directory /var/www/webacula-5.5/html>
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
# Coloque sua rede
Allow from 192.168.0.0/255.255.255.0
AuthType Basic
AuthName “Webacula”
AuthUserFile /etc/apache2/webacula.users
Require valid-user
</Directory>
Você provavelmente vai querer também permitir que outras máquinas de sua rede possam acessar seu servidor Webacula… Modifique a linha:
Allow from 127.0.0.1
Execute este arquivo para criar Autorização de usuário no apache:
htpasswd -c /etc/apache2/webacula.users root
Agora, configure o mod_rewrite. 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”)
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
Edite as seguintes linhas e deixe como abaixo:
bacula.sudo = “”
bacula.bconsole = “/usr/bin/bconsole”
Então altere as permissões dos seguintes arquivos:
chown www-data /usr/bin/bconsole
chmod u=rwx,g=rx,o= /usr/bin/bconsole
chown www-data /etc/bacula/bconsole.conf
chmod u=rw,g=r,o= /etc/bacula/bconsole.conf
Pronto! Digite o endereço http://ip_do_servidor/webacula para ter acesso.
Abraços,
Heitor Faria
Dica: 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 12, got 14. ' in /var/www/webacula-5.5.1/html/index.php:186nStack 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, 14. Deve ficar assim:
define(‘BACULA_VERSION’, 14); // Bacula Catalog version
Dica: alterar senha de root do Webacula no Banco de Dados (por Daniel Lara):
Acesse o 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
Verifiando a tabela webacula_users
mysql> select * from webacula_users;
+——+———+———————————-+———+——-+———————+———————+————+——–+———+
| id | login | pwd | name | email | create_login | last_login | last_ip | active | role_id |
+——+———+———————————-+———+——-+———————+———————+————+——–+———+
| 1000 | root | df0e7504beaedc88628115dc777718e2 | root | NULL | 2011-10-08 00:22:44 | 2011-12-06 17:44:00 | 10.1.10.11 | 1 | 1 |
| 1002 | suporte | 0ea538be0c47af6990dec1cbbdbcde97 | Suporte | | 2011-11-03 12:50:41 | 2011-11-03 13:47:31 | 10.1.10.11 | 1 | 4 |
+——+———+———————————-+———+——-+———————+———————+————+——–+———+
2 rows in set (0.00 sec)
Agora vamos alterar a senha do usuário root
mysql> update webacula_users set pwd = MD5(‘senha’) where login = ‘root’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
no caso vamos atualizar a tables com o comando “update”
o nome da tabela que queremos “webacula_users”
vamos setar a nova senha no campo “pwd” em MD5
no login do root
Saindo do mysql
mysql> quit
Bye
Pronto, muito facil
Podes acessar o Webacula com a nova senha
Disponível em: Português