====== 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 Neu- Orginalwert query_cache_size = 100M 16M query_cache_limit = 2M 1M thread_cache_size = 10 8 thread_stack = 993212 192K key_buffer = 50M 16M read_buffer_size = 60M neu read_rnd_buffer_size = 60M neu sort_buffer_size = 200M neu wait_timeout = 20 neu tmp_table_size = 64M neu max_heap_table_size = 64M neu join_buffer_size = 1M neu max_connections = 20 neu

* Beispiel vom m180bacula1 vi /etc/mysql/my.cnf ... # * Fine Tuning # key_buffer = 50M max_allowed_packet = 16M thread_stack = 993212 thread_cache_size = 10 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 2M query_cache_size = 100M # NEU - KRZN read_buffer_size = 60M read_rnd_buffer_size = 60M sort_buffer_size = 200M wait_timeout = 20 tmp_table_size = 64M max_heap_table_size = 64M join_buffer_size = 1M max_connections = 20 # Ende NEU - KRZN ... [isamchk] key_buffer = 50M ... [[Kategorie:DASD & Tape]]