Baculum (bacula-gui) is the official web graphic interface of the Bacula project (bacula.org). Version 9 contains a configuration module that allows the backup administrator to change Bacula backup settings without editing text files. Baculum also brings a new API that eases the integration with other software, interface, and consoles.
1. Installation
Baculum 9 works with other versions of Bacula, but only Bacula 9 has the json binaries – necessary for Bacula’s graphical configuration.
To install Bacula 9 from the source code, go to <http://bacula.us/compilation>.
Once you have a working Bacula deploy it is time to install Baculum API and interface, as follows.
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 "Use the Internet browser to access and configure Baculum API http://$server_ip:9096/ and then Baculum http://$server_ip:9095/"
3. Centos/RedHat
rpm --import https://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 "Use the Internet browser to access and configure Baculum API http://$server_ip:9096/ and then Baculum http://$server_ip:9095/"
4. Configuration
First configure the API through the http://localhost:9096/ URL (admin, admin). You can test each of the settings you have made. An API access credential (user and password or oauth) will be defined, according to the following screens.
Then, access the Baculum interface (http://localhost:9095/ – admin, admin) and also configure the language, access to the Bacula database, the Baculum API and Baculum Interface credential, as follows:
5. Themes
If you want to develop new CSS themes or change Baculum images, the location for the default theme is the following:
/usr/share/baculum/htdocs/themes/Baculum-v1
6. Screenshots
Configuration, dashboard and API screens.
Disponível em: Português (Portuguese (Brazil))EnglishEspañol (Spanish)