====== Installation Admin-Oberfläche "BWeb" ======
Die Adminoberfläche "bweb" hat den Vorteil, dass sie über eine Benutzerverwaltung verfügt und somit in großen Umfeldern wie einem RZ-Betrieb auch Verwaltungsrechte und Restore-Möglichkeiten granularer verteilt werden können.
Folgende Schritte sind zur Installation notwendig:
==Perl-Module==
apt-get install libgd-graph-perl libhtml-template-perl libexpect-perl libdbd-mysql-perl libdbd-pg-perl libdbi-perl libdate-calc-perl libtime-modules-perl
Im Anschluß muss noch das BWeb.pm kompiliert und installiert werden.
cd /install/bacula-gui-5.0.3/bweb
perl Makefile.PL
make install
==Installation der Dateien==
Nun müssen die cgi-bin und html-Verzeichnisse an die richtigen Stellen des Webservers kopiert werden.
cd /install/bacula-gui-5.0.3
# copy the bweb perl program to your cgi location
mkdir -m 755 /usr/lib/cgi-bin/bweb
install -m 755 -o root -g root bweb/cgi/*.pl /usr/lib/cgi-bin/bweb
# copy the bweb template file
mkdir -p /usr/share/bweb/tpl/en
install -m 644 -o root -g root bweb/lang/en/tpl/*.tpl /usr/share/bweb/tpl/en
# copy the bweb graphics elements (bweb elements must reside in /bweb)
mkdir /var/www/bweb
install -m 644 -o root -g root bweb/html/*.{js,png,css,gif,ico,html} /var/www/bweb
# create /var/spool/bweb
mkdir -m 755 /var/spool/bweb
chown www-data:www-data /var/spool/bweb
Außerdem muss die Datei /etc/bacula/bweb.conf mit folgendem Inhalt angelegt werden.
$VAR1 = bless( {
'enable_security' => 'on',
'graph_font' => '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf',
'config_file' => '/etc/bacula/bweb.conf',
'password' => 'bacula',
'dbi' => 'DBI:mysql:database=bacula',
'user' => 'bacula',
'error' => '',
'debug' => 0,
'stat_job_table' => 'Job',
'display_log_time' => 0,
'lang' => 'en',
'wiki_url' => '',
'name' => undef,
'bconsole' => '/usr/bin/bconsole -c /etc/bacula/bconsole.conf',
'fv_write_path' => '/var/spool/bweb',
'template_dir' => '/usr/share/bweb/tpl',
'enable_security_acl' => 'on',
'email_media' => 'bacula@krzn.de',
'default_age' => '7d'
}, 'Bweb::Config' );
Diese Datei muss für www-data beschreibbar sein.
chown www-data /etc/bacula/bweb.conf
Außerdem müssen /usr/bin/bconsole für www-data ausführbar und die /etc/bacula/bconsole.conf für www-data lesbar sein.
chmod 644 /etc/bacula/bconsole.conf
Im angegebenen Beispiel wird die Schriftart DejaVuSerif benutzt und muss ggfls. noch installiert werden.
apt-get install ttf-dejavu
Der Web-Restore benötigt eine Java-Runtime. Diese kann von http://extjs.com heruntergeladen werden, liegt aber auch schon vorbereitet im Installationsverzeichnis und kann von dort kopiert werden.
cp -r /install/bacula-gui-5.0.3/ext /var/www/bweb/
==Apache-Konfiguration==
Für die Benutzer-Authentifizierung muss der Apache entsprechend konfiguriert werden. Hierzu wird im /etc/apache2/conf.d Verzeichnis die Datei bweb.conf mit folgendem Inhalt angelegt:
Alias /bweb /var/www/bweb
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/bweb /usr/lib/cgi-bin/bweb
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
AuthType Basic
AuthName MyPrivateFile
AuthUserFile /etc/apache2/htpasswd.bweb
AllowOverride None
Require valid-user
Die Auth-Datei wird mit folgendem Befehl angelegt und mit dem ersten User versehen:
htpasswd -c /etc/apache2/htpasswd.bweb jbackes
==MySQL==
bweb benötigt noch ein paar zusätzliche Tabellen in der Bacula-Datenbank, welche am einfachsten über das mitgelieferte Skript ''bweb/script/bweb-mysql.sql'' per phpmyadmin installiert werden können.
Darüber hinaus benötigt der User bacula noch ein paar zusätzliche Rechte, welche wie folgt per SQL (ebenfalls über phpmyadmin) eingerichtet werden können. "password" ist hier durch das jeweilige Kennwort auszutauschen.
GRANT SELECT ON bacula.* TO 'bweb'@'%' IDENTIFIED BY 'password';
GRANT INSERT,UPDATE,DELETE ON bacula.Location
TO 'bweb'@'%' IDENTIFIED BY 'password';
GRANT INSERT,UPDATE,DELETE ON bacula.LocationLog
TO 'bweb'@'%' IDENTIFIED BY 'password';
Außerdem muss der erste Benutzer ebenfalls per SQL in die Datenbank "gepumpt" werden.
--
-- Daten für Tabelle `bweb_user`
--
INSERT INTO `bweb_user` (`userid`, `username`, `use_acl`, `enabled`, `comment`, `passwd`, `tpl`) VALUES
(1, 'jbackes', 1, 1, 'Juergen Backes', '', 'en');
--
-- Daten für Tabelle `bweb_role_member`
--
INSERT INTO `bweb_role_member` (`roleid`, `userid`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1),
(9, 1),
(10, 1),
(11, 1),
(12, 1),
(13, 1),
(14, 1),
(15, 1),
(16, 1),
(17, 1),
(18, 1);
=== MySQL Fine Tuning - Bweb Timeout ===
Es kommt im '''brestore''' zu Anzeigeproblemen bei Ordnerstrukturen, in denen viele einzelne Dateien liegen. Durch "Fine Tuning" vom Mysql kann dieses Problem behoben werden.
* Änderungen
* Beispiel vom m180bacula1
[[Kategorie:DASD & Tape]]