Краткая инструкция по первоначальной настройке системы резервного копирования Bacula в связке с СУБД PostgreSQL и веб-интерфейса Baculum на ОС Debian GNU/Linux 11.6
В первую очередь нам понадобится установить sudo
# apt install sudo
а также gnupg
# apt install gnupg gnupg1 gnupg2
Настраиваем репозиторий Baculum. Для этого качаем и добавляем публичный ключ
# wget -qO - http://www.bacula.org/downloads/baculum/baculum.pub | apt-key add -
создадим файл для репозитория Baculum
# touch /etc/apt/sources.list.d/baculum.list
откроем его
# nano /etc/apt/sources.list.d/baculum.list
и запишем такие строки:
deb http://www.bacula.org/downloads/baculum/stable-11/debian bullseye main deb-src http://www.bacula.org/downloads/baculum/stable-11/debian bullseye main
Обновляем репозитории
# apt update
Теперь устанавливаем саму Бакулу, исключая postfix-
# apt install bacula bacula-server bacula-director-pgsql bacula-sd bacula-fd postfix-
Появится диалоговое окно с предложением настроить базу данных PostgreSQL:
отвечаем Да и видим окно выбора хоста
оставляем localhost
вводим пароль для пользователя БД:
и повторим его:
После установки смотрим статус служб Bacula
# systemctl status bacula*
все 3 службы (bacula-dir, bacula-sd и bacula-fd) должны быть в статусе active (running)
Далее устанавливаем веб-интерфейс Baculum
# apt install baculum-common baculum-api baculum-web baculum-api-apache2 baculum-web-apache2
После этого настраиваем Apache. Для этого включаем модуль rewrite
# /sbin/a2enmod rewrite
а также активируем API и веб-интерфейс
# /sbin/a2ensite baculum-api # /sbin/a2ensite baculum-web
Затем перезапускаем Apache
# systemctl restart apache2
Теперь переходим к настройке sudo для API. Для этого создаём файл /etc/sudoers.d/baculum-api
# touch /etc/sudoers.d/baculum-api
открываем его
# nano /etc/sudoers.d/baculum-api
и добавляем такие строки:
Defaults:www-data !requiretty www-data ALL = (root) NOPASSWD: /usr/sbin/bconsole www-data ALL = (root) NOPASSWD: /usr/sbin/bacula-dir www-data ALL = (root) NOPASSWD: /usr/sbin/bacula-sd www-data ALL = (root) NOPASSWD: /usr/sbin/bacula-fd www-data ALL = (root) NOPASSWD: /usr/sbin/bdirjson www-data ALL = (root) NOPASSWD: /usr/sbin/bsdjson www-data ALL = (root) NOPASSWD: /usr/sbin/bfdjson www-data ALL = (root) 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
После этого открываем конфигурацию директора
# nano /etc/bacula/bacula-dir.conf
находим секцию Director, закомментируем параметры DIRport и DirAddress, и добавить параметр DirAddresses, где указать локальный и сетевой ip-адреса директора и порт:
... Director { ... # DIRport = 9101 ... # DirAddress = 127.0.0.1 DirAddresses = { ip = { addr = 127.0.0.1; port=9101; } ip = { addr = 172.16.31.55; port=9101; } } } ...
Затем добавим пользователя www-data в группу sudo
# /sbin/usermod -aG sudo www-data
Теперь перезапускаем службы Бакулы
# systemctl restart bacula-dir bacula-sd bacula-fd
После этого на другой машине в сети в браузере войдём http://ip-адрес-сервера:9096 и настроим API
Логин и пароль вводим admin / admin (по умолчанию) и попадаем в мастера первоначальной настройки:
После выбора языка переходим к настройке БД
тестируем подключение и переходим к настройке bconsole
проверяем соединение с bconsole и переходим к настройке компонентов
тестируем компоненты через API и переходим к настройке аутентификации
вводим логин и пароль администратора и переходим к завершающему шагу
Далее вводим новые логин и пароль
и попадаем на страницу Baculum API:
Здесь необходимо перейти в Настройки — Действия
и снова провести проверку соединения со всеми компонентами.
После этого переходим в веб-интерфейс http://ip-адрес-сервера:9095 и попадаем в мастер настройки:
На следующем шаге попадаем в настройки API-хоста
тестируем и жмём Вперёд
здесь вводим логин и пароль администратора для доступа в веб-интерфейс и жмём Вперёд
проверяем параметры, жмём Сохранить и попадаем в панель управления:
На этом первоначальная настройка Бакулы и Бакулума закончена, но здесь ещё немало работы с файлами конфигурации Бакулы и настройках Бакулума. Они будут описаны в следующих постах.