Показать сообщение отдельно
Старый 07.03.2009, 00:15     # 19
Plague
Administrator
 
Аватар для Plague
 
Регистрация: 06.05.2003
Адрес: Московская Подводная Лодка
Пол: Male
Сообщения: 12 059

Plague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague Демиург
Plague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague ДемиургPlague Демиург
скрипт старта smtp я брал отсюда:
http://qmail.jms1.net/scripts/servic...mtpd-run.shtml
ну, естественно немного пути подрихтовал в соответствии со своим расположением взаимосвязанных сервисов:
Код:
#!/bin/sh
exec 2>&1
VQ="/var/qmail"
PATH="$VQ/bin:/usr/local/bin:/usr/bin:/bin"
QUSER=qmaild
LOCAL=`head -1 $VQ/control/me`
IP=0.0.0.0
PORT=25
SSL=0
SSL_CERT="$VQ/control/servercert.pem"
SMTP_CDB="/usr/local/vpopmail/etc/tcp.smtp.cdb"
MAX=30
SMTPD="qmail-smtpd"
FORCE_TLS=0
DENY_TLS=0
MFCHECK=3
QMAILSMTPD_LOG_MAIL=1
QMAILSMTPD_LOG_RCPT=1
AUTH=1
REQUIRE_AUTH=1
ALLOW_INSECURE_AUTH=0
CHECKPW="/usr/local/vpopmail/bin/vchkpw"
TRUE=`which true`
VALIDRCPTTO_CDB="$VQ/control/validrcptto.cdb"
VALIDRCPTTO_LIMIT=10
VALIDRCPTTO_LOG=2
SPFBEHAVIOR=3
SPF_LOG=1
SPF_BLOCK_PLUS_ALL=1
NOP0FCHECK=1
QDUID=`id -u $QUSER`
QDGID=`id -g $QUSER`
if [ -z "$IP" -o "$IP" = "unset" ]
then
	echo "The IP variable is not set in the run script. Cannot start."
	sleep 5
	exit 1
fi
if [ -z "$QDUID" -o -z "$QDGID" -o -z "$MAX" -o -z "$LOCAL" \
	-o -z "$SSL" -o -z "$AUTH" ]
then
	echo "One of the variables QDUID, QDGID, MAX, LOCAL, SSL, or AUTH"
	echo "is not set in the run script. Cannot start."
	sleep 5
	exit 1
fi
if [ ! -f $VQ/control/rcpthosts ]
then
	echo Creating emtpy $VQ/control/rcpthosts file to prevent open relay.
	touch $VQ/control/rcpthosts
	chmod 644 $VQ/control/rcpthosts
fi
if [ -f $VQ/bin/qmail-scanner-queue ]
then
	export QMAILQUEUE=$VQ/bin/qmail-scanner-queue
elif [ -f $VQ/bin/qmail-scanner-queue.pl ]
then
	export QMAILQUEUE=$VQ/bin/qmail-scanner-queue.pl
elif [ -f $VQ/bin/qmail-spamassassin -a -f /usr/bin/spamassassin ]
then
	export QMAILQUEUE=$VQ/bin/qmail-spamassassin
fi
if [ "$SSL" = "1" ]
then
	if ! which sslserver > /dev/null 2>&1
	then
		echo ERROR: sslserver not found in PATH [$PATH]
		exit 1
	fi
	if [ ! -f $SSL_CERT ]
	then
		echo ERROR: $SSL_CERT does not exist
		exit 1
	fi
	export CERTFILE=${SSL_CERT}
	export KEYFILE=""
	export DHFILE=""
	SCMD="sslserver -e"
else
	if [ -n "$SSL_CERT" ]
	then
		export TLS_SERVER_CERT=${SSL_CERT}
	fi
	SCMD="tcpserver"
fi
if [ "$IP" = "127.0.0.1" ]
then
	export RELAYCLIENT=""
	RBLSMTPD_PROG=""
	ACMD=""
elif [ -z "${SMTP_CDB:-}" ]
then
	ACMD=""
else
	if [ ! -f "$SMTP_CDB" ]
	then
		echo ERROR: $SMTP_CDB does not exist
		exit 1
	fi
	ACMD="-x $SMTP_CDB"
fi
if [ "$AUTH" = "1" ]
then
	if [ -n "$AUTH_CDB" ]
	then
		if [ ! -f $AUTH_CDB ]
		then
			echo ERROR: AUTH_CDB file [$AUTH_CDB] does not exist
			exit 1
		fi
		export AUTH_CDB
		ARGS=""
	elif [ -n "$CHECKPW" ]
	then
		if [ ! -f $CHECKPW ]
		then
			echo ERROR: $CHECKPW [$CHECKPW] program does not exist
			exit 1
		fi
		if [ -z "$LOCAL" ]
		then
			echo ERROR: LOCAL is not set in the run script
			exit 1
		elif [ -z "$TRUE" ]
		then
			echo ERROR: TRUE is not set in the run script
			exit 1
		elif [ ! -e $TRUE ]
		then
			echo ERROR: $TRUE [$TRUE] is not an executable
			exit 1
		fi
		ARGS=" $LOCAL $CHECKPW $TRUE"
	else
		echo ERROR: AUTH=1 but no AUTH_CDB or CHECKPW
		exit 1
	fi
else
	ARGS=""
	AUTH_CDB=""
fi
RBLCMD=""
if [ -n "$RBLSMTPD_PROG" ]
then
	if [ -n "$RBL_GOOD" ]
	then
		for name in $RBL_GOOD
		do
			RBLCMD="$RBLCMD -a $name"
		done
	fi
	if [ -n "$RBL_BAD" ]
	then
		for name in $RBL_BAD
		do
			RBLCMD="$RBLCMD -r $name"
		done
	fi
	if [ -n "$RBLCMD" ]
	then
		RBLCMD="$RBLSMTPD_PROG -t0 $RBLCMD"
	fi
fi
if [ "$DOMAINKEYS" = "1" ]
then
	if [ -f "$VQ/bin/qmail-dk" ]
	then
		if [ -n "$QMAILQUEUE" ]
		then
			export DKQUEUE="$QMAILQUEUE"
		fi
		export AUTH_UNSET_DKVERIFY=1
		export QMAILQUEUE="$VQ/bin/qmail-dk"
		if [ -n "$DKVERIFY" ] ; then export DKVERIFY ; fi
		if [ -n "$DKSIGN"   ] ; then export DKSIGN   ; fi
	else
		echo ERROR: $VQ/bin/qmail-dk not found, cannot use domainkeys
	fi
fi
if [ -z "$RECORDIO" ]
then
	RECORDIO=""
fi
if [ -z "$GREYLIST" ]
then
	GREYLIST=""
fi
for n in SSL					\
	MAXLOAD					\
	MAXCONNIP				\
	MAXCONNC				\
	DIEMSG					\
	DIEMSG_MAXLOAD				\
	DIEMSG_MAXCONNIP			\
	DIEMSG_MAXCONNC				\
	JGREYLIST_DIR				\
	JGREYLIST_NOREV				\
	JGREYLIST_BY_IP				\
	JGREYLIST_HOLDTIME			\
	JGREYLIST_LOG				\
	JGREYLIST_LOG_PID			\
	JGREYLIST_LOG_SMTP			\
	JGREYLIST_TIMEOUT			\
	JGREYLIST_LIMIT				\
	SMTPGREETING				\
	GREETDELAY				\
	DROP_PRE_GREET				\
	FORCE_TLS				\
	DENY_TLS				\
	MFCHECK					\
	MAXRCPT					\
	RELAYREJ				\
	QMAILSMTPD_LOG_MAIL			\
	QMAILSMTPD_LOG_RCPT			\
	QMAILSMTPD_HELP_VERSION			\
	REQUIRE_AUTH				\
	ALLOW_INSECURE_AUTH			\
	AUTH_CDB				\
	AUTH_SET_MFCHECK			\
	AUTH_SET_MAXRCPT			\
	AUTH_SET_DATABYTES			\
	AUTH_SET_SPFBEHAVIOR			\
	AUTH_SET_VALIDRCPTTO_LIMIT		\
	AUTH_SET_VALIDRCPTTO_LOG		\
	AUTH_SET_SPF_LOG			\
	AUTH_SET_RELAYREJ			\
	AUTH_SET_VALIDRCPTTO_CDB		\
	AUTH_SET_QMAILSMTPD_LOG_MAIL		\
	AUTH_SET_QMAILSMTPD_LOG_RCPT		\
	AUTH_SET_QMAILSMTPD_HELP_VERSION	\
	VALIDRCPTTO_CDB				\
	VALIDRCPTTO_LIMIT			\
	VALIDRCPTTO_LOG				\
	SPFBEHAVIOR				\
	SPF_LOG					\
	SPF_BLOCK_PLUS_ALL			\
	DKVERIFY				\
	AUTH_SET_DKSIGN				\
	QMAILQUEUE				\
	NOP0FCHECK				\
	SIMSCAN_DEBUG				\
	SIMSCAN_DEBUG_FILES
do
	# note: not 100% sure "eval" works under old-school /bin/sh
	eval "if [ -n \"\$$n\" ];then echo \"$n=\\\"\$$n\\\"\";export $n;fi"
done
CMD="$SCMD -vR -l $LOCAL -c $MAX -u $QDUID -g $QDGID $ACMD $IP $PORT"
CMD="$CMD $RBLCMD $GREYLIST $RECORDIO $SMTPD $ARGS"
echo "command-line: exec $CMD 2>&1"
exec $CMD 2>&1
echo ERROR: command did not run correctly
exit 1
кстати, после добавление в /var/qmail/control/locals
домена plague-freebsd.home - почта опять ходить перестает. странно. домен-то локальный.. возможно в том косяк и был.
с причинами отсылки репотров так пока и не разобрался..
в алиасах /var/qmail/alias все по старому: просто plague
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум!!!!
~~~~~~~~~~~~~~~~~~~~~~

The time has come it is quite clear, our antichrist is almost already here.
M.M.
Plague вне форума