Baculum 9 — визуальная конфигурация, администрирование и API

Baculum (bacula-gui) — официальный графический веб-интерфейс проекта Bacula (bacula.org). Версия 9 содержит конфигурационный модуль, позволяющий резервному администратору изменить настройки бэкапа Bacula без корректировки файлов txt. Baculum также использует новый API для облегчения интеграции с другими программами, интерфейсами и консолями.

1. Установка

Baculum 9 способен работать и с другими версиями Bacula, но только Bacula 9 имеет binaries в формате json — это необходимо для графической настройки Bacula.

Для установки Bacula 9 с исходного кода — пройдите по ссылке <http://bacula.us/compilation>.

Как только в Вашем распоряжении появится рабочая версия Bacula — время установить Baculum API и его интерфейс.

2. Debian/Ubuntu

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 -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' /var/lib/pgsql/data/pg_hba.conf
service postgresql 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

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: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

# 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. Конфигурация

Начните с настройки API через http://localhost:9096/ (логин admin, пароль admin). У Вас будет возможность протестировать каждое из внесенных изменений. Данные для доступа к API (логин, пароль или oauth) будут сгенерированы в соответствии со следующими скриншотами.

выбор языка

экран ввода данных для доступа к API

экран выбора пути к файлу конфигурации bconsole

экран выбора пути к другим файлам конфигурации Bacula

установка административного логина и пароля

завершающий этап установки

Далее зайдите в интерфейс Baculum (http://localhost:9095/ — admin, admin) и также настройте всё вышеперечисленное:

экран конфигурации языка в Baculum

5. Темы

Если вы желаете разработать новые CSS темы или изменить часть интерфейса Baculum — стандартная тема размещена по следующему пути:

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

6. Скриншоты

Экраны конфигурации, дашборда и API.

экран конфигурации

экран дашборда

экран API