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 - http://bacula.org/downloads/baculum/baculum.pub | apt-key add -
deb [ arch=amd64 ] http://bacula.org/downloads/baculum/stable/ubuntu xenial main
deb-src http://bacula.org/downloads/baculum/stable/ubuntu xenial main
" > /etc/apt/sources.list.d/baculum.list
apt-get update && apt-get install php-bcmath php7.0-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
" > /etc/sudoers.d/baculum
chown www-data /opt/bacula/etc
a2ensite baculum-web baculum-api
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
wget -qO - http://bacula.org/downloads/baculum/baculum.pub | apt-key add -
echo "
deb [ arch=amd64 ] http://bacula.org/downloads/baculum/stable/ubuntu xenial main
deb-src http://bacula.org/downloads/baculum/stable/ubuntu xenial main
" > /etc/apt/sources.list.d/baculum.list
apt-get update && apt-get install php-bcmath php7.0-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
" > /etc/sudoers.d/baculum
chown www-data /opt/bacula/etc
a2enmod rewrite
a2ensite baculum-web baculum-api
service apache2 restart
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
wget -qO - http://bacula.org/downloads/baculum/baculum.pub | apt-key add -
echo "
deb [ arch=amd64 ] http://bacula.org/downloads/baculum/stable/ubuntu xenial main
deb-src http://bacula.org/downloads/baculum/stable/ubuntu xenial main
" > /etc/apt/sources.list.d/baculum.list
apt-get update && apt-get install php-bcmath php7.0-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
" > /etc/sudoers.d/baculum
chown www-data /opt/bacula/etc
a2enmod rewrite
a2ensite baculum-web baculum-api
service apache2 restart
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
3. Centos/RedHat
rpm --import http://bacula.org/downloads/baculum/baculum.pub
name=Baculum CentOS repository
baseurl=http://bacula.org/downloads/baculum/stable/centos
name=Baculum Fedora repository
baseurl=http://bacula.org/downloads/baculum/stable/fedora
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" > /etc/sudoers.d/baculum
chown -R apache /opt/bacula/etc
firewall-cmd --permanent --zone=public --add-port=9095-9096/tcp
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
rpm --import http://bacula.org/downloads/baculum/baculum.pub
echo "
[baculumrepo]
name=Baculum CentOS repository
baseurl=http://bacula.org/downloads/baculum/stable/centos
gpgcheck=1
enabled=1
[baculumrepo]
name=Baculum Fedora repository
baseurl=http://bacula.org/downloads/baculum/stable/fedora
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" > /etc/sudoers.d/baculum
chown -R apache /opt/bacula/etc
firewall-cmd --permanent --zone=public --add-port=9095-9096/tcp
firewall-cmd --reload
service httpd restart
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
rpm --import http://bacula.org/downloads/baculum/baculum.pub
echo "
[baculumrepo]
name=Baculum CentOS repository
baseurl=http://bacula.org/downloads/baculum/stable/centos
gpgcheck=1
enabled=1
[baculumrepo]
name=Baculum Fedora repository
baseurl=http://bacula.org/downloads/baculum/stable/fedora
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" > /etc/sudoers.d/baculum
chown -R apache /opt/bacula/etc
firewall-cmd --permanent --zone=public --add-port=9095-9096/tcp
firewall-cmd --reload
service httpd restart
# Use the Internet browser to access and configure Baculum API http://localhost:9096/ and then Baculum http://localhost:9095/
# (replace localhost for the actual IP address if necessary)
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
/usr/share/baculum/htdocs/themes/Baculum-v1
/usr/share/baculum/htdocs/themes/Baculum-v1
6. Screenshots
Configuration, dashboard and API screens.
Disponível em: English