install.inc 2.0 KB

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