%%
%%
%%  The following characters must be preceded by a backslash
%%    to be entered as printable characters:
%%
%%   # $ % & ~ _ ^ \ { }
%%  

\section{bimagemgr}
\label{bimagemgr}
\index[general]{Bimagemgr }

{\bf bimagemgr} ist ein Hilfsmittel f\"{u}r diejenigen, die Ihre Backups auf
Festplatten-Volumes speichern und diese Volumes auf CDR brennen wollen.
Es hat eine Web-basierte Bedienoberfl\"{a}che und ist in Perl programmiert.
Es wird benutzt, um zu  kontrollieren, wann die Notwendigkeit besteht, eine
Volume-Datei auf eine CD zu brennen.
Es ben\"{o}tigt:

\begin{itemize}
\item Einen Web-Server der auf derselben Maschine wie Bacula l\"{a}uft
\item Einen auf dem Bacula-Server installierten und konfigurierten CD-Rekorder
\item Das cdr-tools-Paket muss installiert sein
\item perl, perl-DBI Modul, und entweder das DBD-MySQL, DBD-SQLite oder DBD-PostgreSQL Modul 
\end{itemize}

DVD-Brenner werden von bimagemgr zur Zeit nicht unterst\"{u}tzt, das ist aber f\"{u}r
zuk\"{u}nftige Versionen geplant.

\subsection{bimagemgr Installation}
\index[general]{bimagemgr!Installation }
\index[general]{bimagemgr Installation }

Installation aus dem tar.gz:
% TODO: use itemized list for this?
1. Pr\"{u}fen und anpassen des Makefile, um es auf Ihre Computer-Konfiguration abzustimmen.
2. Editieren der Datei config.pm ,um sie auf Ihre Konfiguration abzustimmen.
3. F\"{u}hren Sie 'make install' als root aus.
4. Passen Sie in Ihrer httpd.conf das Timeout an. Der Web-Server darf die Verbindung nicht schliessen,
solange der Brennvorgang nicht abgeschlossen ist. Der ben\"{o}tigte Wert, den Sie als Timeout
konfigurieren m\"{u}ssen, h\"{a}ngt von der Geschwindigkeit Ihres CD-Brenners ab, oder ob Sie \"{u}ber das Netzwerk brennen. In den meisten F\"{a}llen reichen 1000 Sekunden als Timeout. Den httpd neu starten.
5. Stellen Sie sicher, dass das Kommando cdrecord als "setuid root" installiert ist.
% TODO: I am pretty sure cdrecord can be used without setuid root
% TODO: as long as devices are setup correctly

Installation eines rpm-Paketes:
% TODO: use itemized list for this?
1. Installieren Sie das rpm-Paket f\"{u}r Ihre Plattform.
2. Editieren Sie die Datei /cgi-bin/config.pm, um sie an Ihre Konfiguration abzupassen.
3. Passen Sie in Ihrer httpd.conf das Timeout an. Der Web-Server darf die Verbindung nicht schliessen,
solange der Brennvorgang nicht abgeschlossen ist. Der ben\"{o}tigte Wert, den Sie als Timeout
konfigurieren m\"{u}ssen, h\"{a}ngt von der Geschwindigkeit Ihres CD-Brenners ab, oder ob Sie \"{u}ber das Netzwerk brennen. In den meisten F\"{a}llen reichen 1000 Sekunden als Timeout. Den httpd neu starten.
4. Stellen Sie sicher, dass das Kommando cdrecord als "setuid root" installiert ist.

Zugriff auf die Volume-Dateien:
Die Volume-Dateien haben standardm\"{a}{\ss}ig die Zugriffsrechte 640 gesetzt
und k\"{o}nnen nur von Benutzer root gelesen werden.
Die empfohlene Methode ist die folgende (das funktioniert nur, wenn bacula und bimagemgr
auf demselben Computer laufen wie der Web-Server):

F\"{u}r Bacula-Versionen 1.34 oder 1.36 installiert aus dem tar.gz -
% TODO: use itemized list for this?
1. Erstellen Sie eine neu Gruppe namens bacula und f\"{u}gen Sie den Benutzer apache dieser Gruppe
hinzu (bei RedHat und Mandrake, bei SuSE ist es der Benutzer wwwrun, bei debian www-data)
2. \"{A}ndern Sie den Eigent\"{u}mer aller Volume-Dateien auf root.bacula.
3. Passen Sie das Script /etc/init.d/bacula an und setzen Sie SD\_USER=root und SD\_GROUP=bacula.
Starten Sie Bacula neu.

Anmerkung: Schritt Nr. 3 sollte auch in /etc/init.d/bacula-sd gemacht werden,
aber die Dateien aus Bacula-Versionen vor 1.36 unterst\"{u}tzen dies nicht.
In diesem Fall kann es n\"{o}tig sein den Computer neu zu starten,
um '/etc/bacula/bacula restart' auszuf\"{u}hren.

F\"{u}r Bacula-Versionen 1.38 installiert aus dem tar.gz
% TODO: use itemized list for this?
1. Ihr configure-Aufruf sollte dies beinhalten:
% TODO: fix formatting here
	--with-dir-user=bacula
        --with-dir-group=bacula
        --with-sd-user=bacula
        --with-sd-group=disk
        --with-fd-user=root
        --with-fd-group=bacula
2. F\"{u}gen Sie den Benutzer apache der Gruppe bacula hinzu
(bei RedHat und Mandrake, bei SuSE ist es der Benutzer wwwrun, bei debian www-data)
3. Kontrollieren/\"{A}ndern Sie den Eigent\"{u}mer aller Volume-Dateien auf root.bacula

F\"{u}r Bacul-Versionen 1.36 oder 1.38 mit rpm installiert -
% TODO: use itemized list for this?
1. F\"{u}gen Sie den Benutzer apache der Gruppe bacula hinzu
(bei RedHat und Mandrake, bei SuSE ist es der Benutzer wwwrun, bei debian www-data)
2. Kontrollieren/\"{A}ndern Sie den Eigent\"{u}mer aller Volume-Dateien auf root.bacula

Wenn bimagemgr mit einem rpm-Paket Version gr\"{o}{\ss}er 1.38.9 installiert wird,
wird der Web-Server-Benutzer automatisch der Gruppe bacula hinzugef\"{u}gt.
Stellen Sie sicher, dass Sie die Datei config.pm nach der Installation anpassen.

bimagemgr kann jetzt alle Volume-Dateien lesen, aber sie sind nicht durch alle Benutzer lesbar.

Wenn Sie bimagemgr auf einen anderen Computer installieren (nicht empfohlen),
m\"{u}ssen Sie die Zugriffsrechte aller Volume-Dateien auf 644 \"{a}ndern,
damit Sie \"{u}ber nfs oder andere Mittel darauf zugreifen k\"{o}nnen.
Beachten Sie, dass bei diesem Vorgehen die Volume-Dateien f\"{u}r alle Benutzer lesbar sind
und Sie den Schutz der Dateien anders sicherstellen.

\subsection{bimagemgr Benutzung}
\index[general]{bimagemgr!Benutzung }
\index[general]{bimagemgr Benutzung }

Rufen Sie das Programm mit Ihrem Web-Browser auf, z.B. {\tt http://localhost/cgi-bin/bimagemgr.pl},
dann sollten Sie eine Darstellung \"{a}hnlich der unten im Bild 1 abgebildeten sehen.
% TODO: use tex to say figure number
Das Programm wird die Bacula-Datenbank abfragen und alle Volume-Dateien mit dem Datum
des letzten Schreibvorgangs und dem Zeitpunkt darstellen, wo das Volume zum letzten
Mal auf CD gebrannt wurde. Wenn ein Volume auf CD gebrannt werden muss (letzter Schreibvorgang
ist neuer als der letzte Brennvorgang), wird ein "Brennen"-Knopf in der rechten Spalte angezeigt.

\addcontentsline{lof}{figure}{Bacula CD Image Manager}
\includegraphics{./bimagemgr1.eps} \\Figure 1 
% TODO: use tex to say figure number

Legen Sie eine leere CD in Ihren CD-Brenner und klicken Sie auf den "Brennen"-Knopf.
Dann \"{o}ffnet sich ein PopUp-Fenster, wie im Bild 2, das den Brennvorgang anzeigt.
% TODO: use tex to say figure number

\addcontentsline{lof}{figure}{Bacula CD Image Brennfortschritt-Fenster}
\includegraphics{./bimagemgr2.eps} \\Figure 2 
% TODO: use tex to say figure number

Wenn der Brennvorgang abgeschlo{\ss}en ist, zeigt das PopUp-Fenster die Ausgaben von cdrecord
an (siehe Bild 3).
% TODO: use tex to say figure number
Schlie{\ss}en Sie das PopUp-Fenster und laden Sie die Hauptseite neu.
Das Datum des letzten Brennvorgangs wird aktualisiert und der "Brennen"-Knopf verschwindet.
Sollte das Brennen fehlgeschlagen sein, k\"{o}nnen Sie das Datum des letzten Brennvorgangs
zur\"{u}cksetzen, indem Sie auf den Link "Reset" des Volumes klicken.

\addcontentsline{lof}{figure}{Bacula CD Image Brennergebnis}
\includegraphics{./bimagemgr3.eps} \\Figure 3 
% TODO: use tex to say figure number

In der untersten Zeile des Hauptfensters sind zwei weitere Kn\"{o}pfe,
mit "Burn Catalog" und "Blank CDRW" beschriftet.
"Burn Catalog" schreibt eine Kopie Ihrer Katalog-Datenbank auf eine CD.
Falls Sie CDRW-Medien benutzen, k\"{o}nnen Sie mit "Blank CDRW" ein Medium l\"{o}schen
bevor Sie es wiederverwenden.
Regelm\"{a}ssiges speichern Ihrer Volume-Dateien und Ihrer Katalog-Datenbank mit bimagemgr auf CD's
stellt sicher, dass Sie jederzeit im Falle eines Datenverlustes auf Ihrem Bacula-Server
diesen einfach wiederherstellen k\"{o}nnen.
