1) install Perl lib
2) copy your files
3) initialize your configuration file
-4) do some sql stuff (for postgresql users)
+4) do some sql stuff (for postgresql or mysql 5 users)
5) use the -n option on bconsole so that it works with Expect
6) get bacula log more useful
7) bweb limitation
8) using sudo with autochanger
9) using bfileview.pl
10) accessing to bweb
+11) setting mysql read-only account
+12) get more statistics
################ FILE COPY #####################################
- # you must get bweb cvs files
- cvs -d:pserver:anonymous@bacula.cvs.sourceforge.net:/cvsroot/bacula login
- cvs -z3 -d:pserver:anonymous@bacula.cvs.sourceforge.net:/cvsroot/bacula co -P gui
- cd gui
+ # you must get bweb svn files
+ svn checkout https://bacula.svn.sourceforge.net/svnroot/bacula/trunk/gui/bweb bweb
# or get them from the released tar files or from the apt or rpms.
text/brestore with your brestore.pl, and you must install brestore.
See gui/brestore/README for instructions on installing brestore.pl.
-################ POSTGRESQL NOTES ##############################
+################ POSTGRESQL AND MYSQL5 NOTES ####################
If you want to use PostgreSQL instead of MySQL, you must add
a function to the PostgreSQL Bacula database to get Bweb to work.
-psql -u bacula bacula < script/bweb-postgresql.sql
+psql -U bacula bacula < script/bweb-postgresql.sql
+
+Tips: PL must be enabled in your cluster, you can do this with postgres user
+postgres:~$ echo 'CREATE PROCEDURAL LANGUAGE plpgsql;' | psql bacula
+
+
+To get database size with mysql5, edit Bweb.pm and change the DB_SIZE macro
+
+ # with mysql < 5, you have to play with the ugly SHOW command
+ DB_SIZE => " SELECT 0 ",
+ # works only with mysql 5
+ # DB_SIZE => " SELECT sum(DATA_LENGTH) FROM INFORMATION_SCHEMA.TABLES ",
################ BCONSOLE NOTES ################################
ALTER TABLE brestore_pathvisibility ADD Size int8;
ALTER TABLE brestore_pathvisibility ADD Files int4;
-################ ACCESSING TO BWEB ###############################
+################ ACCESSING TO BWEB ############################
Now, you are able to launch firefox/mozilla and go on
http://your-server/bweb
+################ SETTING MYSQL ACCOUNT ########################
+
+At this time, Bweb needs a write access to :
+- Location
+- LocationLog
+- Media::LocationId
+- Media::Comment
+- Media::RecyclePoolId (it will change soon)
+
+If your doesn't use Location feature, you can use ReadOnly access
+for all tables, or setup something like :
+
+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';
+GRANT UPDATE (LocationId,Comment,RecyclePoolId) ON bacula.Media
+ TO 'bweb'@'%' IDENTIFIED BY 'password';
+
+################ GET MORE STATISTICS ###########################
+
+You keep Jobs informations across retention into a job_old table.
+You have to setup stat_job_table = job_old in bweb configuration.
+
+CREATE TABLE job_old (LIKE Job);
+
+And run this on crontab when you want :
+INSERT INTO job_old
+ (SELECT * FROM Job WHERE JobId NOT IN (SELECT JobId FROM job_old) );
+
+################################################################
+
Enjoy !