Install Webacula

I came across this tool as I had to setup a GUI interface for the non-GUI people in my company. This is probably most powerfull tool for managing bacula-director. It is a bit tricky to make it work but once it’s running nothing can stop it (even sometimes you can’t)

I have used Webacula v7.0.0, but it might worth cheching the latest relese

wget http://downloads.sourceforge.net/project/webacula/webacula/7.0.0/webacula-7.0.0.tar.gz

If you have already LAMP stack, you can skip this step

yum install httpd php php-mysql php-gd
tar -xzvf /root/webacula-7.0.0.tar.gz
mv webacula-7.0.0/ /var/www/html/webacula
  
cd !$
  
usermod -aG bacula apache
  
chgrp bacula /usr/sbin/bconsole /etc/bacula/bconsole.conf
  
cd ../application
  • Edit the config.ini file
bacula.bconsole = '/usr/sbin/bconsole'
bacula.bconsolecmd = '-n -c /etc/bacula/bconsole.conf' 

vim /etc/sudoers

comment Defaults requiretty because otherwise you will get error like “sudo: sorry, you must have a tty to run sudo” later on

Defaults requiretty

If you are not familiar with SELinux, I would say disable it. Otherwise you might want to enable webacula folder to run with a httpd context.

  • Edit /etc/selinux/config
SELINUX=disabled
  • Run setenforce 0

add following line in sudoers file or create config in /etc/sudoers.d/apache

apache ALL=NOPASSWD: /usr/sbin/bconsole
  • This will allow apache to interact with bconsole without asking for a password. I would say at this point, make sure your box is secured or web is limited from external.

Check is apache has permissions to use bconsole:

su -l apache -s /bin/sh -c "/usr/bin/sudo /usr/sbin/bconsole -n -c /etc/bacula/bconsole.conf"
  • Copy Webacula config file

cd /var/www/html/webacula/install/apache/ cp webacula.conf /etc/httpd/conf.d/webacula.conf vim /etc/httpd/conf.d/webacula.conf

Change:

Alias /webacula /usr/share/webacula/html
<Directory /usr/share/webacula/html>
 Deny from all
 Allow from <Your IP>
 ...
</Directory> 
  • update your db pass in

  • /var/www/html/webacula/application/config.ini

  • /etc/bacula/bacula-dir.conf

update :

catalog = all, !skipped, !saved
  • Hash your db password
cd /var/www/html/webacula/install

./password-to-hash.php <your bacula webming pass>

Copy respose to db.conf:

db_pwd=<your root mysql pass>
  
webacula_root_pwd=<your hashed password>
  • Import the schema
cd MySql/
  
./10_make_tables.sh
./20_acl_make_tables.sh 

systemctl restart httpd.service

  • add Zend Framework to webacula:
cd /var/www/html/webacula/library
wget https://packages.zendframework.com/releases/ZendFramework-1.12.3/ZendFramework-1.12.3-minimal.tar.gz (download only ver 1.12.3!!!!!!)
tar -xzf ZendFramework-1.12.3-minimal.tar.gz
mkdir Zend
cp -Rf ZendFramework-1.12.3-minimal/library/Zend/* Zend/.
  • Now ope Webacula in your browser

  • Now for some reason root passwd does not work out of the box, so we need to recover it by email.

mysql -u root -p
  
use bacula;
update webacula_users set email=<your email here>;