Aller au contenu

Installer Bareos sur Ubuntu : le fork de Bacula qui n''a pas arrêté d''avancer

Comment installer Bareos sur Ubuntu LTS, pourquoi les opérateurs le choisissent à la place de Bacula en 2026, et la petite surface de migration entre les deux démons.

Bareos a forké Bacula en 2010 et a accumulé la plupart des fonctionnalités qui font qu”on regarde Bacula et qu”on se dit « ça respire 2005 ». Le format de fil est resté celui de Bacula, alors la migration est surtout mécanique, mais l”arborescence de configuration, la distribution des paquets et la WebUI fournie sont assez différentes pour qu”on sache ce qu”on installe. Cet article couvre une installation propre de Bareos sur Ubuntu 24.04 avec catalogue PostgreSQL, la WebUI, et les notes opérationnelles qu”on applique sur les mandats où Bareos est l”outil retenu.

Comment vérifier

Confirmer les paquets, les ports et la base de catalogue après installation :

systemctl status bareos-dir bareos-sd bareos-fd
ss -tlnp | grep -E ':(9101|9102|9103)\b'
sudo -u postgres psql -c "\l" | grep bareos
echo "list jobs" | bconsole | head
curl -sI http://localhost/bareos-webui/ | head -1

Les ports 9101/9102/9103 n”ont pas changé par rapport à Bacula. La commande bconsole est renommée bareos-bconsole sur certaines distributions ; sur Ubuntu elle reste bconsole. La WebUI est une application PHP distincte qui parle au Director via le même protocole que la console.

Ce qui se passe

Bareos est binairement incompatible avec Bacula au niveau des paquets mais largement compatible sur le fil. La configuration est passée d”un seul gros fichier par démon à une arborescence de répertoires sous /etc/bareos/bareos-dir.d/, /etc/bareos/bareos-sd.d/, /etc/bareos/bareos-fd.d/ avec une ressource par fichier dans des sous-répertoires comme client/, job/, pool/, storage/, fileset/. La gestion de configuration en devient nettement plus facile — Ansible peut déposer des fichiers dans job/ sans analyser un fichier monolithique de 6000 lignes.

Le backend du catalogue est par défaut PostgreSQL (le support MySQL de Bacula est essentiellement abandonné en amont). La WebUI est un paquet Apache/PHP distinct qui s”authentifie auprès du Director et donne aux opérateurs non-CLI un historique des tâches, un navigateur de restauration et une vue de l”état du stockage.

Migration depuis Bacula : le protocole est partagé, donc un Director Bareos peut piloter des File Daemons Bacula (et inversement) pendant une période de transition ; le schéma de catalogue diffère légèrement et est migré par update_bareos_tables. Nous avons fait plusieurs migrations Bacula → Bareos et la partie pénible est toujours la conversion de config — pas le protocole.

La procédure

  1. Ajouter le dépôt Bareos pour Ubuntu 24.04. L”amont publie un dépôt par version ; utilisez la ligne LTS, pas l”instantané master.

    . /etc/os-release
    wget -qO - "https://download.bareos.org/current/xUbuntu_${VERSION_ID}/Release.key" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/bareos.gpg
    echo "deb https://download.bareos.org/current/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/bareos.list
    apt update
  2. Installer les paquets Director, SD, FD, console et WebUI. Le paquet bareos-database-postgresql tire les scripts de schéma.

    apt install -y bareos bareos-database-postgresql bareos-webui apache2 php-fpm postgresql
  3. Initialiser le catalogue. Le paquet livre un emballage qui gère la création du rôle, le schéma et les permissions d”un coup.

    sudo su postgres -c "/usr/lib/bareos/scripts/create_bareos_database"
    sudo su postgres -c "/usr/lib/bareos/scripts/make_bareos_tables"
    sudo su postgres -c "/usr/lib/bareos/scripts/grant_bareos_privileges"
  4. Démarrer les trois démons et le frontal WebUI.

    systemctl enable --now bareos-dir bareos-sd bareos-fd
    systemctl enable --now apache2 php8.3-fpm
    a2enconf bareos-webui
    systemctl reload apache2
  5. Régler le mot de passe admin de la WebUI et se connecter. La WebUI utilise des comptes console définis dans /etc/bareos/bareos-dir.d/console/. Créez une console admin avec le profil correspondant, réglez son mot de passe, puis connectez-vous à http://<hôte>/bareos-webui/.

    bconsole <<<'configure add console name=admin password="<depuis-coffre>" profile=webui-admin tlsenable=false'
  6. Lancer la tâche par défaut livrée pour prouver que la chaîne fonctionne de bout en bout. Les paquets livrent une tâche BackupCatalog qui déverse le catalogue vers un pool disque local.

    bconsole <<<'run job=BackupCatalog yes'
    bconsole <<<'wait'
    bconsole <<<'list jobs'
  7. Remplacer la tâche par défaut backup-bareos-fd par la vraie charge de travail. Chaque fichier de ressource dans /etc/bareos/bareos-dir.d/job/ est une tâche ; ajoutez de nouveaux clients via des fichiers dans client/ ; rechargez avec bconsole <<<'reload' après chaque changement.

Pièges courants

  • Le paquet bareos-database-postgresql à lui seul ne crée pas le rôle DB — vous devez exécuter le script create_bareos_database en tant qu”utilisateur postgres. Sauter cette étape laisse le Director incapable de démarrer avec une erreur de connexion confuse.
  • La WebUI exige ses propres comptes console ; se connecter avec un mot de passe de console CLI échoue silencieusement parce que le profil WebUI manque les ACL nécessaires.
  • Le répertoire de configuration éclaté signifie qu”un fichier syntaxiquement cassé n”importe où sous /etc/bareos/bareos-dir.d/ empêche le Director de démarrer. bareos-dir -t vérifie l”arborescence complète avant un rechargement.
  • Le chemin de mise à jour Bacula (poser les paquets Bareos par-dessus Bacula) n”est pas supporté par l”amont Bacula et pas non plus endossé par Bareos. Faites une installation parallèle, migrez le catalogue séparément.
  • TLS est toujours désactivé par défaut entre démons. Générez les certificats et activez Tls Enable = yes dans chaque paire avant d”exposer le SD à travers les réseaux.

Dans les mandats que nous menons, Bareos est le choix quand un client a besoin de l”histoire bandes et longue rétention de Bacula sans la stagnation amont. La configuration en arborescence s”insère naturellement dans Ansible ou Salt, la WebUI donne au support un navigateur de restauration en libre-service, et l”histoire de migration depuis Bacula est bien rodée. Nous traitons la base de catalogue et la sortie de fichier d”amorçage comme des données de production de premier rang, avec leur propre réplication et leurs propres copies hors site. Le motif est détaillé aux côtés d”autres outils de sauvegarde dans notre base de connaissances, et le modèle d”opération qu”on enroule autour est à /en/services/managed-operations/.