summaryrefslogtreecommitdiffstats
path: root/postfix_wizard/scripts/postfix_do_it.sh
diff options
context:
space:
mode:
Diffstat (limited to 'postfix_wizard/scripts/postfix_do_it.sh')
-rwxr-xr-xpostfix_wizard/scripts/postfix_do_it.sh103
1 files changed, 103 insertions, 0 deletions
diff --git a/postfix_wizard/scripts/postfix_do_it.sh b/postfix_wizard/scripts/postfix_do_it.sh
new file mode 100755
index 00000000..1fbaffd9
--- /dev/null
+++ b/postfix_wizard/scripts/postfix_do_it.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+#
+# Wizard
+#
+# Copyright (C) 2000 Mandrakesoft.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# See file LICENSE for further informations on licensing terms.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Authors: Jerome Dumonteil, Maurizio De Cecco, Enzo Maggi
+# icons: Helene Durosini <ln@mandrakesoft.com>
+# <corporate@mandrakesoft.com> http://www.mandrakesoft.com
+
+# script for wizard network configuration
+#
+# install default postfix configuration for server
+# assuming all dependencies are ok
+
+
+echo_debug "now applying configuration for postfix"
+
+[ -d /etc/postfix ] || exit 1
+
+# first loading values
+. /etc/sysconfig/network
+
+# loading values from /etc/sysconfig/mdk_serv
+# wiz_host_name and wiz_domain_name
+wiz_host_name=`get_var wiz_host_name`
+wiz_domain_name=`get_var wiz_domain_name`
+
+wiz_device=`get_var wiz_device`
+
+
+file="/etc/sysconfig/network-scripts/ifcfg-${wiz_device}"
+echo_debug "device config : ${file}"
+[ -f ${file} ] || exit 1
+. ${file}
+
+# store the wiz_mail variable
+cfg_file=/etc/sysconfig/mdk_serv
+echo_debug "wiz_mail_masquerade ${wiz_mail_masquerade}"
+chg_val ${cfg_file} wiz_ext_mail_relay "${wiz_ext_mail_relay}" s
+chg_val ${cfg_file} wiz_mail_masquerade "${wiz_mail_masquerade}" s
+
+bck_file /etc/postfix/aliases
+bck_file /etc/postfix/canonical
+bck_file /etc/postfix/main.cf
+bck_file /etc/postfix/master.cf
+bck_file /etc/postfix/virtual
+
+# now configuring
+
+postconf -e "myhostname = ${wiz_host_name}"
+postconf -e 'myorigin = $mydomain'
+postconf -e 'inet_interfaces = all'
+postconf -e 'mydestination = $myhostname, localhost.$mydomain, $mydomain'
+
+if [ -n "${wiz_ext_mail_relay}" ]; then
+ postconf -e "relayhost = ${wiz_ext_mail_relay}"
+fi
+
+postconf -e 'masquerade_domains = $mydomain'
+
+postconf -e 'alias_maps = hash:/etc/postfix/aliases'
+postconf -e 'alias_database = hash:/etc/postfix/aliases'
+
+postconf -e 'virtual_maps = hash:/etc/postfix/virtual'
+postconf -e 'canonical_maps = hash:/etc/postfix/canonical'
+
+if [ -n "${wiz_mail_masquerade}" ]; then
+ if [ ! `grep "@${wiz_domain_name} @${wiz_mail_masquerade}" /etc/postfix/canonical` ]; then
+ echo "@${wiz_domain_name} @${wiz_mail_masquerade}" >> /etc/postfix/canonical
+ fi
+fi
+
+echo_debug "rebuilding hash"
+
+postmap /etc/postfix/canonical
+postmap /etc/postfix/virtual
+postalias /etc/postfix/aliases
+
+postfix check
+
+echo_debug "end of postfix configuration, restarting"
+
+service postfix restart
+service xinetd restart
+
+# all is ok
+exit 10