install.inc 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash
  2. hestia_module_spamassassin_install() {
  3. source $HESTIA/bin/module/func.inc
  4. module_installed=$(hestia_module_isinstalled antispam)
  5. if [ "$module_installed" ] && [ ! "$param_force" ]; then
  6. echo "Antispam module is already installed. See 'hestia module info antispam'."
  7. exit 1
  8. fi
  9. echo "Installing Antispam (SpamAssassin) module..."
  10. osal_service_stop $OSAL_SERVICE_SPAMASSASSIN > /dev/null 2>&1
  11. hestia_config_backup 'spamassassin-install' $OSAL_PATH_SPAMASSASSIN_CONF
  12. osal_package_preinstall
  13. osal_package_install $OSAL_PKG_SPAMASSASSIN
  14. if [ $OS_BASE = 'debian' ]; then
  15. sed -i "s/ENABLED=0/ENABLED=1/" /etc/default/spamassassin
  16. unit_files="$(systemctl list-unit-files |grep spamassassin)"
  17. if [[ "$unit_files" =~ "disabled" ]]; then
  18. systemctl enable spamassassin > /dev/null 2>&1
  19. fi
  20. elif [ $OS_BASE = 'rhel' ]; then
  21. # Set SpamAssassin to listen on IPv4 localhost
  22. spamd_options=$(osal_kv_read '/etc/sysconfig/spamassassin' 'SPAMDOPTIONS')
  23. spamd_options="$spamd_options --listen-ip=127.0.0.1"
  24. osal_kv_write '/etc/sysconfig/spamassassin' 'SPAMDOPTIONS' "$spamd_options"
  25. fi
  26. osal_service_enable $OSAL_SERVICE_SPAMASSASSIN > /dev/null 2>&1
  27. osal_service_start $OSAL_SERVICE_SPAMASSASSIN > /dev/null 2>&1
  28. check_result $? "SpamAssassin start failed"
  29. osal_kv_write $HESTIA/conf/hestia.conf 'ANTISPAM_SYSTEM' 'spamassassin'
  30. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'installed' '1'
  31. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'description' 'Hestia Antispam (SpamAssassin) module'
  32. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'enabled' '1'
  33. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'variant' 'spamassassin'
  34. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'version' '1'
  35. osal_kv_write $HESTIA_CONF_MODULES/antispam.conf 'service_name' $OSAL_SERVICE_SPAMASSASSIN
  36. exim_installed=$(hestia_module_variant_installed 'mta' 'exim')
  37. if [ "$exim_installed" ]; then
  38. $BIN/hestia module spamassassin exim-integration enable
  39. fi
  40. }