Updating Baculum

General notes

Before upgrading please read the ReleaseNotes and UPGRADE files included to the Baculum source TAR archive. Normally upgrade between major versions and between minor versions is possible and fully supported.

If for the update process are needed any additional steps for Baculum installed manually, information about them is available in the UPGRADE file.

Binary packages upgrade

For the Baculum API and the Baculum Web installed using binary packages from repositories on bacula.org all upgrade process is done automatically. No additional action is needed besides of running upgrade by the system package manager.

Manual installation upgrade

Baculum can be installed manually from the source TAR archive. For this kind of installation, the upgrade process consists of the following steps:

  • backup configuration and log directories

  • delete all Baculum files from web server document root directory

  • copy new Baculum files from source TAR archive

  • restore configuration and log directories

  • set permissions

In commands below the assumed path for Baculum Web and Baculum API web server document root is /var/www/baculum.

Note

Before upating a good practice for the upgrade process is to stop the web server or disable Baculum in the web server configuration if stop is not possible.

Backup configuration

# Backup Baculum API files
tar zcvf /root/baculum-api-backup.tar.gz \
         /var/www/baculum/protected/API/Config \
         /var/www/baculum/protected/API/Logs

# Backup Baculum Web files
tar zcvf /root/baculum-web-backup.tar.gz \
         /var/www/baculum/protected/Web/Config \
         /var/www/baculum/protected/Web/Logs

Delete Baculum files

rm -rf /var/www/baculum/*

Copy new files from source archive

# Set new version for TAR command
VERSION=11.0.5.6

# Extract new files
tar zxvf bacula-gui-$VERSION.tar.gz \
     -C /var/www/baculum \
     --strip-components=2 \
     bacula-gui-$VERSION/baculum/assets \
     bacula-gui-$VERSION/baculum/protected \
     bacula-gui-$VERSION/baculum/themes \
     bacula-gui-$VERSION/baculum/index.php

Restore Baculum files

# Restore Baculum API files
tar zxvf /root/baculum-api-backup.tar.gz -C /

# Restore Baculum Web files
tar zxvf /root/baculum-web-backup.tar.gz -C /

Set permissions for new directories

Please adapt the web server username and group below to your web server username. In the example below is used user www-data and group www-data.

chown -R www-data:www-data /var/www/baculum

If you use SELinux, please run restore files SELinux context by the following command:

# For Baculum API
restorecon -i -R /var/www/baculum/protected/API/Config \
                 /var/www/baculum/protected/API/Logs \
                 /var/www/baculum/assets \
                 /var/www/baculum/protected/runtime

# For Baculum Web
restorecon -i -R /var/www/baculum/protected/Web/Config \
                 /var/www/baculum/protected/Web/Logs \
                 /var/www/baculum/assets \
                 /var/www/baculum/protected/runtime