Cómo instalar el bacula client en mi cloud sin SWPanel

En este manual te enseñaremos paso a paso a instalar el agente de backup 'Bacula'. Se trata de un aplicativo que permite la comunicación entre tu servidor y nuestro servidor de Backups para poder realizar y programar las copias de seguridad por ti.

Atención: Este manual asume que dispones de conocimientos técnicos necesarios para establecer una conexión SSH o RDP con tu servidor y utilizar comandos propios de Debian, Ubuntu o Windows.

Instalación en Linux

1. Establece una conexión SSH a tu servidor
A lo largo de este manual asumiremos que estás conectado como usuario root

2. Instalación del paquete
Para instalar el paquete necesario ejecuta el siguiente comando:

apt-get install bacula-fd

En el caso de que el sistema te indique que no hay ninguna versión candidata para su instalación, revisa la sección Instalar en Linux mediante repositorios de Bacula.org.

3. Cambia el archivo de configuración
El archivo de configuración está ubicado en /etc/bacula/bacula-fd.conf
Te recomendamos editar el documento con el editor 'nano':

nano /etc/bacula/bacula-fd.conf

A continuación te explicamos los cambios que tienes que realizar en este documento. Para que te sea más sencillo lo hemos separado en bloques.

Primer bloque "Director":

Aquí definiremos los nombres de los servidores de copias y un password de acceso. Tendrás que informar de este password a nuestros ingenieros para que configuren el demonio "Bacula" en el servidor de copias. Al final del manual, te explicaremos como lo puedes hacer.

Atención: Copia el siguiente bloque tal y como se muestra en el ejemplo. Solo tienes que modificar la palabra $PWD_BACULA por tu propio password alfanumérico de 15 a 30 caracteres


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" 
}

Segundo bloque "Director":

Este bloque no es necesario, puedes comentarlo añadiendo un # delante de cada una de las líneas. Tiene que quedar de la siguiente forma:

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

Tercer bloque "File Deamon":

En este bloque tenemos que definir el nombre y la IP del director.

Solo tienes que substituir la palabra $SERVER_NAME por el nombre de host de tu servidor y asegurarte que al final haya concatenado "-fd".

Puedes obtener el server name con el comando: hostname -f

Adicionalmente tienes que substituir la dirección IP del campo FDAddress por la dirección IP de tu servidor.

Atención: Copia el siguiente bloque tal y como se muestra en el ejemplo.

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
}                           

Atención: Es posible que el archivo de configuración ya muestre substituido el campo $SERVER_NAME. No necesariamente es correcto. Por favor, comprueba el nombre real con el comando facilitado.


Cuarto bloque "Messages":

Finalmente, hay que definir el servidor al que se enviarán todos los "logs" del proceso de copia. Solo tienes que dejar la línea "Name = Standard". Puedes comentar la otra añadiendo un # al principio de la línea. Tiene que quedar de la siguiente forma:

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

4. Reinicia el demonio de bacula para aplicar la configuración y comprueba que el servicio esté escuchando en el puerto asignado

Ejecuta los siguientes comandos:

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

En caso que el servicio "bacula-fd" se esté ejecutando, se te mostrará con el estado "LISTEN"

5. Comunica la contraseña a SW

Escribe un nuevo comentario en tu muro de soporte indicando que deseas comunicarnos la contraseña del Bacula. Para más comodidad, adjuntamos un mensaje de muestra que puedes usar como plantilla:

Hola,
Siguiendo vuestro manual ya he configurado el software bacula para las copias de seguridad
que he contratado. Agradecería si podéis revisar la configuración para que se puedan
realizar las copias a partir de esta noche. Os paso los datos:

Servidor: cl20YYMMDDHHNNN.dnssw.net 
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890

Muchas gracias,
Saludos

Atención: Modifica los campos de Servidor, IP y Password del bacula por los correspondientes a tu servidor. El Password del bacula es el que hemos definido en el primer bloque

¡Ya está! Una vez realizados estos pasos y habiendo comunicado la contraseña a nuestro equipo de ingeniería, se empezarán a realizar las copias de seguridad sin que debas preocuparte de nada más. Puedes realizar un seguimiento desde tu SWPanel.

Instalar en Linux mediante repositorios de Bacula.org

En algunos casos, podemos encontrarnos con que bacula-fd o bacula-client no disponen de un candidato para su instalación. Por ello, hemos preparado una guía para utilizar los repositorios oficiales de Bacula.

NOTA IMPORTANTE: Las versiones de Debian/Ubuntu que no sean LTS (Long-Term Support) no podrán instalar bacula-fd o bacula-client en el momento en que pierdan el soporte oficial.

Podemos encontrar más información en:

Paso 1: Registro en el sitio web de Bacula

  1. Accedemos a https://www.bacula.org/bacula-binary-package-download/ y completamos el formulario de registro.
  2. A continuación, recibiremos un correo electrónico de confirmación con una clave de acceso y el enlace a los repositorios.

Ejemplo de correo:

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

Paso 2: Configuración de los repositorios

2.1 Importar la clave GPG

Ejecutamos los siguientes comandos para descargar y configurar la clave de verificación GPG:

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 Agregar el repositorio a la lista de fuentes

  1. A continuación, crearemos un archivo de repositorios para Bacula:

    nano /etc/apt/sources.list.d/Bacula-Community.list
    
  2. Agregamos la siguiente línea, sustituyendo los valores indicados:

    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
    

    Ejemplo para Debian 10 (Buster) con Bacula 13.0.4 y clave "abc123defxxxyyy":

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

    Ejemplo para Ubuntu 22.04 (Jammy Jellyfish) con Bacula 13.0.4 y clave "abc123defxxxyyy":

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

Paso 3: Instalar el cliente de Bacula

  1. Actualizamos la lista de paquetes:

    apt update
    
  2. Instalamos el cliente de Bacula:

    • Para instalar solo el File Daemon (bacula-fd):

      apt install bacula-fd
      
    • O bien, instalamos el paquete completo del cliente (bacula-client):

      apt install bacula-client
      

    Verificación:

  • Finalmente, nos aseguramos de que el servicio esté activo con:

    systemctl status bacula-fd
    

Atención: Debemos asegurarnos de que la versión de Debian/Ubuntu y Bacula sean compatibles. Consultemos la documentación oficial en caso de dudas.

Para más información, consultar la guía de instalación oficial:

Instalación en Windows

1. Establece una conexión RDP a tu servidor
A lo largo de este manual asumiremos que estás conectado como usuario Administrador

2. Descargar el paquete de instalación
En un navegador escribe la URL:

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

En el listado que aparece, descarga la versión "bacula-win64-9.6.7.exe"

Una vez descargado, ejecuta el instalador.

3. Instalación del paquete descargado

Al abrirse el instalador hacemos clic en "Next"

Aceptamos la licencia haciendo clic en "I Agree"

Seleccionamos "Automatic" y hacemos clic en "Next"

Nos aseguramos que el tipo de instalación sea de "Cient" y hacemos clic en "Next"

En la siguiente ventana del instalador hacemos clic en "Install"

Nos aseguramos de DESMARCAR la opción "Save Client template in" y hacemos clic en "Next"

Por último finalizamos el instalador haciendo clic en "Finish"

4. Editamos los archivos de configuración necesarios

El archivo de configuración se encuentra en:

C:\Program Files\Bacula\bacula-fd.conf

Primer Bloque "File Daemon"

En este bloque hay que definir el nombre del director.

Substituye la palabra $FQDN_SERVIDOR por el nombre de host de tu servidor y asegúrate que al final haya concatenado "-fd"

Atención: Es posible que el archivo de configuración ya muestre ese campo por defecto. No necesariamente es correcto. Por favor compruébalo explícitamente, ejecutando el comando "ipconfig /all" en un cmd. Toma los valores "Nombre del host" y "Sufijo DNS Principal" que se te mostrarán

Un ejemplo válido para esta línea de configuración sería: 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
}

**Atención: ** Es importante permitir las conexiones a los puertos 9102 y 9103 en el firewall local para la correcta realización de las copias de seguridad


Segundo Bloque "File Daemon"

Aquí definiremos los nombres de los servidores de copias y un password de acceso. Tendrás que informar de este password a nuestros ingenieros para que configuren el demonio "Bacula" en el servidor de copias. Al final del manual te explicaremos como lo puedes hacer.

Por favor, especifica los nombres de servidores tal y como se muestra en el ejemplo y substituye la palabra "$PWD_BACULA" por tu propio password alfanumérico de 15 a 20 caracteres

# 
# 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" 
}

Tercer bloque "Director"

Este tercer bloque no es necesario en nuestra infraestructura. Por lo que se puede eliminar o comentar

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

Cuarto bloque "Messages"

Finalmente, hay que definir el servidor al que se enviarán los "logs" del proceso de copia.

Por defecto, enviará los logs al servidor que ha iniciado el proceso de "backup". Para ello comentaremos la línea "director = @director_name@ = all, !skipped, !restored " añadiendo un # al inicio de la línea, quedando de la siguiente forma:

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

5. Reinicia y comprueba que el servicio esté escuchando en el puerto asignado

A continuación, deberás reiniciar el servidor para permitir que se inicie el servicio "bacula-fd" de forma automática.

Una vez reiniciado, puedes verificar que el servicio se está ejecutando, comprobando que el cliente bacula esté escuchando en el puerto que configuramos.

Para ello ejecuta el siguiente comando desde el Símbolo del Sistema (CMD):

netstat -a | find "9102"

En caso que el servicio "bacula-fd" se esté ejecutando, se te mostrará con el estado "LISTENING"

5.1 Si el servicio no se encuentra iniciado

Abre una terminal CMD como "Administrador" y ejecuta los siguientes comandos:

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

Si hay algún error, te lo indicará:

 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

En este caso indica que el error está en la línea 90, y da error porqué no se ha comentado la línea del "director" (cuarto bloque).

Recomendamos revisar la configuración establecida.


6. Comunica la contraseña a SW

Escribe un nuevo comentario en tu muro de soporte indicando que deseas comunicarnos la contraseña del Bacula. Para más comodidad, adjuntamos un mensaje de muestra que puedes usarlo como plantilla:

Hola,
Siguiendo vuestro manual ya he configurado el software bacula para las copias de seguridad
que he contratado. Agradecería si podéis revisar la configuración para que se puedan
realizar las copias a partir de esta noche. Os paso los datos:

Servidor: cl20YYMMDDHHNNN.dnssw.net 
IP: 81.25.1XX.YYY
Password del bacula: 12345678901234567890

Muchas gracias,
Saludos

Atención: Modifica los campos de Servidor, IP y Password del bacula por los correspondientes a tu servidor. El Password del bacula es el que hemos definido en el segundo bloque


¡Ya está! Una vez realizados estos pasos y habiendo comunicado la contraseña a nuestro equipo de ingeniería, se empezarán a realizar las copias de seguridad sin que debas preocuparte de nada más. Puedes realizar un seguimiento desde tu SWPanel.


2025 SW Hosting. Todos los derechos reservados. Los precios que aparecen en la web no incluyen impuestos