Installing Bacularis¶
Overview¶
Installation process can be performed using binary packages, Docker image or Composer.
Requirements¶
Bacularis uses the following components to work:
Web server that supports URL rewriting,
PHP >= 7.4.0 with modules:
php-bcmath
php-curl
php-xml
php-json
php-ldap
php-mysqlnd
php-pdo
php-pgsql
php-intl
Access to local or remote Bacula Catalog database,
Bacula bconsole access,
If you are going to configure Bacula via Bacularis, read/write access to Bacula configuration files for the web server user.
Note
In case installing Bacularis by binary DEB or RPM packages all requirements (web server, PHP modules) are installed automatically as the package dependencies. In case installation by Docker, everything is already installed and ready to use.
Install using RPM packages¶
Package repositories¶
Create a new repository file:
/etc/yum.repos.d/bacularis.repo
and write one from the following repositories in it:
AlmaLinux 8¶
[bacularis-app]
name=Bacularis AlmaLinux 8 repository
baseurl=https://pkgs.bacularis.app/stable/almalinux8
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
AlmaLinux 9¶
[bacularis-app]
name=Bacularis AlmaLinux 9 repository
baseurl=https://pkgs.bacularis.app/stable/almalinux9
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
CentOS 8¶
[bacularis-app]
name=Bacularis CentOS 8 repository
baseurl=https://pkgs.bacularis.app/stable/centos8
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
CentOS Stream 8¶
[bacularis-app]
name=Bacularis CentOS Stream 8 repository
baseurl=https://pkgs.bacularis.app/stable/centosstream8
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
CentOS Stream 9¶
[bacularis-app]
name=Bacularis CentOS Stream 9 repository
baseurl=https://pkgs.bacularis.app/stable/centosstream9
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Fedora 34¶
[bacularis-app]
name=Bacularis Fedora 34 repository
baseurl=https://pkgs.bacularis.app/stable/fedora34
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Fedora 35¶
[bacularis-app]
name=Bacularis Fedora 35 repository
baseurl=https://pkgs.bacularis.app/stable/fedora35
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Fedora 36¶
[bacularis-app]
name=Bacularis Fedora 36 repository
baseurl=https://pkgs.bacularis.app/stable/fedora36
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Fedora 37¶
[bacularis-app]
name=Bacularis Fedora 37 repository
baseurl=https://pkgs.bacularis.app/stable/fedora37
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Fedora 38¶
[bacularis-app]
name=Bacularis Fedora 38 repository
baseurl=https://pkgs.bacularis.app/stable/fedora38
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Oracle Linux 8¶
[bacularis-app]
name=Bacularis Oracle Linux 8 repository
baseurl=https://pkgs.bacularis.app/stable/oraclelinux8
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Oracle Linux 9¶
[bacularis-app]
name=Bacularis Oracle Linux 9 repository
baseurl=https://pkgs.bacularis.app/stable/oraclelinux9
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Rocky Linux 8¶
[bacularis-app]
name=Bacularis Rocky Linux 8 repository
baseurl=https://pkgs.bacularis.app/stable/rocky8
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Rocky Linux 9¶
[bacularis-app]
name=Bacularis Rocky Linux 9 repository
baseurl=https://pkgs.bacularis.app/stable/rocky9
gpgcheck=1
gpgkey=https://pkgs.bacularis.app/bacularis.pub
enabled=1
Installation¶
Bacularis can be installed with one of the following web servers:
Apache
Nginx
Lighttpd
Below you can find a list of all rpm packages with a brief description:
bacularis - main the Bacularis package with application files,
bacularis-httpd - Apache web server configuration files for the Bacularis,
bacularis-nginx - Nginx web server configuration files for the Bacularis,
bacularis-lighttpd - Lighttpd web server configuration files for the Bacularis.
bacularis-selinux - SELinux policy module for the Bacularis.
Note
On some operating systems (CentOS 8, CentOS Stream 8, AlmaLinux 8, Oracle Linux 8,
Rocky Linux 8 default PHP version is 7.2
. The minimal PHP version required
by Bacularis is 7.4
. So please switch PHP to 7.4
as described here:
HTTP error 500 and no interface page is loading.
Apache web server¶
dnf install bacularis bacularis-httpd
Note
If you use SELinux, please also remember about installing
the bacularis-selinux
package.
At the end please restart (or reload) the new Apache web server configuration:
systemctl restart httpd
Nginx web server¶
dnf install bacularis bacularis-nginx
Note
If you use SELinux, please also remember about installing
the bacularis-selinux
package.
At the end please restart (or reload) the new Nginx web server configuration:
systemctl restart nginx
Lighttpd web server¶
dnf install bacularis bacularis-lighttpd
Note
If you use SELinux, please also remember about installing
the bacularis-selinux
package.
Start PHP-FPM service:
systemctl start php-fpm
At the end please restart (or reload) the new Lighttpd web server configuration:
systemctl restart bacularis-lighttpd
Install using DEB packages¶
Package repositories¶
Import to your operating system the public key required for verifying package signatures:
wget -qO- https://pkgs.bacularis.app/bacularis.pub | gpg --dearmor > /usr/share/keyrings/bacularis-archive-keyring.gpg
Create a new sources list file:
/etc/apt/sources.list.d/bacularis.list
and write one from the following repositories in it:
Debian 10 Buster¶
deb [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian buster main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian buster main
Debian 11 Bullseye¶
deb [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bullseye main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bullseye main
Debian 12 Bookworm¶
deb [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bookworm main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/debian bookworm main
Ubuntu 18.04 Bionic¶
deb [arch=amd64 signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu bionic main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu bionic main
Ubuntu 20.04 Focal¶
deb [arch=amd64 signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu focal main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu focal main
Ubuntu 22.04 Jammy¶
deb [arch=amd64 signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu jammy main
Ubuntu 23.04 Lunar¶
deb [arch=amd64 signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu lunar main
deb-src [signed-by=/usr/share/keyrings/bacularis-archive-keyring.gpg] https://pkgs.bacularis.app/stable/ubuntu lunar main
Installation¶
Bacularis can be installed with one of the following web servers:
Apache
Nginx
Lighttpd
Below you can find a list of all deb packages with a brief description:
bacularis - main the Bacularis package with application files,
bacularis-apache2 - Apache web server configuration files for the Bacularis,
bacularis-nginx - Nginx web server configuration files for the Bacularis,
bacularis-lighttpd - Lighttpd web server configuration files for the Bacularis.
Apache web server¶
apt install bacularis bacularis-apache2
After installation you must enable the rewrite and the proxy FastCGI Apache modules:
a2enmod rewrite
a2enmod proxy_fcgi
You must enable the Apache PHP-FPM configuration.
For PHP 7.4
it is command:
a2enconf php7.4-fpm
Note
For other PHP versions than 7.4
you need to adapt this command changing
PHP version number.
There is also required to enable the bacularis
virtual host site:
a2ensite bacularis
At the end please restart (or reload) the new Apache web server configuration:
systemctl restart apache2
Nginx web server¶
apt install bacularis bacularis-nginx
After installation you must enable the bacularis
site:
ln -s /etc/nginx/sites-available/bacularis.conf /etc/nginx/sites-enabled/
At the end please restart (or reload) the new Nginx web server configuration:
systemctl restart nginx
Lighttpd web server¶
apt install bacularis bacularis-lighttpd
Restart the new Lighttpd web server configuration:
systemctl restart bacularis-lighttpd
Install using Docker¶
Installation¶
On the Docker Hub service are available Bacularis container images. They are in few variants to use:
bacularis-standalone [https://hub.docker.com/r/bacularis/bacularis-standalone]
It contains fully configured Bacularis webGUI and API with Bacula Director, Storage Daemon and File Daemon and also PostgreSQL database server. The image can be used for example for trying Bacularis in own environment.
The command to run container:
docker run -d -p 9097:9097 bacularis/bacularis-standalone
bacularis-web [https://hub.docker.com/r/bacularis/bacularis-web]
It contains a pure the Bacularis web interface without API layer. It can be used to connect external Bacularis API server(s) in containers or outside them.
The command to run container:
docker run -d -p 9097:9097 bacularis/bacularis-web
bacularis-api-dir [https://hub.docker.com/r/bacularis/bacularis-api-dir]
It contains installed and configured the Bacularis API with ready to use Bacula Director and PostgreSQL database server. The image can be used to connect to existing Bacularis Web instances running in containers or outside them.
The command to run container:
docker run -d -p 9097:9097 bacularis/bacularis-api-dir
bacularis-api-sd [https://hub.docker.com/r/bacularis/bacularis-api-sd]
It contains installed and configured the Bacularis API with ready to use Bacula Storage Daemon. The image can be used to connect to existing Bacularis Web instances running in containers or outside them.
The command to run container:
docker run -d -p 9097:9097 bacularis/bacularis-api-sd
bacularis-api-fd [https://hub.docker.com/r/bacularis/bacularis-api-fd]
It contains installed and configured the Bacularis API with ready to use Bacula File Daemon. The image can be used to connect to existing Bacularis Web instances running in containers or outside them.
The command to run container:
docker run -d -p 9097:9097 bacularis/bacularis-api-fd
Access parameters¶
Access URL: http://yourhost:9097
Login: admin
Password: admin
Install using Composer¶
The PHP requirements together with other requirements can be installed by the commands below.
For rpm-based systems
dnf install curl patch php-cli php-bcmath php-curl php-xml php-json php-ldap php-mysqlnd php-pdo php-pgsql php-intl
For deb-based systems
apt install curl patch php-cli php-bcmath php-curl php-xml php-json php-ldap php-mysql php-pdo php-pgsql php-intl
To install Bacularis you need to download the Composer phar archive and install it in system. After that, you can install Bacularis.
The Composer installation:
curl -s http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Bacularis installation:
composer create-project bacularis/bacularis-app
Once it is done, you need to set proper permissions for specific Bacularis directories. You can do it by executing the install script as the root user:
bacularis-app/protected/tools/install.sh
Note
This is note for using Nginx or Lighttpd web server. On some
operating systems (like DEB-based) where default PHP-FPM socket is
different than /run/php-fpm/www.sock
you have to provide the PHP-FPM
socket path to the install.sh
script. It can be done by using
an additional -p
parameter like below (example for PHP 7.4):
bacularis-app/protected/tools/install.sh -p /var/run/php/php7.4-fpm.sock
This install.sh
script also will prepare web server configuration for
popular web servers. The result file will be named bacularis-apache.conf
,
bacularis-nginx.conf
or bacularis-lighttpd.conf
(depending on used
web server) and it will be available in the main Bacularis directory. You
need to provide it to location on the filesystem where it can be used by the
web server.
Installation using Composer on RPM-based system
Installation using Composer on DEB-based system
Bacularis and Baculum¶
Bacularis installation on host with Baculum¶
Bacause Bacularis uses its own paths in the system, different from the Baculum’s paths, it means that these two web interfaces can coexist independently on the same host. From the web interface side they use different ports.
If Baculum and Bacularis installed on the same host work with the same Bacula instance, please make sure that you do not configure Bacula resources in Baculum and Bacularis at the same time because it could lead to overwritting Bacula configuration once by Baculum and once by Bacularis. For the administration tasks like running backup, restore, monitoring statuses and others there is not any additional limitation for that.
PGP verification key¶
All DEB and RPM packages are signed.
The PGP key parameters:
Userid : "Marcin Haba <marcin.haba@bacula.pl>"
Fingerprint: 546E 19BB E5BD D219 644C 0851 E72D 44EC 5C3D BD51
From : https://pkgs.bacularis.app/bacularis.pub
Algorithm : RSA
Size: : 2048 bit
The key block:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFT7ZjUBCACxlKVk+x7buPpqgwwluHU/CkIsT6uYsoqpSLbep3b9T59FQchI
aE3F0F5uupO3VOVUQhbg/1UGKh2g6Nuz0CpuAWqDF9BaBsxWyBLZjxfnGD0KOeCg
setFq2LiOtlUmeCpLp1wBWPKuvxHvkB1IYC/3yjMfZayrBJNtig07yHowmikfweX
HD6cnpZLcbM/LZ6mpNPwqEknGJ+vXryJZQaMn9RWsdOLG2siEmCtxzZXaidGsydB
EZdvpVV1i9HpUVQfO67w0xUJpUjuKgoYL9CQ+hZNX/OOhGzG4ynR43qOXTaYGnAl
dE7L8no7tupG+GGJxX3zJkc6vFFrjzmlxKrNABEBAAG0I01hcmNpbiBIYWJhIDxt
YXJjaW4uaGFiYUBiYWN1bGEucGw+iQFVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBFRuGbvlvdIZZEwIUectROxcPb1RBQJjL8CkBQkzzGBvAAoJ
EOctROxcPb1Rm4QIAIPjkN2G+5vWxxb+ijpbmoucOer98r5R5QTQRZB3t38VxK0z
bc/elchCQZ7+nVbNjdELkHB0Vyo0Y/6r2JulgpTxIGtAzwX8KqxrZyTWviIGNUSD
tjE57/wf7KcosuRDe5FG+9A035Pmyw+1WeIYawirMy/vOPHP5Xy2m0YEWi10J52L
/0bnh0IWamL/rZ+6OFaieBe0Q+HEVjNaA7GKVor3t4OcAlpvr3kyOxOo4RbO4+cp
KuFKl4xRDZ04KXaQ2xPpSCgveWw7cWX48oi8uQjyvbObYU/uKWUnEJFRoAtpCOdR
zauFZVFBxZnvgbNeU/AIx4ppkZoC6iFN2CVCTWS5AQ0EVPtmNQEIALs35BQrh7QU
y6AGOfwhsxXD+a1bvV1PR2icJbJdloIzTIN36TkLEvYMbPxcddSlQn3ZyDD9HqB7
0o4B8NtLt1WfF+3Ymmg2UgUscReOuJy8IrssZ89gm6908+29MPaX+6RQmegf+MAw
KlsCSfQZb9aydlDTPMJcx891UKtDL/QeJSEzTYUwEimHYNr21urcBTY1KT4ds1QH
E5YBdMkWv7uuf4Zdq9Z5o0fE4VVx4Upf6ZMY0TCAFQeZahuPGIBlwoyp+vFUT/LO
F2gpD2JWtYhgVyvm2fLE/T/pZBUV5Tp6figP+KGPlTiXXN7hXbO8bDcffApqGrMm
KI4EZTm33akAEQEAAYkBPAQYAQoAJgIbDBYhBFRuGbvlvdIZZEwIUectROxcPb1R
BQJjL8DFBQkzzGCQAAoJEOctROxcPb1RieIIAI/xnXqtah0ntaJbfasFYOWjuuRS
lrXd5PHCG/rNJUwxh9jtGQicVUQJzcYfUaTWd5U01Mbh80LKYqFuiS4cRlRWWlIC
g6tl7YxQU8957epyBlwA4jArUeWiCrPIO2yudD8KC4zZ53ZltHMTX5mrCpzt9iMv
iIfBKPyax3LXw7Zw/1A9VdWUyDFtPjY4KHbvjcBz3IteJaLyz5KuG7QvNK/q0NRZ
ozAPrq7Osy9WYz2f39FFcviMtyOhbiwqsgFvQnunw9x9kHrEIQGr6su2oStMFsFE
XJZa89Su67ep/X/FBWkc3+AF+yFIn9+4nrM+k0AuxQHCb3gCq06iJFxZ+2o=
=Qi1m
-----END PGP PUBLIC KEY BLOCK-----