install\'e {\bf Bacula}. Dans le cas contraire, nous vous invitons \`a le
faire avant de poursuivre.
-Prennez bonne note que la commande {\bf ./configure} utilis\'ee pour
+Notez bien que la commande {\bf ./configure} utilis\'ee pour
construire {\bf Bacula} n\'ecessite d'ajouter l'option {\bf
\verb{--{with-postgresql=repertoire\_de\_PostgreSQL}, o\`u {\bf
repertoire\_de\_PostgreSQL} sp\'ecifie le chemin de PostgreSQL indiqu\'e \`a
\item ./create\_bacula\_database
- Cr\'eer la base de donn\'ees PostgreSQL de {\bf Bacula}.
+ Ce script cr\'e\'e le catalogue {\bf bacula} PostgreSQL. S'il \'echoue,
+ c'est probablement que vous n'avez pas les droits requis sur la
+ base de donn\'ees. Sur la plupart des syst\`emes, le propri\'etaire de
+ la base de donn\'ees est {\bf pgsql}, et sur d'autres tels que RedHat ou
+ Fedora, c'est {\bf postgres}. Vous pouvez d\'eterminer lequel en examinant
+ le fichier /etc/passwd. Pour cr\'eer un nouvel utilisateur avec votre nom
+ ou le nom {\bf bacula}, vous pouvez faire ce qui suit :
+
+\begin{verbatim}
+ su
+ (entrez le mot de passe root)
+ password pgsql (ou postgres)
+ (entrez un mot de passe pour cet utilisateur)
+ exit
+ su pgsql (ou postgres)
+ (entrez le nouveau mot de passe)
+ createuser kern (or peut-\^etre bacula)
+ Shall the new user be allowed to create databases? (y/n) y
+ Shall the new user be allowed to create more new users? (y/n) (choisissez ce que vous voulez)
+ exit
+\end{verbatim}
+
+ A ce stade, vous devriez pouvoir ex\'ecuter la commande ./create\_bacula\_database
\item ./make\_bacula\_tables
\end{verbatim}
\normalsize
+J'ai rencontr\'e un probl\`eme de permissions avec le mot de passe. J'ai finalement
+du modifier mon fichier {\bf pg_hba.conf} (situ\'e dans /var/lib/pgsql/data sur ma
+machine) :
+
+\footnotesize
+\begin{verbatim}
+de
+ local all all ident sameuser
+vers
+ local all all trust sameuser
+\end{verbatim}
+\normalsize
+
+Ceci a r\'esolu le probl\`eme pour moi, mais ce n'est pas pas forc\'ement une bonne
+chose du point de vue de la s\'ecurit\'e, mais j'ai ainsi pu ex\'ecuter mes scripts de
+r\'egression sans mot de passe.
+
+Un moyen plus s\'ecuris\'e pour l'authentification aupr\`es de la base de donn\'ees
+consiste \`a utiliser le hachage MD5 des mots de passe. Pour cela, \'editez les
+fichier {\bf pg_hba.conf}, et ajoutez ajoutez ce qui suit juste avant les lignes
+"local" et "host" existantes :
+
+\footnotesize
+\begin{verbatim}
+ local bacula bacula md5
+\end{verbatim}
+\normalsize
+
+Puis red\'emarrez le {\it daemon} Postgres (la plupart du temps, avec
+ "/etc/init.d/postgresql restart") pour activer cette nouvelle r\`egle
+d'authentification.
+
+Ensuite, en tant qu'administrateur Postgres (connectez-vous en tant
+qu'utilisateur postgres ou en utilisant {\bf su} pour devenir root, puis
+ {\bf su postgres}), ajoutez un mot de passe \`a la base de donn\'ees bacula
+pour l'utilisateur bacula avec les commandes suivantes :
+
+\footnotesize
+\begin{verbatim}
+ \$ psql bacula
+ bacula=# alter user bacula with password 'secret';
+ ALTER USER
+ bacula=# \\q
+\end{verbatim}
+\normalsize
+
+Enfin, il vous faudra ajouter ce mot de passe en deux endroits du fichier
+bacula-dir.conf : au niveau de la ressource Catalog et au niveau de la
+directive RunBeforeJob de la ressource Job BackupCatalog. Avec les mots de
+passe en place, ces deux lignes devraient ressembler \`a ceci :
+
+\footnotesize
+\begin{verbatim}
+ dbname = bacula; user = bacula; password = "secret"
+ ... and ...
+ RunBeforeJob = "/etc/make_catalog_backup bacula bacula secret"
+\end{verbatim}
+\normalsize
+
+Naturellement, vous devriez choisir un meilleur mot de passe, et vous assurer
+que le fichier bacula-dir.conf qui contient ce mot de passe n'est lisible
+que par root.
+
+M\^eme avec ces restrictions, il reste un probl\`eme de s\'ecurit\'e avec cette approche :
+sur certaines plateformes, la variable d'environnement utilis\'ee pour soumettre le
+mot de passe \`a Postgres est in\'evitablement disponible pour tout utilisateur
+local du syst\`eme. Pour supprimer ce probl\`eme, l'\'equipe Postgres a d\'ecr\'et\'e
+obsol\`ete ce m\'ecanisme de passage de mot de passe par variable d'environnement et
+recommande d'utiliser un fichier .pgpass. Pour utiliser ce m\'ecanisme, cr\'eez un fichier
+nomm\'e .pgpass vcontenant une simple ligne :
+
+\footnotesize
+\begin{verbatim}
+ localhost:5432:bacula:bacula:secret
+\end{verbatim}
+\normalsize
+
+Ce fichier devrait \^etre copi\'e dans les r\'epertoires personnels (NDT : home directories)
+de tous les comptes susceptibles d'avoir besoin d'acc\'eder \`a la base de donn\'ees :
+typiquement, il s'agit de root, bacula et tout utilisateur de la console Bacula. Les fichiers
+doivent appartenir aux utilisateur et groupe correspondant : root:root pour la copie
+dans ~root, etc. Les permissions doivent \^etre positionn\'ees \`a 600 pour limiter
+l'acc\`es au propri\'etaire du fichier.
+
\subsection*{R\'einitialiser la base des catalogues (de sauvegardes)}
\index[general]{R\'einitialiser la base des catalogues (de sauvegardes) }
\index[general]{Sauvegardes!R\'einitialiser la base des catalogues de }
o\`u vous devrez remplacer {\bf /dev/nst0} par le chemin appropri\'e de votre
lecteur de sauvegarde.
+\subsection*{Installer PostgreSQL avec les RPMs}
+\index[general]{PostgreSQL!Installer avec les RPMs}
+\index[general]{Installer PostgreSQL avec les RPMs}
+\addcontentsline{toc}{subsection}{Installer PostgreSQL avec les RPMs}
+Si vous installez PostgreSQL avec les RPMs, il vous faut installer les
+binaires PostgreSQL ainsi que les librairies clientes. Ces derni\`eres font
+g\'en\'eralement partie de paquetages de d\'eveloppement, aussi vous devez installer :
+
+\footnotesize
+\begin{verbatim}
+ postgresql
+ postgresql-devel
+\end{verbatim}
+\normalsize
+
+Il en va de m\^eme avec la plupart des gestionnaires de paquetages.
+
\subsection*{Migrer de MySQL \`a PostgreSQL}
\index[general]{Migrer de MySQL \`a PostgreSQL }
\index[general]{PostgreSQL!Migrer de MySQL \`a }
\begin{itemize}
\item Linux Mandrake 10/Kernel 2.4.22-10 SMP
-\item Mysql Ver 12.21 Distrib 4.0.15, pour mandrake-linux-gnu (i586)
+\item MySQL Ver 12.21 Distrib 4.0.15, pour mandrake-linux-gnu (i586)
\item PostgreSQL 7.3.4
\item Bacula 1.34.5
\end{itemize}
\begin{enumerate}
\item Arr\^etez bacula (cd /etc/bacula;./bacula stop)
-\item Lancez la commande pour extraire les donn\'ees de votre base Mysql:
+\item Lancez la commande pour extraire les donn\'ees de votre base MySQL:
\footnotesize
\begin{verbatim}
\item Faites une sauvegarde de votre r\'epertoire /etc/bacula (mais laisser
l'original en place ).
\item Allez dans le r\'epertoire source de {\bf Bacula} et reconstruisez le en
- incluant le support PostgreSQL au lieu de celui de Mysql . V\'erifiez que le
+ incluant le support PostgreSQL au lieu de celui de MySQL . V\'erifiez que le
fichier config.log de votre configuration originale et remplacez enable-mysql
par enable-postgresql.
\item Recompilez Bacula avec la commande make et si tout se passe correctement
- lancez un ``make install''.
-\item Arr\^etez Mysql.
+ lancez un "make install".
+\item Arr\^etez MySQL.
\item Lancez PostgreSQL sur votre syst\`eme.
\item Cr\'eez un utilisateur {\bf Bacula} dans Postgres avec la commande
- ``createuser''. En fonction de votre installation, vous serez peut \^etre
- amen\'e \`a faire un ``su'' vers l'utilisateur ad\'equat (NDT: su postgres).
+ "createuser". En fonction de votre installation, vous serez peut \^etre
+ amen\'e \`a faire un "su" vers l'utilisateur ad\'equat (NDT: su postgres).
\item Verifiez que le fichier pg\_hba.conf (NdT sur Debian:
/etc/postgres/pg\_hba.conf) contient les permissions ad\'equates pour
permettre \`a {\bf Bacula} d'acc\'eder au serveur. Le mien contient les
\end{verbatim}
\normalsize
-\item Parvenu ici, lancez {\bf Bacula}, v\'erifiez votre banque de bandes et
+\item Parvenu ici, lancez {\bf Bacula}, v\'erifiez votre librairie et
faites un test pour valider que tout s'est bien d\'eroul\'e.
- \end{enumerate}
+\end{enumerate}
+
+\subsection*{Mettre \`a jour PostgreSQL}
+\index[general]{Mettre \`a jour PostgreSQL }
+\index[general]{Mettre \`a jour!PostgreSQL }
+\addcontentsline{toc}{subsection}{Mettre \`a jour PostgreSQL}
+Si vous mettez PosgreSQL \`a jour, vous devez reconfigurer, recompiler et
+r\'einstaller Bacula, faute de quoi vous constaterez probalement des
+erreurs \'etranges.
+Pour cela, il vous faut installer le RPM source, modifier le fichier bacula.spec
+pour l'accorder \`a votre version de PostgreSQL, reconstruire le RPM et l'installer.
+
+If you upgrade PostgreSQL, you must reconfigure, rebuild, and re-install
+Bacula otherwise you are likely to get bizarre failures. If you
+to modify the bacula.spec file to account for the new PostgreSQL version.
+You can do so by rebuilding from the source rpm. To do so, you may need
+install from rpms and you upgrade PostgreSQL, you must also rebuild Bacula.
+
\subsection*{Credits}
\index[general]{Credits }