How to install the bacula client in my cloud without SWPanel

Atualizado em 2026-10-11 19:01:04 353 visitas

In this manual, we will show you step-by-step how to install the backup agent 'Bacula'. This is an application that enables communication between your server and our Backup server to be able to perform and schedule backups for you.

Attention: This manual assumes that you have the necessary technical knowledge to establish an SSH or RDP connection with your server and use commands specific to Debian, Ubuntu, or Windows.

Installation on Linux

1. Establish an SSH connection to your server
Throughout this manual, we will assume that you are connected as the root user

2. Package installation
To install the necessary package, run the following command:

apt-get install bacula-fd

In case the system indicates that there is no candidate version for installation, check the section Install on Linux via Bacula.org repositories.

3. Change the configuration file
The configuration file is located at /etc/bacula/bacula-fd.conf
We recommend editing the document with the 'nano' editor:

nano /etc/bacula/bacula-fd.conf

Below we explain the changes you need to make to this document. To make it easier, we have divided them into blocks.

First block 'Director':

Here we will define the names of the backup servers and an access password. You will need to provide this password to our engineers so they can configure the 'Bacula' daemon on the backup server. At the end of the manual, we will explain how to do this.

Attention: Copy the following block exactly as shown in the example. You only need to replace the word $PWD_BACULA with your own alphanumeric password of 15 to 30 characters


Director {
Name = bacula.dnssw.net-dir
Password = '$PWD_BACULA'
}
Director {
Name = bacula2.dnssw.net-dir
Password = '$PWD_BACULA' 
} 
Director {
Name = bacula3.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = bacula4.dnssw.net-dir   
Password = '$PWD_BACULA'  
}
Director {
Name = bacula5.dnssw.net-dir   
Password = '$PWD_BACULA'  
}
Director {
Name = bacula6.dnssw.net-dir   
Password = '$PWD_BACULA'  
}
Director {
Name = baculaMadrid.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = baculam1.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = baculam2.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = baculam3.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = baculam4.dnssw.net-dir   
Password = '$PWD_BACULA' 
}
Director {
Name = baculam5.dnssw.net-dir   
Password = '$PWD_BACULA' 
}

Second block 'Director':

Since the Panel update to version 2026, it is possible that this block has disappeared. In case it is still present, it is not necessary to keep it active; you can comment it out by adding a # at the beginning of each line. It should look as follows:

# 
# Restricted Director, used by tray-monitor to get the 
# status of the file daemon 
# 
# Director {
#  Name = bacula3.dnssw.net-mon 
#  Password = 'GexFhZYo843rTweXJq0RJLQtpyd' 
#  Monitor = yes 
# }

Third block 'File Daemon':

In this block, we need to define the name and IP of the director.

You only need to replace the word $SERVER_NAME with the hostname of your server and ensure that it is concatenated with '-fd' at the end.

You can obtain the server name with the command: hostname -f

Additionally, you must replace the IP address of the FDAddress field with your server's IP address.

Attention: Copy the following block exactly as shown in the example.

FileDaemon {
    Name = $SERVER_NAME-fd
    FDport = 9102
    WorkingDirectory = /var/lib/bacula
    Pid Directory = /var/run/bacula
    Maximum Concurrent Jobs = 20
    FDAddress = 0.0.0.0
}                           

Attention: It is possible that the configuration file already shows the $SERVER_NAME field as replaced. This is not necessarily correct. Please verify the actual name using the provided command.


Fourth block 'Messages':

Finally, the server to which all the 'logs' of the backup process will be sent must be defined. You only need to leave the line 'Name = Standard'. You can comment out the other one by adding a # at the beginning of the line. It should look as follows:

Messages {
    Name = Standard
    # director = cl2018123456-dir = all, !skipped, !restored
} 

**4. Restart the bacula daemon to apply the configuration and check that the service is listening on the assigned port**

Run the following commands:

/etc/init.d/bacula-fd restart
netstat -pant | grep 9102

If the 'bacula-fd' service is running, it will be shown with the status 'LISTEN'

5. Communicate the password to SW

Write a new comment on your support wall indicating that you wish to communicate the Bacula password to us. For your convenience, we attach a sample message that you can use as a template:

Hello,
Following your manual, I have already configured the bacula software for the backups
I have contracted. I would appreciate it if you could review the configuration so that
the backups can be performed starting tonight. Here are the details:

Server: cl20YYMMDDHHNNN.dnssw.net 
IP: 81.25.1XX.YYY
Bacula password: 12345678901234567890

Thank you very much,
Regards

Attention: Modify the Server, IP, and Bacula password fields to those corresponding to your server. The Bacula password is the one we defined in the first block

That's it! Once these steps are completed and the password has been communicated to our engineering team, the backups will start to be performed without you having to worry about anything else. You can track this from your SWPanel.

Install on Linux via Bacula.org repositories

In some cases, we may find that bacula-fd or bacula-client do not have a candidate for installation. Therefore, we have prepared a guide to use the official Bacula repositories.

IMPORTANT NOTE: Debian/Ubuntu versions that are not LTS (Long-Term Support) will not be able to install bacula-fd or bacula-client once they lose official support.

More information can be found at:

Step 1: Registration on the Bacula website

  1. Go to https://www.bacula.org/bacula-binary-package-download/ and complete the registration form.
  2. Then, we will receive a confirmation email with an access key and the link to the repositories.

Email example:

FROM: Bacula Community project <[email protected]>
SUBJECT: Community binary registration

Community binary registration
Dear <NAME>,

This email confirms you have successfully registered to obtain Bacula community binaries.

Bacula community binaries repositories are available here:
https://www.bacula.org/packages/<ACCESS-KEY>

Thank you for your support of the Bacula project

Best regards

Step 2: Repository configuration

2.1 Import the GPG key

Run the following commands to download and configure the GPG verification key:

cd /tmp
wget https://www.bacula.org/downloads/Bacula-4096-Distribution-Verification-key.asc
gpg --dearmor -o /etc/apt/trusted.gpg.d/bacula.gpg Bacula-4096-Distribution-Verification-key.asc
rm Bacula-4096-Distribution-Verification-key.asc

2.2 Add the repository to the sources list

  1. Next, we will create a repository file for Bacula:

    nano /etc/apt/sources.list.d/Bacula-Community.list
    
  2. Add the following line, replacing the indicated values:

    Debian

    # Bacula Community
    deb https://www.bacula.org/packages/<ACCESS-KEY>/debs/<BACULA-VERSION> <DEBIAN-VERSION> main
    

    Ubuntu

    # Bacula Community
    deb [arch=amd64] https://www.bacula.org/packages/<ACCESS-KEY>/debs/<BACULA-VERSION> <UBUNTU-VERSION> main
    

    Example for Debian 10 (Buster) with Bacula 13.0.4 and key 'abc123defxxxyyy':

    # Bacula Community
    deb https://www.bacula.org/packages/abc123defxxxyyy/debs/13.0.4 buster main
    

    Example for Ubuntu 22.04 (Jammy Jellyfish) with Bacula 13.0.4 and key 'abc123defxxxyyy':

    # Bacula Community
    deb [arch=amd64] https://www.bacula.org/packages/abc123defxxxyyy/debs/13.0.4 jammy main
    

Step 3: Install the Bacula client

  1. Update the package list:

    apt update
    
  2. Install the Bacula client:

    • To install only the File Daemon (bacula-fd):

      apt install bacula-fd
      
    • Alternatively, install the full client package (bacula-client):

      apt install bacula-client
      

    Verification:

  • Finally, make sure that the service is active with:

    systemctl status bacula-fd
    

Attention: We must ensure that the Debian/Ubuntu and Bacula versions are compatible. Consult the official documentation in case of doubt.

For more information, refer to the official installation guide:

Installation on Windows

1. Establish an RDP connection to your server
Throughout this manual, we will assume that you are connected as the Administrator user

2. Download the installation package
In a browser, type the URL:

https://www.bacula.org/downloads/Bacula-9.6.7/

In the list that appears, download the 'bacula-win64-9.6.7.exe' version

We recommend using Google Chrome for the download.

If using another browser, once the download is complete, it will be necessary to validate the file before it can be executed.

To do this, once downloaded, click on the download arrow, then on the three dots (...) and select the 'Keep' option.

We attach a guide image:

Once the fourth step shown in the image is completed, you must also perform the last two indicated steps:

When the download has finished correctly, run the installer.

3. Installation of the downloaded package

When the installer opens, click 'Next'

Accept the license by clicking 'I Agree'

Select 'Automatic' and click 'Next'

Ensure that the installation type is 'Client' and click 'Next'

In the next window of the installer, click 'Install'

Make sure to UNCHECK the 'Save Client template in' option and click 'Next'

Finally, finish the installer by clicking 'Finish'

4. Edit the necessary configuration files

The configuration file is located at:

C:\Program Files\Baculaacula-fd.conf

First Block 'File Daemon'

In this block, the name of the director must be defined.

Replace the word $FQDN_SERVIDOR with the hostname of your server and ensure that it is concatenated with '-fd' at the end

Attention: It is possible that the configuration file already shows this field by default. This is not necessarily correct. Please check it explicitly by running the 'ipconfig /all' command in a cmd. Use the 'Host Name' and 'Primary DNS Suffix' values that are shown

A valid example for this configuration line would be: CL2020123456.dnssw.net-fd

FileDaemon {    
    Name = $FQDN_SERVIDOR-fd # this is me   
    FDport = 9102 # where we listen for the director   
    WorkingDirectory = 'C:\Program Files\Bacula\working'   
    Pid Directory = 'C:\Program Files\Bacula\working'   
    #Plugin Directory = 'C:\Program Files\Bacula\plugins'  
    Maximum Concurrent Jobs = 10
}

**Attention: ** It is important to allow connections to ports 9102 and 9103 in the local firewall for the correct execution of the backups


Second Block 'File Daemon'

Here we will define the names of the backup servers and an access password. You will need to provide this password to our engineers so they can configure the 'Bacula' daemon on the backup server. At the end of the manual, we will explain how to do this.

Please specify the server names as shown in the example and replace the word '$PWD_BACULA' with your own alphanumeric password of 15 to 20 characters

# 
# List Directors who are permitted to contact this File daemon 
# 
Director {
    Name = bacula.dnssw.net-dir
    Password = '$PWD_BACULA'
}
Director {
    Name = bacula2.dnssw.net-dir
    Password = '$PWD_BACULA' 
} 
Director {
    Name = bacula3.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = bacula4.dnssw.net-dir   
    Password = '$PWD_BACULA'  
}
Director {
    Name = bacula5.dnssw.net-dir   
    Password = '$PWD_BACULA'  
}
Director {
    Name = bacula6.dnssw.net-dir   
    Password = '$PWD_BACULA'  
}
Director {
    Name = baculaMadrid.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = baculam1.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = baculam2.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = baculam3.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = baculam4.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}
Director {
    Name = baculam5.dnssw.net-dir   
    Password = '$PWD_BACULA' 
}

Third block 'Director'

This third block is not necessary in our infrastructure. Therefore, it can be deleted or commented out

# 
# Restricted Director, used by tray-monitor to get the 
#   status of the file daemon 
# 
#Director { 
#  Name = bacula3.dnssw.net-mon 
#  Password = 'GexFhZYo843rTweXJq0RJLQtpyd' 
#  Monitor = yes 
#} 

Fourth block 'Messages'

Finally, the server to which the 'logs' of the backup process will be sent must be defined.

By default, it will send the logs to the server that initiated the 'backup' process. To do this, we will comment out the line 'director = @director_name@ = all, !skipped, !restored ' by adding a # at the beginning of the line, leaving it as follows:

# Send all messages except skipped files back to Director 
Messages {    
    Name = Standard  
    # director = @director_name@ = all, !skipped, !restored 
} 

5. Restart and check that the service is listening on the assigned port

Next, you must restart the server to allow the 'bacula-fd' service to start automatically.

Once restarted, you can verify that the service is running by checking that the bacula client is listening on the port we configured.

To do this, run the following command from the Command Prompt (CMD):

netstat -a | find '9102'

If the 'bacula-fd' service is running, it will be shown with the status 'LISTENING'

5.1 If the service is not started

Open a CMD terminal as 'Administrator' and run the following commands:

C:\Users\Administrador>cd 'C:\Program Files\Bacula'
C:\Program Files\Bacula>bacula-fd.exe -c 'C:\Program Files\Baculaacula-fd.conf'

If there is any error, it will be indicated:

 C:\Program Files\Bacula>
 13-Jun 14:40 bacula-fd: ERROR TERMINATION at lib/lex.c:878
  Config error: expected a name, got T_EQUALS: =
              : line 90, col 15 of file C:/Program Files/Bacula/bacula-fd.conf
  director =  = all, !skipped, !restored, !verified

In this case, it indicates that the error is on line 90, and it errors because the 'director' line has not been commented out (fourth block). We recommend reviewing the established configuration.

When the configuration is correct, run the following command to restart the 'bacula-fd' service:

net start bacula-fd

Once started, you can verify that the service is running by checking that the bacula client is listening on the port we configured. To do this, run the following command from the Command Prompt (CMD):

netstat -a | find '9102'

If the 'bacula-fd' service is running, it will be shown with the status 'LISTENING'


6. Communicate the password to SW

Write a new comment on your support wall indicating that you wish to communicate the Bacula password to us. For your convenience, we attach a sample message that you can use as a template:

Hello,
Following your manual, I have already configured the bacula software for the backups
I have contracted. I would appreciate it if you could review the configuration so that
the backups can be performed starting tonight. Here are the details:

Server: cl20YYMMDDHHNNN.dnssw.net 
IP: 81.25.1XX.YYY
Bacula password: 12345678901234567890

Thank you very much,
Regards

Attention: Modify the Server, IP, and Bacula password fields to those corresponding to your server. The Bacula password is the one we defined in the second block


That's it! Once these steps are completed and the password has been communicated to our engineering team, the backups will start to be performed without you having to worry about anything else. You can track this from your SWPanel.