Baculum (bacula-gui) é a interface gráfica web oficial do projeto Bacula (bacula.org). Na versão 9, agora ela contém um módulo de configuração, permitindo que o administrador de backup altere configurações de backup sem precisar editar arquivos texto. Além disso uma API é disponibilizada, facilitando a integração com outros softwares, interfaces e consoles.

1. Instalação

Baculum 9 funciona com outras versões do Bacula, mas apenas o Bacula 9 possui os binários json – necessários à configuração gráfica do Bacula.

Para instalar o Bacula 9 a partir do código fonte, acesse <http://www.bacula.com.br/compilacao>.

Uma vez que o Bacula está instalando e funcionando, pode-se prosseguir com a instalação da API Baculum e interface, como se segue.

2. Debian/Ubuntu

wget -qO - https://www.bacula.org/downloads/baculum/baculum.pub | apt-key add -

echo "
deb [ arch=amd64 ] https://www.bacula.org/downloads/baculum/stable-11/debian bullseye main
deb-src https://www.bacula.org/downloads/baculum/stable-11/debian bullseye main
" > /etc/apt/sources.list.d/baculum.list

apt-get update && apt-get install php-bcmath php*-mbstring baculum-api baculum-api-apache2 baculum-common bacula-console baculum-web baculum-web-apache2

echo "Defaults:apache "'!'"requiretty
www-data ALL=NOPASSWD: /usr/sbin/bconsole
www-data ALL=NOPASSWD: /usr/sbin/bdirjson
www-data ALL=NOPASSWD: /usr/sbin/bsdjson
www-data ALL=NOPASSWD: /usr/sbin/bfdjson
www-data ALL=NOPASSWD: /usr/sbin/bbconsjson
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-dir
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-sd
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-fd
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
www-data ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-fd
www-data ALL=(root) NOPASSWD: /opt/bacula/bin/mtx-changer
" > /etc/sudoers.d/baculum

usermod -aG bacula www-data 
chown -R www-data:bacula /opt/bacula/working /opt/bacula/etc
chmod -R g+rwx /opt/bacula/working /opt/bacula/etc
a2enmod rewrite
a2ensite baculum-web baculum-api
service apache2 restart

sed -i 's/ident/trust/g; s/peer/trust/g; s/md5/trust/g' /var/lib/pgsql/data/pg_hba.conf
sed -i 's/ident/trust/g; s/peer/trust/g; s/md5/trust/g' /etc/postgresql/*/main/pg_hba.conf
service postgresql restart

server_ip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $NF}')

echo "Acesse e configure pelo navegador de Internet a API http://$server_ip:9096/ e depois o Baculum http://$server_ip:9095/"

3. Centos/RedHat

rpm --import http://bacula.org/downloads/baculum/baculum.pub

echo "
[baculumrepo]
name=Baculum CentOS repository
baseurl=https://www.bacula.org/downloads/baculum/stable-11/centos
gpgcheck=1
enabled=1" > /etc/yum.repos.d/baculum.repo

yum install -y baculum-common baculum-api baculum-api-httpd baculum-web baculum-web-httpd

echo "Defaults:apache "'!'"requiretty
apache  ALL=NOPASSWD:  /usr/sbin/bconsole
apache  ALL=NOPASSWD:  /usr/sbin/bdirjson
apache  ALL=NOPASSWD:  /usr/sbin/bsdjson
apache  ALL=NOPASSWD:  /usr/sbin/bfdjson
apache  ALL=NOPASSWD:  /usr/sbin/bbconsjson
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-fd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-fd
apache ALL=(root) NOPASSWD: /opt/bacula/bin/mtx-changer
" > /etc/sudoers.d/baculum

usermod -aG bacula apache
chown -R apache:bacula /opt/bacula/working /opt/bacula/etc
chmod -R g+rwx /opt/bacula/working /opt/bacula/etc

firewall-cmd --permanent --zone=public --add-port=9095-9096/tcp
firewall-cmd --reload

service httpd restart
systemctl enable httpd
sed -i 's/ident/trust/g; s/peer/trust/g' /var/lib/pgsql/data/pg_hba.conf
service postgresql restart

server_ip=$(ip route get 8.8.8.8 | awk 'NR==1 {print $NF}') 

echo "Acesse e configure pelo navegador de Internet a API http://$server_ip:9096/ e depois o Baculum http://$server_ip:9095/"

 4. Configuração

Primeiro configure a API através da URL http://localhost:9096/ (admin, admin). É possível utilizar o idioma Português e testar cada uma das configurações feitas. Será definida uma credencial exclusiva de acesso à API (usuário e senha ou oauth), de acordo com as telas seguintes.

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 1

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 2

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 3

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 4

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 5

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 6

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 7

Então, acesse a interface Baculum (http://localhost:9095/ – admin, admin) e configure também o idioma, acesso ao banco de dados do Bacula, à API Baculum e credencial da Interface Baculum, conforme a seguir:

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 8 Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 9 Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 10 Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 11

5. Temas

Caso deseje desenvolver novos temas CSS ou alterar imagens do Baculum, o local para o tema padrão é o seguinte:

/usr/share/baculum/htdocs/themes/Baculum-v1

6. Screenshots

Telas de configuração, dashboard e API, respectivamente.

Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 12 Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 13 Baculum 9, 11 e superior - Configuração Gráfica do Bacula, Administração e API 14

7. Referência

Baculum API and Web GUI. http://www.bacula.org/9.0.x-manuals/en/console/Baculum_API_Web_GUI_Tools.html

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)