https://bacularis.app/doc/brief/installation.html#install-manually
Installing Bacularis#
Overview
Installation process can be performed using binary packages, Docker image, PHP Composer or manually using source archives.
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.
Install using RPM packages
Package repositories
The binary package repositories with the latest Bacularis are available for the following RPM-based systems:
AlmaLinux 8
AlmaLinux 9
CentOS 8 / RHEL
CentOS Stream 8 / RHEL
CentOS Stream 9 / RHEL
Fedora 38
Fedora 39
Fedora 40
Fedora 41
Oracle Linux 8
Oracle Linux 9
openSUSE 15.6 / SLES
Rocky Linux 8
Rocky Linux 9
To get the binary packages you need to register in the user panel at https://users.bacularis.com After registering you will be able to use the Bacularis package repositories.
Installation (with DNF)
DNF is the next-generation version of yum
package manager for RPM-based distributions. It is used on CentOS, Red Hat Enterprise Linux (RHEL), Fedora, AlmaLinux, Oracle Linux, Rocky Linux and many other RPM-based systems.
Using DNF 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.
Apache web server
dnf install bacularis bacularis-httpd bacularis-selinux
At the end please restart (or reload) the new Apache web server configuration:
systemctl restart httpd
Nginx web server
dnf install bacularis bacularis-nginx bacularis-selinux
At the end please restart (or reload) the new Nginx web server configuration:
systemctl restart nginx
Lighttpd web server
dnf install bacularis bacularis-lighttpd bacularis-selinux
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
Installation (with ZYPPER)
Zypper is a command-line interface of the ZYpp package manager available on openSUSE, SUSE Linux Enterprise Server (SLES) and on some other RPM-based systems.
Using Zypper 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.
Apache web server
zypper in bacularis bacularis-httpd bacularis-selinux
Enable URL rewrite module:
a2enmod rewrite
Please disable ProtectSystem
option in PHP-FPM systemd unit:
sed -i -e 's/^ProtectSystem=/#ProtectSystem=/i' /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
Enable setting HTTP authentication params if FastCGI module used:
sed -i -e '/<IfModule mod_proxy_fcgi.c>/a \\tSetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1' /etc/apache2/conf.d/php8-fpm.conf
At the end please restart PHP-FPM and the Apache web server:
systemctl restart php-fpm
systemctl restart apache2
Nginx web server
zypper in bacularis bacularis-nginx bacularis-selinux
Please disable ProtectSystem
option in PHP-FPM systemd unit:
sed -i -e 's/^ProtectSystem=/#ProtectSystem=/i' /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
At the end please restart (or reload) PHP-FPM and the new Nginx web server configuration:
systemctl restart php-fpm
systemctl restart nginx
Lighttpd web server
zypper in bacularis bacularis-lighttpd bacularis-selinux
Please disable ProtectSystem
option in PHP-FPM systemd unit:
sed -i -e 's/^ProtectSystem=/#ProtectSystem=/i' /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
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
Access in web browser
The Bacularis web interface is available at http://localhost:9097 with default user admin
and password admin
.
Install using DEB packages
Package repositories
The binary package repositories with the latest Bacularis are available for the following DEB-based systems:
Debian 11 Bullseye
Debian 12 Bookworm
Ubuntu 20.04 Focal
Ubuntu 22.04 Jammy
Ubuntu 23.04 Lunar
Ubuntu 23.10 Mantic
Ubuntu 24.04 Noble
Ubuntu 24.10 Oracular
To get the binary packages you need to register in the user panel at https://users.bacularis.com After registering you will be able to use the Bacularis package repositories.
Installation (with APT)
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. Please select one of the a2enconf
commands that match your PHP version installed in the system. The PHP version you can check for example by running PHP cli command: php -v
:
For PHP 7.4
it is command:
a2enconf php7.4-fpm
For PHP 8.1
it is command:
a2enconf php8.1-fpm
For PHP 8.2
it is command:
a2enconf php8.2-fpm
For PHP 8.3
it is command:
a2enconf php8.3-fpm
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
Access in web browser
The Bacularis web interface is available at http://localhost:9097 with default user admin
and password admin
.
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 in web browser
The Bacularis web interface is available at http://localhost:9097 with default user admin
and 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
bacularis-app/protected/tools/install.sh -p /var/run/php/php7.4-fpm.sock
If you don’t know the PHP-FPM socket path in your operating system, you can find it using the following command:
find /run/php* -name '*.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
Access in web browser
The Bacularis web interface is available at http://localhost:9097 with default user admin
and password admin
.