Guías y tutoriales

Cientos de tutoriales y guías paso a paso cuidadosamente escritas por nuestro equipo de soporte.

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

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 --fwdn

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.

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"

enter image description here

Aceptamos la licencia haciendo clic en "I Agree"

enter image description here

Seleccionamos "Automatic" y hacemos clic en "Next"

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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.