]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/bweb/INSTALL
bweb: Update some GPL2 notice to AGPL
[bacula/bacula] / gui / bweb / INSTALL
index bad331eca77f6da6edf8feda3f99df2ab62ff524..7c1ae65f13a98172c865ce3ff6f6af5b815e195b 100644 (file)
@@ -2,69 +2,24 @@
 #               INSTALL NOTES                                  #
 ################################################################
 
-Bweb works well with 1.39 release or later.
+Bweb works well with 3.0 release or later.
 
 1) install Perl lib
-2) copy your files
-3) initialize your configuration file
-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
-13) use groups with bweb
-14) setup restoration in bweb (not yet working)
-
-################ FILE COPY #####################################
- # 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.
-
- #
- # Once you have the gui directory loaded, follow the instructions below
- #  or edit the environment variables in the file install_bweb
- #  then execute it. install_web does everything to the next
- #  set of #######'s.
- #
-
- # first, copy the bweb Perl library into your PERL5 INC path
- perl Makefile.PL
- make install
- # or
- install -m 644 -o root -g root  bweb/lib/*.pm /usr/share/perl5
-
- # 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
-
- # get a config file
- mkdir -m 755 /etc/bacula
- chown root:bacula /etc/bacula
- echo '$VAR1 = { template_dir => "/usr/share/bweb/en/tpl" };' > /etc/bacula/bweb.conf
- chown www-data /etc/bacula/bweb.conf
+2) using lighttpd (quick install)
+3) using apache 
+4) initialize your configuration file
+5) do some sql stuff (for postgresql or mysql 5 users)
+6) use the -n option on bconsole so that it works with Expect
+7) get bacula log more useful
+8) bweb limitation
+9) using sudo with autochanger
+10) using bfileview.pl
+11) accessing to bweb
+12) setting mysql read-only account
+13) get more statistics
+14) use users and groups with bweb
+15) setup restoration in bweb
 
- # copy the bweb template file
- mkdir -p /usr/share/bweb/tpl
- install -m 644 -o root -g root  bweb/lang/en/tpl/*.tpl /usr/share/bweb/en/tpl
-
- # 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
-
- # done !
-
- WARNING : Your www-data (or wwwrun on SuSE) user must be able to execute bconsole and able 
-           to read the bconsole.conf file!
-           You can create an bconsole group for that.
-
-################ USE FRENCH VERSION ############################
-
-Simply use lang/fr/tpl/*.tpl files instead of lang/en/tpl/*.tpl
 
 ################ INSTALL PERL LIBRARY ##########################
 
@@ -91,12 +46,12 @@ Simply use lang/fr/tpl/*.tpl files instead of lang/en/tpl/*.tpl
  Note: the best way to test if you have all the dependencies
  fullfilled for Perl is to:
   
-    cd /var/www/cgi-bin/bweb
-    ./bweb.pl 
+    cd bweb/lib
+    ../cgi/bweb.pl 
 
  you might also want to try:
 
-    ./bgraph.pl 
+    ../cgi/bgraph.pl 
 
  To make sure the graphing modules are loaded.  However, running it
  will spray binary graphics data on your terminal.  Otherwise, you will
@@ -110,12 +65,111 @@ Simply use lang/fr/tpl/*.tpl files instead of lang/en/tpl/*.tpl
  If you experience problems, always consult the Apache error_log
  file.
 
+
+################# USE LIGHTTPD WITH BWEB #######################
+
+In this example, bweb files are in /home/bacula/bweb
+You should have installed lighttpd.
+
+bacula:~$ cd bweb
+
+# configure the database
+bacula:~/bweb$ mysql bacula < script/bweb-mysql.sql
+# or
+bacula:~/bweb$ psql bacula < script/bweb-postgresql.sql
+
+# You can start the web server from the bweb directory
+bacula@localhost:~/bweb$ ./script/starthttp
+ Making configuration template in /home/bacula/bweb/bweb.conf
+ Adjusting bweb.conf path
+ Using bweb on /home/bacula/bweb,  use firefox http://localhost:9180
+ 2009-07-18 22:23:12: (log.c.75) server started
+
+
+By default, only the loopback interface is binded, you can change that
+in the bweb/script/httpd.conf file.
+
+You will have to configure bweb with your database and bconsole info, it
+can be done in the web interface.
+
+I [Kern] used the following in the Configuration panel. Note: I am 
+   using Ubuntu Hardy (8.04):
+DBI:     DBI:mysql:database=bacula;host=roxie 
+user:    bacula
+Password:   (nothing -- I have none)
+email_media:  my@email.com
+bconsole:  /opt/bacula/bin/bconsole -n
+
+Click: Save
+Click: Main -- you should see the charts
+
+
+################ FILE COPY (Full Apache methode) ###############
+ # 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.
+
+ #
+ # Once you have the gui directory loaded, follow the instructions below
+ #  or edit the environment variables in the file install_bweb
+ #  then execute it. install_web does everything to the next
+ #  set of #######'s.
+ #
+
+ # first, copy the bweb Perl library into your PERL5 INC path
+ perl Makefile.PL
+ make install
+ # or
+ install -m 644 -o root -g root  bweb/lib/*.pm /usr/share/perl5
+
+
+
+ # 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
+
+ # get a config file, if you want to use an other place edit lib/Bweb.pm
+ mkdir -m 755 /etc/bacula
+ chown root:bacula /etc/bacula
+ echo '$VAR1 = { template_dir => "/usr/share/bweb/tpl" };' > /etc/bacula/bweb.conf
+ chown www-data /etc/bacula/bweb.conf
+
+ # 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
+
+ # done !
+
+ WARNING : Your www-data (or wwwrun on SuSE) user must be able to execute bconsole and able 
+           to read the bconsole.conf file!
+           You can create an bconsole group for that.
+
+################ USE FRENCH/SPANISH VERSION ####################
+
+Simply copy lang/fr/tpl/*.tpl files to .../tpl/fr/*.tpl and choose
+your language in the configuration panel.
+
+
 ################ APACHE CONFIGURATION ##########################
 
 It could be a good idea to protect your bweb installation (optional).
 
 Put this in your httpd.conf, and add user with htpasswd
 
+Alias /bweb /usr/share/bweb/html
+<Directory /usr/share/bweb/html>
+        Options FollowSymLinks MultiViews
+        AllowOverride None
+        Order allow,deny
+        allow from all
+</Directory>
+
+ScriptAlias /cgi-bin/bweb /usr/lib/cgi-bin/bweb
 <Directory /usr/lib/cgi-bin/bweb>
         Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
         AuthType Basic
@@ -170,7 +224,8 @@ $VAR1 = bless( {
        }, 'Bweb::Autochanger' )
    },
   'password' => 'xxx',
-  'template_dir' => '/usr/share/bweb/en/tpl',
+  'template_dir' => '/usr/share/bweb/tpl',
+  'lang' => 'en',
   'dbi' => 'DBI:mysql:database=bacula',
   'error' => '',
   'debug' => 0,
@@ -201,7 +256,7 @@ 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 ",
+ DB_SIZE => " SELECT sum(DATA_LENGTH) FROM INFORMATION_SCHEMA.TABLES ",
 
 ################ BCONSOLE NOTES ################################
 
@@ -246,9 +301,7 @@ www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer status
 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer load *
 www-data ALL = (root) NOPASSWD: /usr/sbin/mtx -f /dev/changer unload *
 
-################ BFILEVIEW SETUP ###############################
-
-At this time, bfileview works only with PostgreSQL.
+################ BFILEVIEW AND BTIME SETUP ###############################
 
 Alias /bweb/fv /var/spool/bweb
 <Directory "/var/spool/bweb">
@@ -262,11 +315,14 @@ mkdir /var/spool/bweb
 chmod 700 /var/spool/bweb
 chown www-data /var/spool/bweb
 
-You have to remove "<!-- Remove this to activate bfileview" and "-->" from
-tpl/display_job_zoom.tpl.
+Add (or configure) a writable location to the parameters in bweb.conf 
+   'fv_write_path' => '/var/spool/bweb',
+
+###### BFILEVIEW only part
 
-You MUST use brestore.pl -b to initialize the database, and
-you CAN use bfileview.pl mode=batch jobid=xxx where=/ to compute tree size.
+You MUST use brestore.pl -b or bresto.pl action=batch to initialize the
+database, and you CAN use bfileview.pl mode=batch jobid=xxx where=/ to compute
+tree size.
 
 At this time, it's a good idea to schedule brestore.pl -b after your 
 BackupCatalog job.
@@ -275,10 +331,10 @@ Job {
   Name = "BackupCatalog"
   ...
   # This creates an ASCII copy of the catalog
-  RunBeforeJob = "/opt/bacula/etc/make_catalog_backup bacula bacula Pei0ahm9"
+  RunBeforeJob = "/opt/bacula/etc/make_catalog_backup.pl MyCatalog"
   # This deletes the copy of the catalog
   RunAfterJob  = "/opt/bacula/etc/delete_catalog_backup"
-  RunAfterJob  = "/usr/local/bin/brestore.pl -b"
+  RunAfterJob  = "/usr/lib/cgi-bin/bweb/bresto.pl action=batch"
 }
 
 To upgrade from an old installation, you can use :
@@ -310,16 +366,13 @@ GRANT INSERT,UPDATE,DELETE ON bacula.LocationLog
 
 ################ 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);
+You keep Jobs informations across retention into a JobHisto table.
+You have to setup stat_job_table = JobHisto in bweb configuration.
 
-And run this on crontab when you want :
-INSERT INTO job_old 
-  (SELECT * FROM Job WHERE JobId NOT IN (SELECT JobId FROM job_old) );
+And use Statistics module from Bacula (see documentation and update stats
+command).
 
-################ USE GROUPS WITH BWEB ##########################
+################ USE USERS AND GROUPS WITH BWEB ##########################
 
 It works with postgresql and mysql5 (4 not tested).
 With mysql, load bweb/script/bweb-mysql.sql into your catalog
@@ -327,17 +380,15 @@ For postgresql, it will be done with bweb/script/bweb-postgresql.sql (already do
 
 ################ MADE RESTORATION WITH BWEB ####################
 
-Warning, this function is not for production use at this time !
 It will do some basics things on a working bweb/brestore setup.
 
-1) Go to http://extjs.com and download their toolkit (last 1.X release)
+1) Go to http://extjs.com and download their toolkit (use the 2.2 release)
 
 2) Install files in /bweb/ext web root 
  example on debian : 
-  root@localhost:~# mv ext-1.1.1 /usr/share/bweb/html/ext
+  root@localhost:~# mv ext-2.2 /usr/share/bweb/html/ext
 
-3) Make sure that brestore cache tables are updated with brestore.pl
-  bacula@localhost:~$ brestore.pl -b
+3) Make sure that brestore cache tables are in your catalog (bweb-xxx.sql files)
 
 4) Enable bresto.pl cgi. 
   edit the bweb/cgi/bresto.pl script and change $bresto_enable=0; to $bresto_enable=1;
@@ -345,7 +396,7 @@ It will do some basics things on a working bweb/brestore setup.
 
 5) Use the last Bweb.pm
   If you are trying bresto in a working bweb/brestore setup, you must make sure that you use 
-  the last Bweb.pm SVN version.
+  the last Bweb.pm git version.
 
 6) Go on http://you-director/bweb/bresto.html