install.sh 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. # Linux installation script to be used inside packages (deb, rmp)
  3. # or launched manually with the appropriate variables set...
  4. #
  5. # $Id$
  6. #
  7. #set -x
  8. if [ "_$_ITOP_SYSCONFDIR_" = "_" ]; then
  9. _ITOP_SYSCONFDIR_="/etc"
  10. fi
  11. if [ "_$_ITOP_VARDIR_" = "_" ]; then
  12. _ITOP_VARDIR_="/var"
  13. fi
  14. if [ "_$_ITOP_NAME_" = "_" ]; then
  15. _ITOP_NAME_="itop-itsm"
  16. fi
  17. if [ "_$PREFIX" != "_" ]; then
  18. local=${HEAD}$PREFIX
  19. sublocal=$PREFIX
  20. conf=${HEAD}$_ITOP_SYSCONFDIR_/$_ITOP_NAME_
  21. subconf=$_ITOP_SYSCONFDIR_/$_ITOP_NAME_
  22. var=${HEAD}$_ITOP_VARDIR_
  23. subvar=$_ITOP_VARDIR_
  24. else
  25. local=/usr/local
  26. sublocal=$local
  27. conf=$local/$_ITOP_SYSCONFDIR_
  28. subconf=$conf
  29. var=$local/$_ITOP_VARDIR_
  30. subvar=$var
  31. fi
  32. if [ "_$_ITOP_WEBCONFDIR_" = "_" ]; then
  33. _ITOP_WEBCONFDIR_="$conf/../httpd"
  34. if [ ! -d $_ITOP_WEBCONFDIR_ ]; then
  35. exit "Please define a valid _ITOP_WEBCONFDIR_ variable"
  36. fi
  37. fi
  38. # Define additional dirs
  39. if [ _"$_ITOP_LOGDIR_" = _"" ]; then
  40. _ITOP_LOGDIR_="$var/log/$_ITOP_NAME_"
  41. else
  42. _ITOP_LOGDIR_="${HEAD}$_ITOP_LOGDIR_"
  43. fi
  44. if [ _"$_ITOP_VARLIBDIR_" = _"" ]; then
  45. _ITOP_VARLIBDIR_="$var/lib/$_ITOP_NAME_"
  46. else
  47. _ITOP_VARLIBDIR_="${HEAD}$_ITOP_VARLIBDIR_"
  48. fi
  49. if [ _"$_ITOP_DATADIR_" = _"" ]; then
  50. _ITOP_DATADIR_="$local/share/$_ITOP_NAME_"
  51. else
  52. _ITOP_DATADIR_="${HEAD}$_ITOP_DATADIR_"
  53. fi
  54. # From now on Variables are correctly setup, just use them
  55. #
  56. echo "$_ITOP_NAME_ will be installed under $_ITOP_DATADIR_"
  57. echo "Creating target directories ..."
  58. for d in production test toolkit; do
  59. install -m 755 -d $conf/$d $_ITOP_VARLIBDIR_/env-$d
  60. done
  61. install -m 755 -d $_ITOP_DATADIR_ $_ITOP_LOGDIR_ "$_ITOP_VARLIBDIR_/data"
  62. echo "Copying files ..."
  63. cp -a ./web/* $_ITOP_DATADIR_
  64. echo "Creating symlinks..."
  65. (cd $_ITOP_DATADIR_ ; \
  66. ln -s $subconf conf ;\
  67. ln -s $subvar/log/$_ITOP_NAME_ log ;\
  68. ln -s $subvar/lib/$_ITOP_NAME_/env-production env-production ;\
  69. ln -s $subvar/lib/$_ITOP_NAME_/env-test env-test ;\
  70. ln -s $subvar/lib/$_ITOP_NAME_/data data ;\
  71. )
  72. (cd $_ITOP_VARLIBDIR_ ; ln -s $sublocal/share/$_ITOP_NAME_/approot.inc.php approot.inc.php)
  73. if [ _"$HEAD" != _"" ]; then
  74. install -m 755 -d $_ITOP_WEBCONFDIR_/conf.d $conf/../cron.d
  75. fi
  76. # Substitute variables for templates
  77. sed -e "s~_ITOP_NAME_~$_ITOP_NAME_~g" -e "s~_ITOP_SYSCONFDIR_~$conf~g" -e "s~_ITOP_DATADIR_~$sublocal/share~g" -e "s~_ITOP_LOGDIR_~$subvar/log~g" ./web/setup/install/apache.conf.tpl > $_ITOP_WEBCONFDIR_/conf.d/$_ITOP_NAME_.conf
  78. sed -e "s~_ITOP_NAME_~$_ITOP_NAME_~g" -e "s~_ITOP_SYSCONFDIR_~$conf~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_
  79. chmod 644 $_ITOP_WEBCONFDIR_/conf.d/$_ITOP_NAME_.conf $conf/../cron.d/$_ITOP_NAME_
  80. exit 0