Browse Source

mail -> exim

Ernesto Nicolás Carrea 5 years ago
parent
commit
d344ed618c
4 changed files with 93 additions and 62 deletions
  1. 58 0
      bin/module/exim/install.inc
  2. 35 0
      bin/module/exim/remove.inc
  3. 0 36
      bin/module/mail/install.inc
  4. 0 26
      bin/module/mail/remove.inc

+ 58 - 0
bin/module/exim/install.inc

@@ -0,0 +1,58 @@
+#!/bin/sh
+
+hestia_module_exim_install() {
+    source $HESTIA/bin/module/func.inc
+
+    module_installed=$(hestia_module_isinstalled mta)
+    if [ "$module_installed" ] && [ ! "$param_force" ]; then
+        echo "MTA module is already installed. See 'hestia module info mta'."
+        exit 1
+    fi
+
+    echo "Installing MTA (Exim) module..."
+
+    osal_service_stop $OSAL_PKG_EXIM
+    hestia_config_backup 'exim-install' $OSAL_PATH_EXIM_CONF
+
+    osal_package_preinstall
+    osal_package_install $OSAL_PKG_EXIM $OSAL_PKG_EXIM_DAEMON
+
+    gpasswd -a $OSAL_USER_EXIM mail > /dev/null 2>&1
+    cp -f $HESTIA_INSTALL_DIR/exim/${OSAL_PKG_EXIM}.conf.template $OSAL_PATH_EXIM_CONF/
+    cp -f $HESTIA_INSTALL_DIR/exim/dnsbl.conf $OSAL_PATH_EXIM_CONF/
+    cp -f $HESTIA_INSTALL_DIR/exim/spam-blocks.conf $OSAL_PATH_EXIM_CONF/
+    touch $OSAL_PATH_EXIM_CONF/white-blocks.conf
+
+    if [ "$spamd" = 'yes' ]; then
+        sed -i "s/#SPAM/SPAM/g" /etc/exim4/exim4.conf.template
+    fi
+    if [ "$clamd" = 'yes' ]; then
+        sed -i "s/#CLAMD/CLAMD/g" /etc/exim4/exim4.conf.template
+    fi
+
+    chmod 640 $OSAL_PATH_EXIM_CONF/${OSAL_PKG_EXIM}.conf.template
+    rm -rf $OSAL_PATH_EXIM_CONF/domains
+    mkdir -p $OSAL_PATH_EXIM_CONF/domains
+
+    rm -f /etc/alternatives/mta
+    ln -s /usr/sbin/$OSAL_PKG_EXIM /etc/alternatives/mta
+    
+    osal_service_stop sendmail
+    osal_service_disable sendmail
+    osal_service_stop postfix
+    osal_service_disable postfix
+
+    osal_service_enable $OSAL_PKG_EXIM
+    osal_service_start $OSAL_PKG_EXIM
+    check_result $? "Exim start failed"
+
+    osal_kv_write $HESTIA/conf/hestia.conf 'MAIL_SYSTEM' 'exim'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'installed' '1'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'description' 'Hestia MTA (Exim) module'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'enabled' '1'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'variant' 'exim'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'version' '1'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'service_name' $OSAL_PKG_EXIM
+
+    exit 0
+}

+ 35 - 0
bin/module/exim/remove.inc

@@ -0,0 +1,35 @@
+#!/bin/sh
+
+hestia_module_exim_remove() {
+    source $HESTIA/bin/module/func.inc
+
+    module_installed=$(hestia_module_isinstalled mta)
+    if [ ! "$module_installed" ] || [ "$param_force" ]; then
+        echo "MTA (Exim) module is not installed. See 'hestia module info mta'."
+        exit 1
+    fi
+
+    module_variant=$(hestia_module_getvariant mta)
+    if [ "$module_variant" != 'exim' ]; then
+        echo "The installed MTA module is not Exim. See 'hestia module info mta'."
+        exit 1
+    fi
+
+    echo "Removing MTA (Exim) module..."
+
+    osal_service_stop $OSAL_PKG_EXIM
+    osal_service_disable $OSAL_PKG_EXIM
+
+    hestia_config_backup 'exim-remove' $OSAL_PATH_EXIM_CONF
+
+    osal_package_remove $OSAL_PKG_EXIM $OSAL_PKG_EXIM_DAEMON
+
+    osal_kv_write $HESTIA/conf/hestia.conf 'MAIL_SYSTEM' 'no'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'installed' '0'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'description' ''
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'enabled' '0'
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'variant' ''
+    osal_kv_write $HESTIA_CONF_MODULES/mta.conf 'version' '0'
+
+    exit 0
+}

+ 0 - 36
bin/module/mail/install.inc

@@ -1,36 +0,0 @@
-#!/bin/sh
-
-hestia_module_vsftpd_install() {
-    source $HESTIA/bin/module/func.inc
-
-    module_installed=$(hestia_module_isinstalled mail)
-    if [ "$module_installed" ] && [ ! "$param_force" ]; then
-        echo "Mail module is already installed. See 'hestia module info mail'."
-        exit 1
-    fi
-
-    echo "Installing Mail module..."
-
-    osal_service_stop exim
-    osal_service_stop dovecot
-    #hestia_config_backup 'exim-install' $OSAL_PATH_VSFTPD_CONF/vsftpd.conf
-
-    #osal_package_preinstall
-    #osal_package_install vsftpd
-    #cp -f $HESTIA_INSTALL_DIR/vsftpd/vsftpd.conf $OSAL_PATH_VSFTPD_CONF/
-        
-    osal_service_enable exim
-    osal_service_start dovecot
-
-    check_result $? "vsftpd start failed"
-
-    #osal_kv_write $HESTIA/conf/hestia.conf 'FTP_SYSTEM' 'vsftpd'
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'installed' '1'
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'description' 'Hestia Mail module'
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'enabled' '1'
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'variant' ''
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'version' '1'
-    osal_kv_write $HESTIA_CONF_MODULES/ftp.conf 'service_name' 'exim dovecot'
-
-    exit 0
-}

+ 0 - 26
bin/module/mail/remove.inc

@@ -1,26 +0,0 @@
-#!/bin/sh
-
-hestia_module_vsftpd_remove() {
-    source $HESTIA/bin/module/func.inc
-
-    module_installed=$(hestia_module_isinstalled mail)
-    if [ ! "$module_installed" ] || [ "$param_force" ]; then
-        echo "Mail module is not installed. See 'hestia module info mail'."
-        exit 1
-    fi
-
-    echo "Removing Mail module..."
-
-    osal_service_stop exim
-    osal_service_disable dovecot
-    #osal_package_remove 
-
-    #osal_kv_write $HESTIA/conf/hestia.conf 'FTP_SYSTEM' 'no'
-    osal_kv_write $HESTIA_CONF_MODULES/mail.conf 'installed' '0'
-    osal_kv_write $HESTIA_CONF_MODULES/mail.conf 'description' ''
-    osal_kv_write $HESTIA_CONF_MODULES/mail.conf 'enabled' '0'
-    osal_kv_write $HESTIA_CONF_MODULES/mail.conf 'variant' ''
-    osal_kv_write $HESTIA_CONF_MODULES/mail.conf 'version' '0'
-
-    exit 0
-}