]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/bweb/install_bweb
ebl Add role checks for media
[bacula/bacula] / gui / bweb / install_bweb
index add8637df30a686fd34d62129c44321624218d3e..02fd82eabbc194529932447229ea442075e8b837 100755 (executable)
@@ -1,10 +1,18 @@
 #!/bin/sh
 #
 # Change the following four environment variables to suit your system
+#   Note, the configuration below works on a stock SuSE 10.2 system
+#
+# You can, in general, execute this file multiple times.  However, if
+#   you edit certain of the installed files, your changes might be lost.
+#   This script will not overwrite any installed /etc/bacula/bweb.conf
+#
+# Configuration directory for bweb
+CONF_DIR=/etc/bacula
 #
 # Root directory of web files       
 #
-WEB_DIR=/var/www
+WEB_DIR=/srv/www/htdocs 
 #
 # share directory for programs
 #
@@ -12,35 +20,112 @@ SHARE_DIR=/usr/share
 #
 # cgi_bin location for web server
 #
-CGI_BIN=/usr/lib/cgi-bin
+CGI_BIN=/srv/www/cgi-bin
 #
 # Userid the web server is running under
 #
-HTTP_UID=www-data
+HTTP_USER=wwwrun
+HTTP_GROUP=www
+
+# Bacula database name and password
+DB=bacula
+DB_PW=""
+EMAIL_ADDR="xxx@localhost"
+MTX="/sbin/mtx"
+
+if [ `whoami` != "root" ] ; then
+  echo "You must be root to run this script."
+  exit 1
+fi
 
 #
 # Normally you should not need to change the following
 #
 # first, copy the bweb perl library into your PERL5 INC path
+sed -i "s!/etc/bacula!${CONF_DIR}!" lib/Bweb.pm
 perl Makefile.PL
 make install
 
 # copy the bweb perl program to your cgi location
-mkdir -m 755 ${CGI_BIN}/bweb
+if [ ! -d ${CGI_BIN}/bweb ] ; then
+   mkdir -m 755 ${CGI_BIN}/bweb
+fi
 install -m 755 -o root -g root  cgi/*.pl ${CGI_BIN}/bweb
 
 # get a config file
-mkdir -m 755 /etc/bacula
-chown root:bacula /etc/bacula
-echo '$VAR1 = { template_dir => "${SHARE_DIR}/bweb/tpl" };' > /etc/bacula/bweb.conf
-chown ${HTTP_UID} /etc/bacula/bweb.conf
+if [ ! -d ${CONF_DIR} ] ; then
+   mkdir -m 755 ${CONF_DIR}
+   chown root:bacula ${CONF_DIR}
+fi
+
+# Setup a default ${CONF_DIR}/bweb.conf
+if [ ! -e ${CONF_DIR}/bweb.conf ] ; then
+cat > ${CONF_DIR}/bweb.conf <<END_OF_DATA
+\$VAR1 = bless( {
+  'graph_font' => '/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf',
+  'name' => undef,
+  'config_file' => '${CONF_DIR}/bweb.conf',
+  'bconsole' => '/usr/sbin/bconsole -n -c /etc/bacula/bconsole.conf',
+  'ach_list' => {
+     'S1_L80' => bless( {
+         'info' => {
+                     'drive' => 0,
+                     'io' => 0,
+                     'slot' => 0
+                   },
+         'name' => 'S1_L80',
+         'bweb' => undef,
+         'device' => '/dev/changer',
+         'drive' => [],
+         'debug' => 0,
+         'label' => {},
+         'precmd' => 'sudo',
+         'io' => [],
+         'mtxcmd' => '${MTX}',
+         'drive_name' => [
+                           'S1_L80_SDLT0',
+                           'S1_L80_SDLT1'
+                         ],
+         'slot' => []
+       }, 'Bweb::Autochanger' )
+   },
+  'password' => '${DB_PW}',
+  'template_dir' => '${SHARE_DIR}/bweb/tpl',
+  'dbi' => 'DBI:mysql:database=bacula',
+  'error' => '',
+  'debug' => 0,
+  'user' => '${DB}',
+  'email_media' => '${EMAIL_ADDR}'
+}, 'Bweb::Config' );
+END_OF_DATA
+fi
+
+chown ${HTTP_USER} ${CONF_DIR}/bweb.conf
 
 # copy the bweb template file
-mkdir -p ${SHARE_DIR}/bweb/tpl
-install -m 644 -o root -g root  bweb/tpl/*.tpl ${SHARE_DIR}/bweb/tpl
+if [ ! -d ${SHARE_DIR}/bweb/tpl ] ; then
+   mkdir -p ${SHARE_DIR}/bweb/tpl
+fi
+install -m 644 -o root -g root  tpl/*.tpl ${SHARE_DIR}/bweb/tpl
 
 # copy the bweb graphics elements (bweb elements must reside in /bweb)
-mkdir ${WEB_DIR}/bweb
-install -m 644 -o root -g root  bweb/html/*.{js,png,css,gif,ico} ${WEB_DIR}/bweb
+if [ ! -d ${WEB_DIR} ] ; then
+   mkdir ${WEB_DIR}/bweb
+fi
+install -m 644 -o root -g root  html/*.{js,png,css,gif,ico,html} ${WEB_DIR}/bweb
+
+echo " "
+echo "Please edit ${CONF_DIR}/bweb.conf and ensure that all the paths to"
+echo "  the various programs and files such as bconsole, bconsole.conf"
+echo "  are correct, and that the DBI driver is correct (default mysql)"
+echo "  and has the right password for your DB"
+echo " "
+echo "You have to load sql scripts (in bweb/script) to your database with"
+echo "  something like :"
+echo "   root# mysql bacula < script/bweb-mysql.sql"
+echo "  or"
+echo "   postgres# echo 'CREATE PROCEDURAL LANGUAGE plpgsql;' | psql bacula"
+echo "   postgres# psql -U bacula -P passwd < script/bweb/bweb-postgresql.sql"
+echo " "
 
 # done !