1 ################################################################
3 ################################################################
5 Bweb works well with 1.39 release or later.
9 3) initialize your configuration file
10 4) do some sql stuff (for postgresql users)
11 5) use the -n option on bconsole so that it works with Expect
12 6) get bacula log more useful
14 8) using sudo with autochanger
18 ################ FILE COPY #####################################
19 # you must get bweb cvs files
20 cvs -d:pserver:anonymous@bacula.cvs.sourceforge.net:/cvsroot/bacula login
21 cvs -z3 -d:pserver:anonymous@bacula.cvs.sourceforge.net:/cvsroot/bacula co -P gui
24 # or get them from the released tar files or from the apt or rpms.
27 # Once you have the gui directory loaded, follow the instructions below
28 # or edit the environment variables in the file install_bweb
29 # then execute it. install_web does everything to the next
33 # first, copy the bweb Perl library into your PERL5 INC path
37 install -m 644 -o root -g root bweb/lib/*.pm /usr/share/perl5
39 # copy the bweb perl program to your cgi location
40 mkdir -m 755 /usr/lib/cgi-bin/bweb
41 install -m 755 -o root -g root bweb/cgi/*.pl /usr/lib/cgi-bin/bweb
44 mkdir -m 755 /etc/bacula
45 chown root:bacula /etc/bacula
46 echo '$VAR1 = { template_dir => "/usr/share/bweb/tpl" };' > /etc/bacula/bweb.conf
47 chown www-data /etc/bacula/bweb.conf
49 # copy the bweb template file
50 mkdir -p /usr/share/bweb/tpl
51 install -m 644 -o root -g root bweb/tpl/*.tpl /usr/share/bweb/tpl
53 # copy the bweb graphics elements (bweb elements must reside in /bweb)
55 install -m 644 -o root -g root bweb/html/*.{js,png,css,gif,ico,html} /var/www/bweb
59 WARNING : Your www-data user must be able to execute bconsole and able
60 to read the bconsole.conf file!
61 You can create an bconsole group for that.
63 ################ USE FRENCH VERSION ############################
65 Simply use lang/fr/tpl/*.tpl files instead of tpl/*.tpl
67 ################ INSTALL PERL LIBRARY ##########################
70 - DBI (with mysql or postgresql support DBD::Pg and DBD::mysql)
78 You can install perl modules with CPAN
82 Or use your distribution
83 apt-get install libgd-graph-perl libhtml-template-perl libexpect-perl
84 apt-get install libdbd-mysql-perl libdbd-pg-perl libdbi-perl libtime-modules-perl
86 Note: the best way to test if you have all the dependencies
87 fullfilled for Perl is to:
89 cd /var/www/cgi-bin/bweb
92 That should show you if any of the pre-requisites are missing.
93 On SuSE 10.2, I was able to load all the appropriate modules via rpms,
94 with the exception of Expect and Time::ParseDate, which I loaded manually
97 ################ APACHE CONFIGURATION ##########################
99 It could be a good idea to protect your bweb installation (optional).
101 Put this in your httpd.conf, and add user with htpasswd
103 <Directory /usr/lib/cgi-bin/bweb>
104 Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
106 AuthName MyPrivateFile
107 AuthUserFile /etc/apache/htpasswd
112 On SuSE 10.2, the following in /etc/apache2/default-server.conf works.
113 However, it is not secure:
115 Directory "/srv/www/cgi-bin/bweb">
117 Options +ExecCGI -Includes
123 ################ CONFIGURATION #################################
125 Note, this is automatically installed by the install_bweb script.
127 /etc/bacula/bweb.conf looks like : (you can edit it inside bweb)
129 'graph_font' => '/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf',
131 'config_file' => '/etc/bacula/bweb.conf',
132 'bconsole' => '/usr/sbin/bconsole -n -c /etc/bacula/bconsole.conf',
142 'device' => '/dev/changer',
148 'mtxcmd' => '/usr/sbin/mtx',
154 }, 'Bweb::Autochanger' )
157 'template_dir' => '/usr/share/bweb/tpl',
158 'dbi' => 'DBI:mysql:database=bacula',
162 'email_media' => 'eric@localhost'
166 ################ BRESTORE ######################################
168 If you want to use brestore with bweb, you must associate a mime type
169 text/brestore with your brestore.pl, and you must install brestore.
170 See gui/brestore/README for instructions on installing brestore.pl.
172 ################ POSTGRESQL NOTES ##############################
174 If you want to use PostgreSQL instead of MySQL, you must add
175 a function to the PostgreSQL Bacula database to get Bweb to work.
177 psql -u bacula bacula < script/bweb-postgresql.sql
179 ################ BCONSOLE NOTES ################################
181 You must use bconsole without conio/readline support. For that, use
182 the bconsole -n option. This is done automatically with the standard
183 configuration file. In addition, please ensure that the binary
184 bconsole file can be executed by your web server. It is normally
185 located in /usr/bin/bconsole (or some such file), and must have
186 modes 755 or it will not be executable by your web server. The
187 normal Bacula installation usually sets mode 750.
189 ################ BACULA LOG ####################################
191 If you want Bweb to be able to show listings of the Job output,
192 you must add a "catalog = all, !skipped, !saved" to your
193 messages resource in bacula-dir.conf and restart your Bacula
194 server. This is shown below:
199 operator = root@localhost = mount
200 console = all, !skipped, !saved
201 append = "/tmp/bacula/var/bacula/working/log" = all, !skipped
203 catalog = all, !skipped, !saved
207 ################ BWEB LIMITATION ###############################
209 To get bweb working, you must follow these rules
210 - Media, Storage and Pool must have [A-Za-z_0-9\.-]+ (no space)
211 - AutoChanger name must be same as Device and Location name in bacula
213 ################ SUDO CONFIGURATION ############################
215 If you use sudo, put this on you /etc/sudoers
217 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer transfer *
218 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer status
219 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer load *
220 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer unload *
222 ################ BFILEVIEW SETUP ###############################
224 At this time, bfileview works only with PostgreSQL.
226 Alias /bweb/fv /var/spool/bweb
227 <Directory "/var/spool/bweb">
229 AllowOverride AuthConfig
234 mkdir /var/spool/bweb
235 chmod 700 /var/spool/bweb
236 chown www-data /var/spool/bweb
238 You have to remove "<!-- Remove this to activate bfileview" and "-->" from
239 tpl/display_job_zoom.tpl.
241 You must use brestore.pl -b to initialize the database, and
242 you can use bfileview.pl mode=batch jobid=xxx where=/ to compute tree size.
244 At this time, it's a good idea to schedule brestore.pl -b after your
248 Name = "BackupCatalog"
250 # This creates an ASCII copy of the catalog
251 RunBeforeJob = "/opt/bacula/etc/make_catalog_backup bacula bacula Pei0ahm9"
252 # This deletes the copy of the catalog
253 RunAfterJob = "/opt/bacula/etc/delete_catalog_backup"
254 RunAfterJob = "/usr/local/bin/brestore.pl -b"
257 To upgrade from an old installation, you can use :
258 ALTER TABLE brestore_pathvisibility ADD Size int8;
259 ALTER TABLE brestore_pathvisibility ADD Files int4;
261 ################ ACCESSING TO BWEB ###############################
263 Now, you are able to launch firefox/mozilla and go on
264 http://your-server/bweb