miércoles, 12 de octubre de 2016

Instalacion Bacula y Webmin

PASOS

1- Instalamos Ubuntu14.04 en un disco rigido perteneciente al grupo 

2-En el terminal de nuestro sistema, ingresamos los siguientes comandos:
         apt-get update
         apt-get upgrade

3- Instalamos el servidor MySQL 
        apt-get install mysql-server

4- Seteamos la contraseña de administrador sk@server: ~_001

5- Luego procedemos a instalar Bacula con los siguientes comandos 
       sudo apt-get install bacula-server bacula-client

6-Durante la instalacion debemos configurar POSTFIX 

Clickear "OK"
sk@server: ~_003

Seleccionar "Internet Site" y presionar "OK"
sk@server: ~_004

Ingresar el nombre del servidor  
sk@server: ~_005

7-Configuramos Bacula-director 
sk@server: ~_006

Ingresar la contraseña de administrador de la base de datos previamente definida 
sk@server: ~_007

Configurar la contraseña de Bacula-director 
sk@server: ~_008

Luego de finalizar estos pasos habremos terminado la instalacion de Bacula.

8-Creamos los directorios para los Backup y Restores 
         sudo mkdir -p /mybackup/backup /mybackup/restore

Y le otorgamos los respectivos permisos 
         sudo chown -R bacula:bacula /mybackup/ 
         sudo chmod -R 700 /mybackup/

9- Configuracion de Bacula

-Configuracion de Bacula-director 
       sudo vi /etc/bacula/bacula-dir.conf

Encontrar la siguiente seccion y realizar las debidas modificaciones.
      [...] 
         Job {   
Name = "RestoreFiles"   
Type = Restore   
Client=server-fd   
FileSet="Full Set"   
Storage = File   
Pool = Default   
Messages = Standard   
Where = /mybackup/restore } 
[...]

Bajar en el archivo hasta encontrar la siguiente seccion;
      [...]   
#  By default this is defined to point to the Bacula binary 
#    directory to give a reasonable FileSet to backup to 
#    disk storage during initial testing. 
#     File = /home/sk   
}
      [...]

Seguir bajando hasta encontrar la seccion Exclude y setear la lista de directorios que se debera excluir del Backup.
      [...]  
# If you backup the root directory, the following two excluded 
#   files can be useful #   
Exclude {     
File = /var/lib/bacula    
File = /nonexistant/path/to/file/archive/dir     
File = /proc     
File = /tmp     
File = /.journal     
File = /.fsck     
File = /mybackup  
   } 
 }
     [...]

Guardar y Cerrar el archivo 

10-Actualizar la configuracion de Bacula Storage Daemon  
Editar/etc/bacula/bacula-sd.conf 

Ingresar la carpeta de Backup , en nuestro caso /mybackup/backup
 [...]
  Device {   
Name = FileStorage   
Media Type = File   
Archive Device = /mybackup/backup   
LabelMedia = yes;                   # lets Bacula label unlabeled media   
Random Access = Yes;   AutomaticMount = yes;        # when device opened, read it   
RemovableMedia = no;   
AlwaysOpen = no; 
[...]

11- Ingresar los siguientes comandos. En caso de que no pase nada los cambios realizados fueron validos

      sudo bacula-dir -tc /etc/bacula/bacula-dir.conf 
      sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

12-Una vez hechos todos los cambios , reseteamos todos los servicios de Bacula 

     sudo service bacula-director restart
     sudo service bacula-fd restart 
     sudo service bacula-sd restart

Eso es todo, Bacula ha sido instalado y configurado correctamente 

13-Administrar Bacula usando Webmin 

Agregar el repositorio oficial de Webmin 
      sudo vi /etc/apt/sources.list

Añadir las siguientes lineas
      deb http://download.webmin.com/download/repository sarge contrib 
      deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Agregar la llave GPG 
      sudo wget http://www.webmin.com/jcameron-key.asc 
      sudo apt-key add jcameron-key.asc

Actualizar la lista de fuentes 
      sudo apt-get update

Instalar Webmin usando el siguiente comando 
    sudo apt-get install webmin

Permitir el puerto 10000 via firewall , ya que es el que utiliza Webmin 
    sudo ufw allow 10000

14- Acceder a la consola Webmin

En nuestro navegador , ingresamos la URL 192.168.22.2:10000 para acceder a la siguiente pantalla de Login (la ip ingresada debe ser la de la maquina en cuestion)

Login to Webmin - Chromium_011

El usuario es el nombre de la maquina y la contraseña la definida durante la configuracion de Bacula


Webmin 1.760 on server.unixmen.local (Ubuntu Linux 15.04) - Chromium_012


Eso es todo, ya habremos accedido a la consola de Webmin

15-Administrar Bacula usando Webmin

Desde el menú de Bacula, clickeamos la pestaña "System" en el panel izquierdo y seleccionamos el link de "Module Configuration".
Webmin 1.760 on server.unixmen.local (Ubuntu Linux 15.04) - Chromium_013

 La siguiente ventana debería aparecer. Cliquear "Module Configuration".

Webmin 1.760 on server.unixmen.local (Ubuntu Linux 15.04) - Chromium_014

Seleccionar MySQL en la seccion de base de datos. Ingresar la contraseña de administrador de la base de datos MySQL y cliquear en el boton de "Save".



Eso es todo, ahora podremos configurar y manejar Bacula desde Webmin facilmente. Seremos capaces de añadir clientes de backup, volumenes y organizar trabajos.



   Instalación del cliente:

Ya en el cliente debimos descargar los paquetes necesarios con:

sudo apt-get update
sudo apt-get install bacula-client
 

Luego abrimos el archivo de configuración:
 
sudo nano /etc/bacula/bacula-fd.conf
 
 
Después en la sección "Director" reemplazamos el nombre por el nuestro seguido por "-dir"y guardaremos 
la contraseña para usarla mas tarde:
 
Director {
  Name = BackupServer-dir
  Password = "u2LK-yBrQzfiEsc6NWftHEhymmdPWsklN"  # Copy this password for later reference!
}
 
También, en la sección de "FileDeamon" cambiamos donde dice FDAdress por nuestra Ip cliente y el nombre
debería ser igual:
 
FileDaemon {                          # this is me
  Name = ClientMachine-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  FDAddress = ClientMachine.DomainName.com
  
También vamos a cambiar en la sección de Messages para que este le pase los mensajes al servidor:
 
Messages {
  Name = Standard
  director =  BackupServer-dir = all, !skipped, !restored
}  
 
Guardamos el archivo y salimos.
 
Luego si el siguiente comando no  devuelve nada significa que se guardo correctamente el archivo anterior:
 
sudo bacula-fd /etc/bacula/bacula-fd.conf  
 
Vamos a reiniciar el servicio para que se apliquen los cambios con:
 
sudo service bacula-fd restart

En el siguiente ejemplo vamos a restaurar una carpeta en la misma computadora, para esto creamos la carpeta y
ajustamos los permisos:
 
sudo mkdir -p /bacula/restore
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula 
 
Al finalizar,ya tendremos nuestro cliente configurado y listo para realizar back-ups.
 
  Conclusión:
 
 Mediante Bacula pudimos realizar un BackUp, tanto del mismo servidor como, de un cliente externo
 conectado via ethernet.
Llegamos a la conclusión de que esto puede ser muy útil en donde los servidores tienen un papel importante,
ya que se puede configurar para que por ejemplo, se hagan semanalmente y en caso de algun error se puede
restaurar sin perder información.