123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #!/bin/bash
- # Linux installation script to be used inside packages (deb, rmp)
- # or launched manually with the appropriate variables set...
- #
- # $Id$
- #
- #set -v
- if [ "_$_ITOP_SYSCONFDIR_" = "_" ]; then
- _ITOP_SYSCONFDIR_="/etc"
- fi
- if [ "_$_ITOP_VARDIR_" = "_" ]; then
- _ITOP_VARDIR_="/var"
- fi
- if [ "_$_ITOP_NAME_" = "_" ]; then
- _ITOP_NAME_="itop-itsm"
- fi
- if [ "_$PREFIX" != "_" ]; then
- local=${HEAD}$PREFIX
- sublocal=$PREFIX
- conf=${HEAD}$_ITOP_SYSCONFDIR_/$_ITOP_NAME_
- subconf=$_ITOP_SYSCONFDIR_/$_ITOP_NAME_
- var=${HEAD}$_ITOP_VARDIR_
- subvar=$_ITOP_VARDIR_
- webconf=${HEAD}$_ITOP_WEBCONFDIR_
- subwebconf=$_ITOP_WEBCONFDIR_
- else
- local=/usr/local
- sublocal=$local
- conf=$local/$_ITOP_SYSCONFDIR_
- subconf=$conf
- var=$local/$_ITOP_VARDIR_
- subvar=$var
- webconf=$local/$_ITOP_WEBCONFDIR_
- subwebconf=$_ITOP_WEBCONFDIR_
- fi
- if [ "_$_ITOP_WEBCONFDIR_" = "_" ]; then
- _ITOP_WEBCONFDIR_="$conf/../httpd"
- if [ ! -d $_ITOP_WEBCONFDIR_ ]; then
- exit "Please define a valid _ITOP_WEBCONFDIR_ variable"
- fi
- fi
- # Define additional dirs
- if [ _"$_ITOP_LOGDIR_" = _"" ]; then
- _ITOP_LOGDIR_="$var/log/$_ITOP_NAME_"
- else
- _ITOP_LOGDIR_="${HEAD}$_ITOP_LOGDIR_"
- fi
- if [ _"$_ITOP_VARLIBDIR_" = _"" ]; then
- _ITOP_VARLIBDIR_="$var/lib/$_ITOP_NAME_"
- else
- _ITOP_VARLIBDIR_="${HEAD}$_ITOP_VARLIBDIR_"
- fi
- if [ _"$_ITOP_DATADIR_" = _"" ]; then
- _ITOP_DATADIR_="$local/share/$_ITOP_NAME_"
- else
- _ITOP_DATADIR_="${HEAD}$_ITOP_DATADIR_"
- fi
- # From now on Variables are correctly setup, just use them
- #
- echo "$_ITOP_NAME_ will be installed under $_ITOP_DATADIR_"
- echo "Creating target directories ..."
- for d in production test toolkit; do
- install -m 755 -d $conf/$d $_ITOP_VARLIBDIR_/env-$d
- done
- install -m 755 -d $_ITOP_DATADIR_ $_ITOP_LOGDIR_ "$_ITOP_VARLIBDIR_/data"
- echo "Copying files ..."
- cp -a ./web/* $_ITOP_DATADIR_
- echo "Fixing line endings in LICENSE and README files"
- sed -i -e "s/\r$//g" ./LICENSE ./README
- echo "Creating symlinks..."
- (cd $_ITOP_DATADIR_ ; \
- ln -s $subconf conf ;\
- ln -s $subvar/log/$_ITOP_NAME_ log ;\
- ln -s $subvar/lib/$_ITOP_NAME_/env-production env-production ;\
- ln -s $subvar/lib/$_ITOP_NAME_/env-test env-test ;\
- ln -s $subvar/lib/$_ITOP_NAME_/data data ;\
- )
- (cd $_ITOP_VARLIBDIR_ ; ln -s $sublocal/share/$_ITOP_NAME_/approot.inc.php approot.inc.php)
- if [ _"$HEAD" != _"" ]; then
- echo Creating $webconf/conf.d, $conf/../cron.d and $conf/../logrotate.d directories
- install -m 755 -d $webconf/conf.d $conf/../cron.d $conf/../logrotate.d
- fi
- # Substitute variables for templates
- sed -e "s~_ITOP_NAME_~$_ITOP_NAME_~g" -e "s~_ITOP_SYSCONFDIR_~$subconf~g" -e "s~_ITOP_DATADIR_~$sublocal/share~g" -e "s~_ITOP_LOGDIR_~$subvar/log~g" ./web/setup/install/apache.conf.tpl > $webconf/conf.d/$_ITOP_NAME_.conf
- sed -e "s~_ITOP_NAME_~$_ITOP_NAME_~g" -e "s~_ITOP_SYSCONFDIR_~$subconf~g" -e "s~_ITOP_DATADIR_~$sublocal/share~g" -e "s~_ITOP_LOGDIR_~$subvar/log~g" ./web/setup/install/cron.tpl > $conf/../cron.d/$_ITOP_NAME_
- sed -e "s~_ITOP_NAME_~$_ITOP_NAME_~g" -e "s~_ITOP_SYSCONFDIR_~$subconf~g" -e "s~_ITOP_DATADIR_~$sublocal/share~g" -e "s~_ITOP_LOGDIR_~$subvar/log~g" ./web/setup/install/logrotate.tpl > $conf/../logrotate.d/$_ITOP_NAME_
- chmod 644 $webconf/conf.d/$_ITOP_NAME_.conf $conf/../cron.d/$_ITOP_NAME_ $conf/../logrotate.d/$_ITOP_NAME_
- exit 0
|