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.
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:
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.
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: PortuguêsEnglish (Inglês)Español (Espanhol)