%%
%%

\section*{Installer Bacula}
\label{_ChapterStart17}
\index[general]{Installer Bacula }
\index[general]{Bacula!Installer }
\addcontentsline{toc}{section}{Installer Bacula}

\subsection*{Pr\'erequis}
\index[general]{Pr\'erequis }
\addcontentsline{toc}{subsection}{Pr\'erequis}

En g\'en\'eral, il vous faudra les sources de la version courante de Bacula,
et si vous souhaitez ex\'ecuter un client Windows, vous aurez besoin de la
version binaire du client Bacula pour Windows. Par ailleurs, Bacula a besoin
de certains paquettages externes (tels {\bf SQLite}, {\bf MySQL} ou {\bf
PostgreSQL}) pour compiler correctement en accord avec les options que vous
aurez choisies. Pour vous simplifier la t\^ache, nous avons combin\'e
plusieurs de ces programmes dans deux paquettages {\bf depkgs} (paquettages de
d\'ependances). Ceci peut vous simplifier la vie en vous fournissant tous les
paquets n\'ecessaires plut\^ot que de vous contraindre \`a les trouver sur la
Toile, les charger et installer. 
\label{upgrading1}

\subsection*{Mettre Bacula \`a jour}
\index[general]{Mettre Bacula \`a jour }
\index[general]{Jour!Mettre Bacula \`a }
\addcontentsline{toc}{subsection}{Mettre Bacula \`a jour}

Si vous faites une mise \`a jour de Bacula, vous devriez d'abord lire
attentivement les ReleaseNotes de toutes les versions entre votre version
install\'ee et celle vers laquelle vous souhaitez mettre \`a jour. Si la base
de donn\'ees du catalogue a \'et\'e mise \`a jour, vous devrez soit
r\'einitialiser votre base de donn\'ees et repartir de z\'ero, soit en
sauvegarder une copie au format ASCII avant de proc\'eder \`a sa mise \`a
jour. S'il y a eu plusieurs mises \`a jour de la base de donn\'ees entre votre
version et celle vers laquelle vous souhaitez \'evoluer, il faudra appliquer
chaque script de mise \`a jour de base de donn\'ees. Vous pouvez trouver tous
les anciens scripts de mise \`a jour dans le r\'epertoire {\bf upgradedb} des
sources de Bacula. Il vous faudra \'editer ces scripts pour qu'ils
correspondent \`a votre configuration. Le script final, s'il y en a un, sera
dans le r\'epertoire {\bf src/cats} comme indiqu\'e dans la ReleaseNote. 

Si vous migrez d'une version majeure vers une autre, vous devrez remplacer
tous vos composants ({\it daemons}) en m\^eme temps car, g\'en\'eralement, le
protocole inter-{\it daemons} aura chang\'e. Par contre, entre deux versions
mineures d'une m\^eme majeure (par exemple les versions 1.32.x), \`a moins
d'un bug, le protocole inter-{\it daemons} ne changera pas. Si cela vous
semble confus, lisez simplement les ReleaseNotes tr\`es attentivement, elles
signaleront si les {\it daemons} doivent \^etre mis \`a jour simultan\'ement. 

\subsection*{Paquettage de D\'ependences}
\label{Dependency}
\index[general]{Paquettage de D\'ependences }
\addcontentsline{toc}{subsection}{Paquettage de D\'ependences}

Comme nous l'\'evoquions plus haut, nous avons combin\'e une s\'erie de
programmes dont Bacula peut avoir besoin dans les paquets {\bf depkgs} et {\bf
depkgs1}. Vous pouvez, bien sur, obtenir les paquets les plus r\'ecents
directement des auteurs. Le fichier README dans chaque paquet indique o\`u les
trouver. Pourtant, il faut noter que nous avons test\'e la compatibilit\'e des
paquets contenus dans les fichiers depkgs avec Bacula. 

Vous pouvez, bien sur, obtenir les dernieres versions de ces paquettages de
leurs auteurs. Les r\'ef\'erences n\'ecessaires figurent dans le README de
chaque paquet. Quoi qu'il en soit, soyez conscient du fait que nous avons
test\'e la compatibilit\'e des paquettages des fichiers depkgs. 

Typiquement, un paquettage de d\'ependances sera nomm\'e {\bf
depkgs-ddMMMyy.tar.gz} et {\bf depkgs1-ddMMMyy.tar.gz} o\`u {\bf dd} est le
jour o\`u n'ous l'avons publi\'e, {\bf MMM} l'abbr\'eviation du mois et {\bf
yy} l'ann\'ee. Par exemple: {\bf depkgs-07Apr02.tar.gz}. Pour installer et
construire ce paquettage (s'il est requis), vous devez: 

\begin{enumerate}
\item Cr\'eer un r\'epertoire {\bf bacula}, dans lequel vous placerez les
   sources de Bacula et le paquettage de d\'ependances. 
\item D\'esarchiver le {\bf depkg} dans le r\'epertoire {\bf bacula}. 
\item vous d\'eplacer dans le r\'epertoire obtenu: cd bacula/depkgs 
\item ex\'ecuter make 
   \end{enumerate}

La composition exacte des paquettages de d\'ependance est susceptible de
changer de temps en temps, voici sa composition actuelle : 

\begin{longtable}{|l|l|l|l|}
 \hline 
\multicolumn{1}{|c| }{\bf Paquets externes } & \multicolumn{1}{c| }{\bf depkgs
} & \multicolumn{1}{c| }{\bf depkgs1 } & \multicolumn{1}{c| }{\bf depkgs-win32
 } \\
 \hline 
{SQLite } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{-  } \\
 \hline 
{mtx } & \multicolumn{1}{c| }{X } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{-  } \\
 \hline 
{readline } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{X } &
\multicolumn{1}{c| }{-  } \\
 \hline 
{pthreads } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X  } \\
 \hline 
{zlib } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X  } \\
 \hline 
{wxWidgets } & \multicolumn{1}{c| }{- } & \multicolumn{1}{c| }{- } &
\multicolumn{1}{c| }{X }
\\ \hline 

\end{longtable}

Notez que certains de ces paquets sont de taille respectable, si bien que
l'\'etape de compilation peut prendre un certain temps. Les instructions
ci-dessous construiront tous les paquets contenus dans le r\'epertoire.
Cependant, la compilation de Bacula, ne prendra que les morceaux dont Bacula a
effectivement besoin. 

Une alternative consiste \`a ne construire que les paquets n\'ecessaires. Par
exemple, 

\footnotesize
\begin{verbatim}
cd bacula/depkgs
make sqlite
\end{verbatim}
\normalsize

configurera et construira SQLite et seulement SQLite. 

Vous devriez construire les paquets requis parmi {\bf depkgs} et/ou {\bf
depkgs1} avant de configurer et compiler Bacula car Bacula en aura besoin
d\`es la compilation. 

M\^eme si vous n'utilisez pas SQLite, vous pourriez trouver le paquet {\bf
depkgs} pratique pour construire {\bf mtx} car le programme {\bf tapeinfo} qui
vient avec peut souvent vous fournir de pr\'ecieuses informations sur vos
lecteurs de bandes SCSI (e.g. compression, taille min/max des blocks,...). 

Le paquet {\bf depkgs-win32} contient le code source pour les librairies
pthreads et zlib utilis\'ees par le client Win32 natif. Vous n'en aurez besoin
que si vous pr\'evoyez de construire le client Win32 depuis les sources. 

\subsection*{Syst\`emes Support\'es}
\label{Systems}
\index[general]{Syst\`emes Support\'es }
\addcontentsline{toc}{subsection}{Syst\`emes Support\'es}

Veuillez consulter la section 
\ilink{ Syst\`emes support\'es}{SupportedOSes} du chapitre
D\'emarrer avec Bacula de ce manuel. 

\subsection*{Construire Bacula \`a partir des sources}
\label{Building}
\index[general]{Construire Bacula \`a partir des sources }
\index[general]{Sources!Construire Bacula \`a partir des }
\addcontentsline{toc}{subsection}{Construire Bacula \`a partir des sources}

L'installation basique est plut\^ot simple. 

\begin{enumerate}
\item Installez et construisez chaque {\bf depkgs} comme indiqu\'e plus haut. 
\item Configurez et installez MySQL ou PostgreSQL (si vous le souhaitez): 
   \ilink{Installer et configurer MySQL Phase I}{_ChapterStart} ou  
   \ilink{Installer et configurer PostgreSQL Phase
I}{_ChapterStart10}.  Si vous installez depuis des rpms, et
utilisez MySQL, veillez \`a  installer {\bf mysql-devel}, afin que les
fichiers d'en-t\^etes de MySQL  soient disponibles pour la compilation de
Bacula. De plus, la  librairie client MySQL requi\`ert la librairie de
compression gzip {\bf libz.a}  ou {\bf libz.so}. Ces librairies sont dans le
paquet {\bf libz-devel}.  Sur Debian, vous devrez charger le paquet {\bf
zlib1g-dev}. Si vous  n'utilisez ni rpms, ni debs, il vous faudra trouver le
paquettage  adapt\'e \`a votre syst\`eme. Notez que si vous avez dej\`a MySQL
ou PostgreSQL sur  votre syst\`eme vous pouvez sauter cette phase pourvu que
vous ayez construit  ``the thread safe libraries'' et que vous ayez d\'ej\`a
install\'e les rpms  additionnels sus-mentionn\'es. 
\item En alternative \`a MySQL et PostgreSQL, configurez et installez SQLite, 
   qui fait partie du paquettage {\bf depkgs}.  
   \ilink{Installer et configurer SQLite}{_ChapterStart33}. 
\item D\'esarchivez les sources de Bacula, de pr\'ef\'erence dans le
   r\'epertoire {\bf bacula}  \'evoqu\'e ci-dessus. 
\item D\'eplacez-vous dans ce r\'epertoire. 
\item Ex\'ecutez ./configure (avec les options appropri\'ees comme d\'ecrit
   ci-dessus) 
\item Examinez tr\`es attentivement la sortie de ./configure, 
   particuli\`erement les r\'epertoires d'installation des binaires et des 
   fichiers de configuration. La sortie de ./configure est stock\'ee dans  le
fichier {\bf config.out} et peut \^etre affich\'ee \`a volont\'e sans 
relancer ./configure par la commande {\bf cat config.out}. 
\item Vous pouvez relancer ./configure avec des options diff\'erentes apr\`es
   une  premi\`ere ex\'ecution, cela ne pose aucun probl\`eme, mais vous devriez
   d'abord  ex\'ecuter:  

\footnotesize
\begin{verbatim}
     make distclean
     
\end{verbatim}
\normalsize

afin d'\^etre certain de repartir de z\'ero et d'\'eviter d'avoir un m\'elange
avec vos premi\`eres options. C'est n\'ecessaire parce que ./configure  met
en cache une bonne partie des informations. {\bf make distclean}  est aussi
recommand\'e si vous d\'eplacez vos fichiers source d'une machine \`a  une
autre. Si {\bf make distclean} \'echoue, ignorez-le et continuez.  
\item make  

   Si vous obtenez des erreurs durant le {\it linking} dans le  r\'epertoire du
Storage Daemon (/etc/stored), c'est probablement  parce que vous avez charg\'e
la librairie statique sur votre  syst\`eme. J'ai remarqu\'e ce probl\`eme sur
un Solaris. Pour le  corriger, assurez-vous de ne pas avoir ajout\'e l'option 
{\bf \verb{--{enable-static-tools} \`a la commande {\bf ./configure}.  
\item make install  
\item Si vous \^etes un nouvel utilisateur de Bacula, nous vous recommandons 
   {\bf fortement} de sauter l'\'etape suivante et d'utiliser le fichier de 
   configuration par d\'efaut, puis d'ex\'ecuter le jeu d'exemples du prochain
chapitre avant de revenir modifier vos  fichier de configuration pour qu'ils
satisfassent vos besoins.  
\item Modifiez les fichiers de configuration de chacun des trois {\it daemons}
   (Directory, File, Storage) et celui de la Console. Pour plus de d\'etails, 
   consultez le chapitre 
\ilink{Fichiers de Configuration de Bacula}{_ChapterStart16} Nous
vous recommandons de commencer  par modifier les fichiers de configuration
fournis par d\'efaut, en  faisant les changements minima indispensables. Vous
pourrez  proc\'eder \`a une adaptation compl\`ete une fois que Bacula 
fonctionnera correctement. Veuillez prendre garde \`a modifier les  mots de
passe qui sont g\'en\'er\'es al\'eatoirement, ainsi que les noms  car ils
doivent s'accorder entre les fichiers de configuration  pour des raisons de
s\'ecurit\'e.  
\item Cr\'eez la base de donn\'ees Bacula MySQL et ses tables (si vous
   utilisez MySQL)  
   \ilink{Installer et configurer MySQL Phase II}{mysql_phase2} ou 
cr\'eez la base de donn\'ees Bacula PostgreSQL et ses tables  
\ilink{Installer et configurer PostgreSQL Phase
II}{PostgreSQL_phase2}  (si vous utilisez PostgreSQL)  ou
encore 
\ilink{Installer et configurer SQLite Phase II}{phase2}  (si vous
utilisez SQLite)  
\item D\'emarrez Bacula ({\bf ./bacula start}) Notez: Le prochain chapitre
   expose ces  \'etapes en d\'etail.  
\item Lancez la Console pour communiquer avec Bacula.  
\item Pour les deux \'el\'ements pr\'ec\'edents, veuillez suivre les
   instructions du chapitre  
   \ilink{Ex\'ecuter Bacula}{_ChapterStart1} o\`u vous ferez une
simple sauvegarde  et une restauration. Faites ceci avant de faire de lourdes
modifications aux  fichiers de configuration, ainsi vous serez certain que
Bacula fonctionne, et  il vous sera plus familier. Apr\`es quoi il vous sera
plus facile de changer les  fichiers de configuration. 
\item Si apr\`es l'installation de Bacula, vous d\'ecidez de le d\'eplacer,
   c'est \`a dire  de l'installer dans un jeu de r\'epertoires diff\'erents,
   proc\'edez comme suit :  

\footnotesize
\begin{verbatim}
      make uninstall
      make distclean
      ./configure (vos-nouvelles-options)
      make
      make install
      
\end{verbatim}
\normalsize

\end{enumerate}

Si tout se passe bien, {\bf ./configure} d\'eterminera correctement votre
syst\`eme et configurera correctement le code source. Actuellement, FreeBSD,
Linux (RedHat), et Solaris sont support\'es. Des utilisateurs rapportent que
le client Bacula fonctionne sur MacOS X 10.3 tant que le support readline est
d\'esactiv\'e. 

Si vous installez Bacula sur plusieurs syst\`emes identiques, vous pouvez
simplement transf\'erer le r\'epertoire des sources vers ces autres syst\`emes
et faire un ``make install''. Cependant s'il y a des diff\'erences dans les
librairies, ou les versions de syst\`emes, ou si vous voulez installer sur un
syst\`eme diff\'erent, vous devriez recommencer \`a partir de l'archive tar
compress\'ee originale. Si vous transf\'erez un r\'epertoire de sources o\`u
vous avez d\'ej\`a ex\'ecut\'e la commande ./configure, vous DEVEZ faire: 

\footnotesize
\begin{verbatim}
make distclean
\end{verbatim}
\normalsize

avant d'ex\'ecuter \`a nouveau ./configure. Ceci est rendu n\'ecessaire par
l'outil GNU autoconf qui met la configuration en cache, de sorte que si vous
r\'eutilisez la configuration d'une machine Linux sur un Solaris, vous pouvez
\^etre certain que votre compilation \'echouera. Pour l'\'eviter, comme
mentionn\'e plus haut, recommencez depuis l'archive tar, ou faites un ``make
distclean''. 

En g\'en\'eral, vous voudrez probablement sophistiquer votre {\bf configure}
pour vous assurer que tous les modules que vous souhaitez soient construits et
que tout soit plac\'e dans les bons r\'epertoires. 

Par exemple, sur RedHat, on pourrait utiliser ceci: 

\footnotesize
\begin{verbatim}
CFLAGS="-g -Wall" \
  ./configure \
    --sbindir=$HOME/bacula/bin \
    --sysconfdir=$HOME/bacula/bin \
    --with-pid-dir=$HOME/bacula/bin/working \
    --with-subsys-dir=$HOME/bacula/bin/working \
    --with-mysql=$HOME/mysql \
    --with-working-dir=$HOME/bacula/bin/working \
    --with-dump-email=$USER
\end{verbatim}
\normalsize

Notez: l'avantage de cette configuration pour commencer, est que tout sera mis
dans un seul r\'epertoire, que vous pourrez ensuite supprimer une fois que
vous aurez ex\'ecut\'e les exemples du prochain chapitre, et appris comment
fonctionne Bacula. De plus, ceci peut \^etre install\'e et ex\'ecut\'e sans
\^etre root. 

Pour le confort des d\'eveloppeurs, j'ai ajout\'e un script {\bf
defaultconfig} au r\'epertoire {\bf examples}. Il contient les r\'eglages que
vous devriez normalement utiliser, et chaque d\'eveloppeur/utilisateur devrait
le modifier pour l'accorder \`a ses besoins. Vous trouverez d'autres exemples
dans ce r\'epertoire. 

Les options {\bf \verb{--{enable-conio} ou {\bf \verb{--{enable-readline} sont utiles car
elles fournissent un historique de lignes de commandes et des capacit\'es
d'\'edition \`a la Console. Si vous avez inclus l'une ou l'autre option, l'un
des deux paquets {\bf termcap} ou {\bf ncurses} sera n\'ecessaire pour
compiler. Sur certains syst\`emes, tels que SUSE, la librairie termcap n'est
pas dans le r\'epertoire standard des librairies par cons\'equent, l'option
devrait \^etre d\'esactiv\'ee ou vous aurez un message tel que: 

\footnotesize
\begin{verbatim}
/usr/lib/gcc-lib/i586-suse-linux/3.3.1/.../ld:
cannot find -ltermcap
collect2: ld returned 1 exit status
\end{verbatim}
\normalsize

lors de la compilation de la Console Bacula. Dans ce cas, il vous faudra
placer la variable d'environnement {\bf LDFLAGS} avant de compiler. 

\footnotesize
\begin{verbatim}
export LDFLAGS="-L/usr/lib/termcap"
\end{verbatim}
\normalsize

Les m\^emes contraintes de librairies s'appliquent si vous souhaitez utiliser
les sous-programmes readlines pour l'\'edition des lignes de commande et
l'historique. 

Veuillez noter que sur certains syst\`emes tels que Mandriva, readline tend
\`a ``avaler'' l'invite de commandes, ce qui le rend totalement inutile. Si
cela vous arrive, utilisez l'option ``disable'', ou si vous utilisez une
version post\'erieure \`a 1.33 essayez {\bf \verb{--{enable-conio} pour utiliser une
alternative \`a readline int\'egr\'ee. Il vous faudra tout de m\^eme termcap
ou ncurses, mais il est peu probable que le paquettage {\bf conio} gobe vos
invites de commandes. 

Readline n'est plus support\'e depuis la version 1.34. Le code reste
disponible, et si des utilisateurs soumettent des patches, je serai heureux de
les appliquer. Cependant, \'etant donn\'e que chaque version de readline
semble incompatible avec les pr\'ec\'edentes, et qu'il y a des diff\'erences
significatives entre les syst\`emes, je ne puis plus me permettre de le
supporter. 

\subsection*{Quelle base de donn\'ees utiliser ?}
\label{DB}
\index[general]{Utiliser!Quelle base de donn\'ees }
\index[general]{Quelle base de donn\'ees utiliser ? }
\addcontentsline{toc}{subsection}{Quelle base de donn\'ees utiliser ?}

Avant de construire Bacula, vous devez d\'ecider si vous voulez utiliser
SQLite, MySQL ou PostgreSQL. Si vous n'avez pas d\'ej\`a MySQL ou PostgreSQL
sur votre machine, nous vous recommandons de d\'emarrer avec SQLite. Ceci vous
facilitera beaucoup l'installation car SQLite est compil\'e dans Bacula et ne
requiert aucune administration. SQLite fonctionne bien et sied bien aux
petites et moyennes configurations (maximum 10-20 machines). 

Si vous souhaitez utiliser MySQL pour votre catalogue Bacula, consultez le
chapitre 
\ilink{Installer et Configurer MySQL}{_ChapterStart} de ce manuel.
Vous devrez installer MySQL avant de poursuivre avec la configuration de
Bacula. MySQL est une base de donn\'ees de haute qualit\'e tr\`es efficace et
qui convient pour des configurations de toutes tailles. MySQL est
l\'eg\`erement plus complexe \`a installer et administrer que SQLite en raison
de ses nombreuses fonctions sophistiqu\'ees telles que userids et mots de
passe. MySQL fonctionne en tant que processus distinct, est r\'eellement une
solution professionnelle et peut prendre en charge des bases de donn\'ees de
dimension quelconque. 

Si vous souhaitez utiliser PostgreSQL pour votre catalogue Bacula, consultez
le chapitre 
\ilink{Installer et Configurer PostgreSQL}{_ChapterStart10} de ce
manuel. Vous devrez installer PostgreSQL avant de poursuivre avec la
configuration de Bacula. PostgreSQL est tr\`es similaire \`a MySQL bien que
tendant \`a \^etre un peu plus conforme \`a SQL92. PostgreSQL poss\`ede
beaucoup plus de fonctions avanc\'ees telles que les transactions, les
proc\'edures stock\'ees, etc. PostgreSQL requiert une certaine connaissance
pour son installation et sa maintenance. Il y a d'importants probl\`emes de
performances avec PostgreSQL et les versions de Bacula ant\'erieures \`a
1.35.5. 

Si vous souhaitez utiliser SQLite pour votre catalogue Bacula, consultez le
chapitre 
\ilink{Installer et Configurer SQLite}{_ChapterStart33} de ce manuel.


\subsection*{D\'emarrage rapide}
\index[general]{D\'emarrage rapide }
\index[general]{Rapide!D\'emarrage }
\addcontentsline{toc}{subsection}{D\'emarrage rapide}

Il y a de nombreuses options et d'importantes consid\'erations donn\'ees
ci-dessous que vous pouvez passer pour le moment si vous n'avez eu aucun
probl\`eme lors de la compilation de Bacula avec une configuration
simplifi\'ee comme celles montr\'ees plus haut. 

Si vous souhaitez vous jeter \`a l'eau, nous vous conseillons de passer
directement au chapitre suivant, et d'ex\'ecuter le jeu d'exemples. Il vous
apprendra beaucoup sur Bacula, et un Bacula de test peut \^etre install\'e
dans un unique r\'epertoire (pour une destruction ais\'ee) et ex\'ecut\'e sans
\^etre root. Revenez lire les d\'etails de ce chapitre si vous avez un
quelconque probl\`eme avec les exemples, ou lorsque vous voudrez effectuer une
installation r\'eelle. 

\subsection*{Options de la commande {\bf configure}}
\label{Options}
\index[general]{Options de la commande configure }
\index[general]{Configure!Options de la commande }
\addcontentsline{toc}{subsection}{Options de la commande configure}

Les options en ligne de commande suivantes sont disponibles pour {\bf
configure} afin d'adapter votre installation \`a vos besoins. 

\begin{description}

\item [\verb{--{sysbindir=\lt{}binary-path\gt{}]
   \index[dir]{\verb{--{sysbindir }
   D\'efinit l'emplacement des binaires Bacula.  

\item [\verb{--{sysconfdir=\lt{}config-path\gt{}]
   \index[dir]{\verb{--{sysconfdir }
   D\'efinit l'emplacement des fichiers de  configuration de Bacula.  

\item [\verb{--{enable-smartalloc ]
   \index[dir]{\verb{--{enable-smartalloc }
   Permet l'inclusion du code Smartalloc de d\'etection de tampons  orphelins
(NDT : orphaned buffer). Cette option est vivement recommand\'ee. Nous n'avons
jamais  compil\'e sans elle, aussi vous pourriez subir des d\'esagr\'ements si
vous ne l'activez pas.  Dans ce cas, r\'eactivez simplement cette option. Nous
la recommandons car elle aide \`a d\'etecter les fuites de m\'emoire.  Ce
param\`etre est utilis\'e lors de la compilation de Bacula.  

\item [\verb{--{enable-gnome ]
   \index[dir]{\verb{--{enable-gnome }
   Si vous avez install\'e GNOME sur votre ordinateur, vous devez  sp\'ecifier
cette option pour utiliser la Console graphique GNOME. Vous trouverez les
binaires  dans le r\'epertoire {\bf src/gnome-console}.  

\item [\verb{--{enable-wx-console ]
   \index[console]{\verb{--{enable-wx-console }
   Si vous avez install\'e wxWidgets sur votre ordinateur, vous devez 
sp\'ecifier cette option pour utiliser la Console graphique wx-console. Vous
trouverez les binaires  dans le r\'epertoire {\bf src/wx-console}. Ceci peut
\^etre utile aux utilisateurs qui veulent  une Console graphique, mais ne
souhaitent pas installer Gnome, car wxWidgets peut fonctionner avec  les
librairies GTK+, Motif ou m\^eme X11.  

\item [\verb{--{enable-tray-monitor ]
   \index[console]{\verb{--{enable-tray-monitor }
   Si vous avez install\'e GTK sur votre ordinateur et utilisez  un gestionnaire
de fen\^etre compatible avec le syst\`eme de notification standard FreeDesktop
(tels KDE et GNOME), vous pouvez utiliser une interface graphique pour
surveiller les  {\it daemons} Bacula en activant cette option. Les binaires
seront plac\'es dans le r\'epertoire  {\bf src/tray-monitor}.  

\item [\verb{--{enable-static-tools]
   \index[console]{\verb{--{enable-static-tools }
   Avec cette option, les utilitaires relatifs au Storage Daemon  ({\bf bls},
{\bf bextract}, et {\bf bscan}) seront li\'es statiquement, ce qui vous permet
de les utiliser m\^eme si les librairies partag\'ees ne sont pas charg\'ees.
Si vous avez des  difficult\'es de type ``linking'' \`a la compilation du
r\'epertoire {\bf src/stored}, assurez-vous  d'avoir d\'esactiv\'e cette
option, en ajoutant \'eventuellement {\bf \verb{--{disable-static-tools}.  

\item [\verb{--{enable-static-fd]
   \index[fd]{\verb{--{enable-static-fd }
   Avec cette option, la compilation produira un {\bf static-bacula-fd}  en plus
du File Daemon standard. Cette version qui inclut les librairies statiquement
li\'ees  est requise pour la reconstruction compl\`ete d'une machine apr\`es
un d\'esastre. Cette option est largement  surpass\'ee par l'usage de {\bf
make static-bacula-fd} du r\'epertoire {\bf src/filed}.  

\item [\verb{--{enable-static-sd]
   \index[sd]{\verb{--{enable-static-sd }
   Avec cette option, la compilation produira un {\bf static-bacula-sd}  en plus
du Storage Daemon standard. Cette version qui inclut les librairies
statiquement  li\'ees peut se r\'ev\'eler utile pour la reconstruction
compl\`ete d'une machine apr\`es un d\'esastre.  

\item [\verb{--{enable-static-dir]
   \index[dir]{\verb{--{enable-static-dir }
   Avec cette option, la compilation produira un {\bf static-bacula-dir}  en plus
du Director Daemon standard. Cette version qui inclut les librairies
statiquement  li\'ees peut se r\'ev\'eler utile pour la reconstruction
compl\`ete d'une machine apr\`es un d\'esastre.  

\item [\verb{--{enable-static-cons]
   \index[dir]{\verb{--{enable-static-cons }
   Avec cette option, la compilation produira une {\bf static-console}  et une
{\bf static-gnome-console} en plus de la Console standard standard. Cette
version qui  inclut les librairies statiquement li\'ees peut se r\'ev\'eler
utile pour la reconstruction compl\`ete  d'une machine apr\`es un d\'esastre. 


\item [\verb{--{enable-client-only]
   \index[console]{\verb{--{enable-client-only }
   Avec cette option, la compilation produira seulement le File Daemon  et les
librairies qui lui sont n\'ecessaires. Aucun des autres {\it daemons}, outils
de stockage, ni  la console ne sera compil\'e. De m\^eme, un {\bf make
install} installera seulement le File Daemon.  Pour obtenir tous les {\it
daemons}, vous devez la d\'esactiver. Cette option facilite grandement  la
compilation sur les simples clients.  

\item [\verb{--{enable-largefile]
   \index[console]{\verb{--{enable-largefile }
   Cette option (activ\'ee par d\'efaut) provoque la compilation de  Bacula avec
le support d'adressage de fichiers 64 bits s'il est disponible sur votre 
syst\`eme. Ainsi Bacula peut lire et \'ecrire des fichiers de plus de 2
GBytes. Vous pouvez  d\'esactiver cette option et revenir \`a un adressage de
fichiers 32 bits en utilisant  {\bf \verb{--{disable-largefile}.  

\item [\verb{--{with-sqlite=\lt{}sqlite-path\gt{}]
   \index[console]{\verb{--{with-sqlite }
   Cette option permet l'utilisation de la base de  donn\'ees SQLite. Il n'est,
en principe, pas n\'ecessaire de sp\'ecifier le chemin {\bf sqlite-path}  car
Bacula recherche les composants requis dans les r\'epertoires standards ({\bf
depkgs/sqlite}).  voyez 
\ilink{Installer et Configurer SQLite}{_ChapterStart33} pour plus de
d\'etails.  

\item [\verb{--{with-mysql=\lt{}mysql-path\gt{}]
   \index[console]{\verb{--{with-mysql }
   Cette option permet la compilation des services de Catalogue de Bacula. Elle
implique que MySQL tourne d\'ej\`a  sur votre syst\`eme, et qu'il soit
install\'e dans le chemin {\bf mysql-path} que vous avez sp\'ecifi\'e.  Si
cette option est absente, Bacula sera compil\'e automatiquement avec le code
de la base Bacula interne.  Nous recommandons d'utiliser cette option si
possible. Si vous souhaitez utilisez cette option,  veuillez proc\'eder \`a
l'installation de MySQL (
\ilink{Installer and Configurer MySQL}{_ChapterStart})  avant de
proc\'eder \`a la configuration.  

\item [\verb{--{with-postgresql=\lt{}postgresql-path\gt{}]
   \index[console]{\verb{--{with-postgresql }
   Cette option d\'eclare un chemin explicite pour les  librairies PostgreSQL si
Bacula ne les trouve pas dans le r\'epertoire par d\'efaut.  

\item [\verb{--{enable-conio]
   \index[console]{\verb{--{enable-conio }
   Cette option permet la compilation d'une petite et l\'eg\`ere routine en 
alternative \`a readline, beaucoup plus facile \`a configurer, m\^eme si elle
n\'ecessite aussi  les librairies termcap ou ncurses.  

\item [\verb{--{with-readline=\lt{}readline-path\gt{}]
   \index[console]{\verb{--{with-readline }
   Sp\'ecifie l'emplacement de {\bf readline}.  En principe, Bacula devrait le
trouver s'il est dans une librairie standard. Sinon, et  si l'option
\verb{--{with-readline n'est pas renseign\'ee, readline sera d\'esactiv\'e. Cette
option  affecte la compilation de Bacula. Readline fournit le programme
Console avec un historique  des lignes de commandes et des capacit\'es
d'\'edition. Readline n'est d\'esormais plus support\'e, ce qui  signifie que
vous l'utilisez \`a vos risques et p\'erils  

\item [\verb{--{enable-readline]
   \index[console]{\verb{--{enable-readline }
   Active le support readline. D\'esactiv\'e par d\'efaut en raison de nombreux
probl\`emes de  configuration, et parce que le paquettage semble devenir
incompatible.  

\item [\verb{--{with-tcp-wrappers=\lt{}path\gt{}]
   \index[console]{\verb{--{with-tcp-wrappers }
   Cette option pr\'ecise que vous voulez TCP wrappers  (man hosts\_access(5))
compil\'e dans Bacula. Le chemin est facultatif puisque Bacula devrait,  en
principe, trouver les librairies dans les r\'epertoires standards. Cette
option affecte la  compilation. Lorsque vous sp\'ecifierez vos restrictions
dans les fichiers {\bf /etc/hosts.allow}  ou {\bf /etc/hosts.deny}, n'utilisez
pas l'option {\bf twist} (man hosts\_options(5)) ou le  processus Bacula sera
stopp\'e.  

Pour plus d'informations sur la configuration et les tests de TCP wrappers,
consultez la  section 
\ilink{Configurer et Tester TCP Wrappers}{wrappers} du chapitre 
sur la s\'ecurit\'e.  

\item [\verb{--{with-working-dir=\lt{}working-directory-path\gt{}]
   \index[dir]{\verb{--{with-working-dir }
   Cette option est obligatoire et  sp\'ecifie un r\'epertoire dans lequel Bacula
peut placer en toute s\'ecurit\'e les fichiers  qui resteront d'une
ex\'ecution \`a l'autre. Par exemple, si la base de donn\'ees interne est
utilis\'ee,  Bacula stockera ces fichiers dans ce r\'epertoire. Cette option
n'est utilis\'ee que pour  modifier les fichiers de configuration de Bacula.
Vous pourrez \'eventuellement effectuer cette  modification directement en les
\'editant plus tard. Le r\'epertoire sp\'ecifi\'e  ici n'est pas
automatiquement cr\'e\'e par le processus d'installation, aussi vous devez
veiller \`a ce qu'il existe avant  votre premi\`ere utilisation de Bacula.  

\item [\verb{--{with-base-port=\lt{}port=number\gt{}]
   \index[dir]{\verb{--{with-base-port }
   Bacula a besoin de trois ports TCP/IP pour fonctionner  (un pour la Console,
un pour le Storage Daemon et un pour le File Daemon). L'option {\bf
\verb{--{with-baseport}  permet d'assigner automatiquement trois ports cons\'ecutifs
\`a partir du port de base sp\'ecifi\'e. Vous pouvez  aussi changer les
num\'eros de ports dans les fichiers de configuration. Cependant, vous devez
prendre  garde \`a ce que les num\'eros de ports se correspondent fid\`element
dans chacun des trois fichiers de configuration.  Le port de base par d\'efaut
est 9101, ce qui assigne les ports 9101 \`a 9103. Ces ports (9101, 9102 et
9103) ont  \'et\'e officiellement assign\'e \`a Bacula par l'IANA. Cette
option n'est utilis\'ee que pour modifier les fichiers de  configuration de
Bacula. Vous pouvez \`a tout moment faire cette modification en \'editant
directement ces fichiers.  

\item [\verb{--{with-dump-email=\lt{}email-address\gt{}]
   \index[dir]{\verb{--{with-dump-email }
   Cette option sp\'ecifie l'adresse e-mail qui recevra tous les {\it core dump}.
 Cette option n'est en principe utilis\'ee que par les d\'eveloppeurs.  

\item [\verb{--{with-pid-dir=\lt{}PATH\gt{}  ]
   \index[dir]{\verb{--{with-pid-dir }
   Ceci pr\'ecise le r\'epertoire de stockage du fichier d'id de processus lors
de l'ex\'ecution. La valeur par d\'efaut est :  {\bf /var/run}. Le r\'epertoire
sp\'ecifi\'e ici n'est pas automatiquement cr\'e\'e par le processus
d'installation, aussi vous devez veiller \`a ce qu'il existe avant votre
premi\`ere utilisation de Bacula.  

\item [\verb{--{with-subsys-dir=\lt{}PATH\gt{}  ]
   \index[dir]{\verb{--{with-subsys-dir }
   Cette option pr\'ecise le r\'epertoire de stockage des fichiers verrous du
sous-syst\`eme lors de l'ex\'ecution. Le r\'epertoire  par d\'efaut est {\bf
/var/run/subsys}.Veillez \`a ne pas sp\'ecifier le m\^eme r\'epertoire que
pour l'option {\bf sbindir}.  Ce r\'epertoire n'est utilis\'e que par les
scripts de d\'emarrage automatique.  Le r\'epertoire sp\'ecifi\'e ici n'est
pas automatiquement cr\'e\'e par le processus d'installation, aussi vous devez
veiller \`a ce qu'il existe avant votre  premi\`ere utilisation de Bacula.  

\item [\verb{--{with-dir-password=\lt{}Password\gt{}  ]
   \index[dir]{\verb{--{with-dir-password }
   Cette option vous permet de pr\'eciser le mot de passe d'acc\`es au Director
(contact\'e, en principe, depuis la console).  S'il n'est pas pr\'ecis\'e,
configure en cr\'e\'e un al\'eatoirement.  

\item [\verb{--{with-fd-password=\lt{}Password\gt{}  ]
   \index[fd]{\verb{--{with-fd-password }
   Cette option vous permet de pr\'eciser le mot de passe d'acc\`es au File
Daemon (contact\'e, en principe, depuis le Director).  S'il n'est pas
pr\'ecis\'e, configure en cr\'e\'e un al\'eatoirement.  

\item [\verb{--{with-sd-password=\lt{}Password\gt{}  ]
   \index[sd]{\verb{--{with-sd-password }
   Cette option vous permet de pr\'eciser le mot de passe d'acc\`es au Storage
Daemon (contact\'e, en principe, depuis le File Daemon).  S'il n'est pas
pr\'ecis\'e, configure en cr\'e\'e un al\'eatoirement.  

\item [\verb{--{with-dir-user=\lt{}User\gt{}  ]
   \index[dir]{\verb{--{with-dir-user }
   Cette option vous permet de sp\'ecifier l'UserId utilis\'e pour l'ex\'ecution
du Director. Le Director doit \^etre d\'emarr\'e  en tant que root, mais n'a
pas besoin d'\^etre ex\'ecut\'e en tant que root. Apr\`es avoir effectu\'e les
op\'erations  d'initialisation pr\'eliminaires, il peut redescendre au niveau
de l'UserId sp\'ecifi\'e dans cette option.  

\item [\verb{--{with-dir-group=\lt{}Group\gt{}  ]
   \index[dir]{\verb{--{with-dir-group }
   Cette option vous permet de sp\'ecifier le GroupId utilis\'e pour
l'ex\'ecution du Director. Le Director doit \^etre d\'emarr\'e  en tant que
root, mais n'a pas besoin d'\^etre ex\'ecut\'e en tant que root. Apr\`es avoir
effectu\'e les op\'erations  d'initialisation pr\'eliminaires, il peut
redescendre au niveau du GroupId sp\'ecifi\'e dans cette option.  

\item [\verb{--{with-sd-user=\lt{}User\gt{}  ]
   \index[sd]{\verb{--{with-sd-user }
   Cette option vous permet de sp\'ecifier l'UserId utilis\'e pour ex\'ecuter le
Storage Daemon. Le Storage Daemon doit \^etre d\'emarr\'e  en tant que root,
mais n'a pas besoin d'\^etre ex\'ecut\'e en tant que root. Apr\`es avoir
effectu\'e les op\'erations  d'initialisation pr\'eliminaires, il peut
redescendre au niveau de l'UserId sp\'ecifi\'e dans cette option.  Si vous
utilisez cette option, veillez \`a ce que le Storage Daemon ait acc\`es \`a
tous les p\'eriph\'eriques de stockage  dont il a besoin.  

\item [\verb{--{with-sd-group=\lt{}Group\gt{}  ]
   \index[sd]{\verb{--{with-sd-group }
   Cette option vous permet de sp\'ecifier le GroupId utilis\'e pour ex\'ecuter
le Storage Daemon. Le Storage Daemon doit \^etre d\'emarr\'e  en tant que
root, mais n'a pas besoin d'\^etre ex\'ecut\'e en tant que root. Apr\`es avoir
effectu\'e les op\'erations  d'initialisation pr\'eliminaires, il peut
redescendre au niveau du GroupId sp\'ecifi\'e dans cette option.  

\item [\verb{--{with-fd-user=\lt{}User\gt{}  ]
   \index[fd]{\verb{--{with-fd-user }
   Cette option vous permet de sp\'ecifier l'UserId utilis\'e pour ex\'ecuter le
File Daemon. Le File Daemon doit \^etre d\'emarr\'e  et, dans la plupart des
cas, ex\'ecut\'e en tant que root, de sorte que cette option n'est utilis\'ee
que dans des cas  bien particuliers. Malgr\'e tout, apr\`es avoir effectu\'e
les op\'erations  d'initialisation pr\'eliminaires, il peut redescendre au
niveau de l'UserId sp\'ecifi\'e dans cette option.  

\item [\verb{--{with-fd-group=\lt{}Group\gt{}  ]
   \index[fd]{\verb{--{with-fd-group }
   Cette option vous permet de sp\'ecifier le GroupId utilis\'e pour ex\'ecuter
le File Daemon. Le File Daemon doit \^etre d\'emarr\'e  et, dans la plupart
des cas, ex\'ecut\'e en tant que root, de sorte que cette option n'est
utilis\'ee que dans des cas  bien particuliers. Malgr\'e tout, apr\`es avoir
effectu\'e les op\'erations  d'initialisation pr\'eliminaires, il peut
redescendre au niveau du GroupId sp\'ecifi\'e dans cette option. 
\end{description}

Notez: de nombreuses options suppl\'ementaires vous sont pr\'esent\'ees
lorsque vous entrez {\bf ./configure \verb{--{help}, mais elles ne sont pas
impl\'ement\'ees. 

\subsection*{Options recommand\'ees pour la plupart des syst\`emes}
\index[general]{Options recommand\'ees pour la plupart des syst\`emes }
\addcontentsline{toc}{subsection}{Options recommand\'ees pour la plupart des
syst\`emes}

Pour la plupart des syst\`emes, nous recommandons de commencer avec les
options suivantes : 

\footnotesize
\begin{verbatim}
./configure \
  --enable-smartalloc \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --with-mysql=$HOME/mysql \
  --with-working-dir=$HOME/bacula/working
\end{verbatim}
\normalsize

Si vous souhaitez installer Bacula dans un r\'epertoire d'installation
plut\^ot que de l'ex\'ecuter depuis le r\'epertoire d'installation, (comme le
feront les d\'eveloppeurs la plupart du temps), vous devriez aussi inclure les
options \verb{--{sbindir et \verb{--{sysconfdir avec les chemins appropri\'es. Aucune n'est
n\'ecessaire si vous ne vous servez pas de ``make install'', comme c'est le
cas pour la plupart des travaux de d\'eveloppement. Le processus
d'installation va cr\'eer les r\'epertoires sbindir et sysconfdir s'ils
n'existent pas, mais il ne cr\'eera pas les r\'epertoires pid-dir, subsys-dir
ni working-dir, aussi assurez vous qu'ils existent avant de lancer Bacula.
L'exemple ci-dessous montre la fa{\c c}on de proc\'eder de Kern. 

\subsection*{RedHat}
\index[general]{RedHat }
\addcontentsline{toc}{subsection}{RedHat}

Avec SQLite: 

\footnotesize
\begin{verbatim}
 
CFLAGS="-g -Wall" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --enable-smartalloc \
  --with-sqlite=$HOME/bacula/depkgs/sqlite \
  --with-working-dir=$HOME/bacula/working \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --enable-gnome \
  --enable-conio
\end{verbatim}
\normalsize

ou 

\footnotesize
\begin{verbatim}
 
CFLAGS="-g -Wall" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --enable-smartalloc \
  --with-mysql=$HOME/mysql \
  --with-working-dir=$HOME/bacula/working
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working
  --enable-gnome \
  --enable-conio
\end{verbatim}
\normalsize

ou une installation RedHat compl\`etement traditionnelle : 

\footnotesize
\begin{verbatim}
CFLAGS="-g -Wall" ./configure \
  --prefix=/usr
  --sbindir=/usr/sbin \
  --sysconfdir=/etc/bacula \
  --with-scriptdir=/etc/bacula \
  --enable-smartalloc \
  --enable-gnome \
  --with-mysql\
  --with-working-dir=/var/bacula
  --with-pid-dir=$HOME/var/run \
  --with-subsys-dir=/var/lock/subsys
  --enable-conio
\end{verbatim}
\normalsize

Notez que Bacula suppose que les r\'epertoires /var/bacula, /var/run et
/var/lock/subsys existent, ils ne seront pas cr\'ees par le processus
d'installation. 

\subsection*{Solaris}
\index[general]{Solaris }
\addcontentsline{toc}{subsection}{Solaris}

\footnotesize
\begin{verbatim}
#!/bin/sh
CFLAGS="-g" ./configure \
  --sbindir=$HOME/bacula/bin \
  --sysconfdir=$HOME/bacula/bin \
  --with-mysql=$HOME/mysql \
  --enable-smartalloc \
  --with-pid-dir=$HOME/bacula/bin/working \
  --with-subsys-dir=$HOME/bacula/bin/working \
  --with-working-dir=$HOME/bacula/working
\end{verbatim}
\normalsize

Comme mentionn\'e ci-dessus, le processus d'installation va cr\'eer les
r\'epertoires sbindir et sysconfdir s'ils n'existent pas, mais il ne cr\'eera
pas les r\'epertoires pid-dir, subsys-dir ni working-dir, aussi assurez vous
qu'ils existent avant de lancer Bacula. 

\subsection*{FreeBSD}
\index[general]{FreeBSD }
\addcontentsline{toc}{subsection}{FreeBSD}

Veuillez consulter: 
\elink{The FreeBSD Diary}{http://www.freebsddiary.org/bacula.php} pour une
description d\'etaill\'ee de la m\'ethode pour faire fonctionner Bacula sur
votre syst\`eme. De plus, les utilisateurs de versions de FreeBSD
ant\'erieures \`a la 4.9-STABLE du lundi 29 d\'ecembre 2003 15:18:01 qui
envisagent d'utiliser des lecteurs de bandes doivent consulter le chapitre 
\ilink{Tester son lecteur de bandes}{FreeBSDTapes} de ce
manuel pour d'{\bf importantes} informations sur la configuration des lecteurs
pour qu'ils soient compatibles avec Bacula. 

Si vous utilisez Bacula avec MySQL, vous devriez prendre garde \`a compiler
MySQL avec les threads natifs de FreeBSD plut\^ot qu'avec ceux de Linux, car
c'est avec ceux l\`a qu'est compil\'e Bacula et le m\'elange des deux ne
fonctionnera probablement pas. 

\subsection*{Win32}
\index[general]{Win32 }
\addcontentsline{toc}{subsection}{Win32}

Pour installer la version binaire Win32 du File Daemon, consultez le chapitre 
\ilink{ Installation sur syst\`emes Win32}{_ChapterStart7} de ce
document. 

\subsection*{Syst\`emes Windows avec CYGWIN install\'e}
\label{Win32}
\index[general]{Syst\`emes Windows avec CYGWIN install\'e }
\addcontentsline{toc}{subsection}{Syst\`emes Windows avec CYGWIN install\'e}

A partir de la version 1.34, Bacula n'utilise plus CYGWIN pour le client
Win32. Il est cependant encore compil\'e sous un environnement CYGWIN -- Bien
que vous puissiez probablement le faire avec seulement VC Studio. Si vous
souhaitez compiler le client Win32 depuis les sources, il vous faudra
Microsoft C++ version 6.0 ou sup\'erieur. Dans les versions de Bacula
ant\'erieures \`a la 1.33, CYGWIN \'etait utilis\'e. 

Notez qu'en d\'epit du fait que la plupart des \'el\'ements de Bacula puissent
compiler sur les syst\`emes Windows, la seule partie que nous avons test\'ee
et utilis\'ee est le File Daemon. 

Finalement, vous devriez suivre les instructions d'installation de la section 
\ilink{Win32 Installation sur syst\`emes Win32}{_ChapterStart7} de ce
document en occultant la partie qui d\'ecrit la d\'ecompression de la version
binaire. 

\subsection*{Le script Configure de Kern}
\index[general]{Le script Configure de Kern }
\index[general]{Kern!Le script Configure de }
\addcontentsline{toc}{subsection}{Le script Configure de Kern}

Voici le script que j'utilise pour compiler sur mes machines Linux de
``production'': 

\footnotesize
\begin{verbatim}
#!/bin/sh
# This is Kern's configure script for Bacula
CFLAGS="-g -Wall" \
  ./configure \
    --sbindir=$HOME/bacula/bin \
    --sysconfdir=$HOME/bacula/bin \
    --enable-smartalloc \
    --enable-gnome \
    --with-pid-dir=$HOME/bacula/bin/working \
    --with-subsys-dir=$HOME/bacula/bin/working \
    --with-mysql=$HOME/mysql \
    --with-working-dir=$HOME/bacula/bin/working \
    --with-dump-email=$USER \
    --with-smtp-host=mail.your-site.com \
    --with-baseport=9101
exit 0
\end{verbatim}
\normalsize

Notez que je fixe le port de base \`a 9101, ce qui signifie que Bacula
utilisera le port 9101 pour la console Director, le port 9102 pour le File
Daemon, et le 9103 pour le Storage Daemon. Ces ports devraient \^etre
disponibles sur tous les syst\`emes \'etant donn\'e qu'ils ont \'et\'e
officiellement attribu\'es \`a Bacula par l'IANA (Internet Assigned Numbers
Authority). Nous recommandons fortement de n'utiliser que ces ports pour
\'eviter tout conflit avec d'autres programmes. Ceci est en fait la
configuration par d\'efaut si vous n'utilisez pas l'option {\bf
\verb{--{with-baseport}. 

Vous pouvez aussi ins\'erer les entr\'ees suivantes dans votre fichier {\bf
/etc/services} de fa{\c c}on \`a rendre les connections de Bacula plus
ais\'ees \`a rep\'erer (i.e. netstat -a): 

\footnotesize
\begin{verbatim}
bacula-dir      9101/tcp
bacula-fd       9102/tcp
bacula-sd       9103/tcp
\end{verbatim}
\normalsize

\subsection*{Installer Bacula}
\index[general]{Installer Bacula }
\index[general]{Bacula!Installer }
\addcontentsline{toc}{subsection}{Installer Bacula}

Avant de personnaliser vos fichiers de configuration, vous voudrez installer
Bacula dans son r\'epertoire d\'efinitif. tapez simplement: 

\footnotesize
\begin{verbatim}
make install
\end{verbatim}
\normalsize

Si vous avez pr\'ec\'edemment install\'e Bacula, les anciens binaires seront
\'ecras\'es, mais les anciens fichiers de configuration resteront inchang\'es,
et les ``nouveaux'' recevront l'extension {\bf .new}. G\'en\'eralement, si
vous avez d\'ej\`a install\'e et ex\'ecut\'e Bacula, vous pr\'ef\`ererez
supprimer ou ignorer les fichiers de configuration avec l'extension {\bf .new}


\subsection*{Compiler un File Daemon (ou Client)}
\index[general]{Compiler un File Daemon (ou Client) }
\index[general]{Client!Compiler un File Daemon ou }
\addcontentsline{toc}{subsection}{Compiler un File Daemon (ou Client)}

Si vous ex\'ecutez le Director et le Storage Daemon sur une machine et si vous
voulez sauvegarder une autre machine, vous devez avoir un File Daemon sur
cette machine. Si la machine et le syst\`eme sont identiques, vous pouvez
simplement copier le binaire du File Daemon {\bf bacula-fd} ainsi que son
fichier de configuration {\bf bacula-fd.conf}, puis modifier le nom et le mot
de passe dans {\bf bacula-fd.conf} de fa{\c c}on \`a rendre ce fichier unique.
Veillez \`a faire les modifications correspondantes dans le fichier de
configuration du Director ({\bf bacula-dir.conf}). 

Si les architectures, les syst\`emes, ou les versions de syst\`emes
diff\`erent, il vous faudra compiler un File Daemon sur la machine cliente.
Pour ce faire, vous pouvez utiliser la m\^eme commande {\bf ./configure} que
celle utilis\'ee pour construire le programme principal, soit en partant d'une
copie fraiche du r\'epertoire des sources, soit en utilisant {\bf make\
distclean} avant de lancer {\bf ./configure}. 

Le File Daemon n'ayant pas d'acc\`es au catalogue, vous pouvez supprimer les
option {\bf \verb{--{with-mysql} ou {\bf \verb{--{with-sqlite}. Ajoutez l'option {\bf
\verb{--{enable-client-only}. Ceci va compiler seulement les librairies et programmes
clients, et donc \'eviter d'avoir \`a installer telle ou telle base de
donn\'ees. Lancez make avec cette configuration, et seul le client sera
compil\'e. 
\label{autostart}

\subsection*{D\'emarrage automatique des Daemons}
\index[general]{Daemons!D\'emarrage automatique des }
\index[general]{D\'emarrage automatique des Daemons }
\addcontentsline{toc}{subsection}{D\'emarrage automatique des Daemons}

Si vous souhaitez que vos {\it daemons} soient lanc\'es automatiquement au
d\'emarrage de votre syst\`eme (une bonne id\'ee !), une \'etape
suppl\'ementaire est requise. D'abord, le processus ./configure doit
reconna{\^\i}tre votre syst\`eme -- ce qui signifie que ce doit \^etre une
plate-forme support\'ee et non {\bf inconnue}, puis vous devez installer les
fichiers d\'ependants de la plate-forme comme suit : 

\footnotesize
\begin{verbatim}
(devenez root)
make install-autostart
\end{verbatim}
\normalsize

Notez que la fonction d'autod\'emarrage n'est impl\'ement\'ee que pour les
syst\`emes que nous supportons officiellement (actuellement FreeBSD, RedHat
Linux, et Solaris), et n'a \'et\'e pleinement test\'ee que sur RedHat Linux. 

{\bf make install-autostart} installe les scripts de d\'emarrage apropri\'es
ainsi que les liens symboliques n\'ecessaires. Sur RedHat Linux, Ces scripts
r\'esident dans {\bf /etc/rc.d/init.d/bacula-dir} {\bf
/etc/rc.d/init.d/bacula-fd}, et {\bf /etc/rc.d/init.d/bacula-sd}. Toutefois,
leur localisation exacte d\'epend de votre syst\`eme d'exploitation. 

Si vous n'installez que le File Daemon, tapez: 

\footnotesize
\begin{verbatim}
make install-autostart-fd
\end{verbatim}
\normalsize

\subsection*{Autres notes concernant la compilation}
\index[general]{Autres notes concernant la compilation }
\index[general]{Compilation!Autres notes concernant la }
\addcontentsline{toc}{subsection}{Autres notes concernant la compilation}

Pour recompiler tout ex\'ecutable, tapez 

\footnotesize
\begin{verbatim}
make
\end{verbatim}
\normalsize

dans le r\'epertoire correspondant.. Afin d'\'eliminer tous les objets et
binaires (y compris les fichiers temporaires nomm\'es 1,2 ou 3 qu'utilise
Kern), tapez 

\footnotesize
\begin{verbatim}
make clean
\end{verbatim}
\normalsize

Pour un nettoyage exhaustif en vue de distribution, entrez: 

\footnotesize
\begin{verbatim}
make distclean
\end{verbatim}
\normalsize

Notez que cette commande supprime les Makefiles. Elle est en principe
lanc\'ee depuis la racine du r\'epertoire des sources pour les pr\'eparer \`a
la distribution. Pour revenir de cet \'etat, vous devez r\'eex\'ecuter la
commande {\bf ./configure} \`a la racine des sources puisque tous les
Makefiles ont \'et\'e d\'etruits. 

Pour ajouter un nouveau fichier dans un sous-r\'epertoire, \'editez
Makefile.in dans ce sous-r\'epertoire, puis faites un simple {\bf make}. Dans
la plupart des cas, le make reconstruira le Makefile \`a partir du nouveau
Makefile.in. Dans certains cas, il peut \^etre n\'ecessaire d'ex\'ecuter {\bf
make} une deuxi\`eme fois. Dans les cas extr\`emes, remontez \`a la racine des
sources et entrez {\bf make Makefiles}. 

Pour ajouter des d\'ependances: 

\footnotesize
\begin{verbatim}
make depend
\end{verbatim}
\normalsize

La commande {\bf make depend} ins\`ere les fichiers d'en-t\^etes de
d\'ependances aux Makefile et Makefile.in pour chaque fichier objet. Cette
commande devrait \^etre lanc\'ee dans chaque r\'epertoire o\`u vous modifiez
les d\'ependances. En principe, il suffit de l'ex\'ecuter lorsque vous ajoutez
ou supprimez des sources ou fichiers d'en-t\^etes. {\bf make depend} est
invoqu\'e automatiquement durant le processus de configuration. 

Pour installer: 

\footnotesize
\begin{verbatim}
make install
\end{verbatim}
\normalsize

En principe, vous n'utilisez pas cette commande si vous \^etes en train de
d\'evelopper Bacula, mais si vous vous appr\'etez \`a l'ex\'ecuter pour
sauvegarder vos syst\`emes. 

Apr\`es avoir lanc\'e {\bf make install}, les fichiers suivants seront
install\'es sur votre syst\`eme (\`a peu de choses pr\`es). La liste exacte
des fichiers install\'es et leur localisation d\'epend de votre commande {\bf
c./configure} (e.g. gnome-console et gnome-console.conf ne sont pas
install\'es si vous ne configurez pas GNOME. De m\^eme, si vous utilisez
SQLite plut\^ot que MySQL, certains fichiers seront diff\'erents. 

\footnotesize
\begin{verbatim}
bacula
bacula-dir
bacula-dir.conf
bacula-fd
bacula-fd.conf
bacula-sd
bacula-sd.conf
bacula-tray-monitor
tray-monitor.conf
bextract
bls
bscan
btape
btraceback
btraceback.gdb
bconsole
bconsole.conf
create_mysql_database
dbcheck
delete_catalog_backup
drop_bacula_tables
drop_mysql_tables
fd
gnome-console
gnome-console.conf
make_bacula_tables
make_catalog_backup
make_mysql_tables
mtx-changer
query.sql
bsmtp
startmysql
stopmysql
wx-console
wx-console.conf
\end{verbatim}
\normalsize

\label{monitor}

\subsection*{Installer Tray Monitor}
\index[general]{Monitor!Installer Tray }
\index[general]{Installer Tray Monitor }
\addcontentsline{toc}{subsection}{Installer Tray Monitor}

Le Tray Monitor est d\'ej\`a install\'e si vous avez utilis\'e l'option {\bf
\verb{--{enable-tray-monitor} de la commande configure et ex\'ecut\'e {\bf make
install}.

Comme vous n'ex\'ecutez pas votre environnement graphique en tant que root (si
vous le faites, vous devriez changer cette mauvaise habitude), n'oubliez pas
d'autoriser votre utilisateur \`a lire {\bf tray-monitor.conf}, et ex\'ecuter
{\bf bacula-tray-monitor} (ceci ne constitue pas une faille de s\'ecurit\'e).

Puis, connectez vous \`a votre environnement graphique (KDE, Gnome, ou autre),
lancez {\bf bacula-tray-monitor} avec votre utilisateur et observez si l'icone
d'une cartouche appara{\^\i}t quelque part sur l'\'ecran, usuellement dans la
barre des t\^aches.
Sinon, suivez les instructions suivantes relatives \`a votre gestionnaire de
fen\^etres. 

\subsubsection*{GNOME}
\index[general]{GNOME }
\addcontentsline{toc}{subsubsection}{GNOME}

System tray, ou zone de notification si vous utilisez la terminologie GNOME,
est support\'e par GNOME depuis la version 2.2. Pour l'activer, faites un
click droit sur un de vos espaces de travail, ouvrez le menu {\bf Ajouter \`a
ce bureau}, puis {\bf Utilitaire} et enfin, cliquez sur {\bf Zone de
notification}. (NDT: A valider) 

\subsubsection*{KDE}
\index[general]{KDE }
\addcontentsline{toc}{subsubsection}{KDE}

System tray est support\'e par KDE depuis la version 3.1. Pour l'activer,
faites un click droit sur la barre de t\^aches, ouvrez le menu {\bf Ajouter},
puis {\bf Applet}, enfin cliquez sur {\bf System Tray}. 

\subsubsection*{Autres gestionnaires de fen\^etres}
\index[general]{Autres gestionnaires de fen\^etres }
\addcontentsline{toc}{subsubsection}{Autres gestionnaires de fen\^etres}

Lisez la documentation pour savoir si votre gestionnaire de fen\^etres
supporte le standard {\it systemtray} de FreeDesktop, et comment l'activer le
cas \'ech\'eant. 

\section*{Modifier les fichiers de configuration de Bacula}
\index[general]{Modifier les fichiers de configuration de Bacula }
\index[general]{Bacula!Modifier les fichiers de configuration de }
\addcontentsline{toc}{section}{Modifier les fichiers de configuration de
Bacula}

Consultez le chapitre 
\ilink{Configuring Bacula}{_ChapterStart16} de ce manuel pour les
instructions de configuration de Bacula. 
